{
"$type": "site.standard.document",
"description": "It’s something that I think that I know but really don’t. I’m more of a backend kind of developer, but I feel it’s pretty necessary to learn about frontend development.\n\nI once used vanilla *[[JavaScript]]*, *CSS* and *HTML* for building sites, but I figured that this doesn’t scale well. Bundling and ES modules do help, but anything too involved wi\"...",
"path": "/Web-frontend",
"publishedAt": "2026-06-06T18:27:23.000Z",
"site": "at://did:plc:rfescy2ghdk6ma2wwwhr3bu2/site.standard.publication/3mktkmfk37k2g",
"textContent": "It’s something that I think that I know but really don’t. I’m more of a backend kind of developer, but I feel it’s pretty necessary to learn about frontend development.\n\nI once used vanilla *[[JavaScript]]*, *CSS* and *HTML* for building sites, but I figured that this doesn’t scale well. Bundling and ES modules do help, but anything too involved with UI interactions tends to fall apart. I’ve heard about web components, but I am yet to assess the usefulness of it.\n\n- *[atp-label-indexer](https://github.com/BunnyNabbit/atp-label-indexer)*, *[rayleigh-labels](https://github.com/BunnyNabbit/rayleigh-labels)*\n - Uses *[[Webpack]]* for bundling.\n - *JavaScript*.\n - Controller classes for managing interactive elements.\n - No server rendering. Single page application.\n* *[Voxel Telephone](https://github.com/BunnyNabbit/voxel-telephone)* (Web interface)\n * Uses *Astro* for its web framework.\n * Mixed. *TypeScript*, *JavaScript* and JSX syntax.\n * No client-sided logic.\n\nI’m figuring that most frontend code is to be bundled anyway. I should use *[[TypeScript]]* for future work.\n\nFor dynamic/static site generation, I use *[[Astro]]*. Not too certain about using it with client-side logic. Otherwise, I find projects to be perfectly maintainable with it. But for anything that is heavy on client-sided logic, I’m still uncertain about what to use.",
"title": "Web frontend"
}