exiguus 6 days ago

I agree that allowing yourself to forgo learning another library or build system is valid, particularly when you're working on a project alone. However, I disagree with reverting to 2009 standards for HTML, CSS, and JavaScript.

Instead, you can adopt 2025 standards, including Web Components, JavaScript and CSS modules, and modern JavaScript (ECMAScript 2022, also known as ES13, and even ES15). Additionally, CSS Level 3 features such as variables and container queries, along with WCAG 2.2 guidelines, are all widely supported by the latest browsers.

2
simonw 6 days ago

Completely agree with you - by "code like it's 2009" I meant writing HTML directly without a build script. I love using the most modern versions of the various web platform components.

soulofmischief 6 days ago

I've been using web components liberally in my side projects, but for more complex SPAs I still reach for mithril as a frontend lib because it just leads to simpler, more idiomatic code which can be linted better than huge html strings.

Web Components definitely have their thorns, as well as the shadow DOM. They're still a lot more capable than people give them credit for. Nested CSS has also been great, but I still reach for SCSS because nested CSS is still missing a few syntactical goodies. However, LLMs really bridge the gap and allow me to quickly write decent small web components without worrying too much about the internals.

exiguus 6 days ago

In my professional role, I primarily work with Next.js, React, Vue, Golang, Rust, and various AWS technologies. These tools help address common software engineering challenges such as scalability, maintainability, and compatibility. Consequently, I prefer to adhere to native standards in my personal and side projects.

For web components, I utilize Lit for its syntactic sugar and because I appreciate the decorator approach. Since browser compatibility is typically not an issue in these projects, I leverage native CSS 3 features and avoid using SCSS as a polyfill for nesting, variables, and maintaining DRY principles.

I haven't heard of Mithril before. Thanks for sharing!