It is a known meme that software developers like to say “it depends”. Not to avoid giving an answer but more of an acknowledgement that some issues require nuance and context.
Yet, all that nuance gets thrown out the window when it comes time to discussing frontend tools and frameworks.
Something about HTML, CSS, React, Svelte, et al. brings a primitive nature in the software developer mind, which only accepts one and only one approach.
Does the following sound like a discussion you might have had recently?
Anything beyond HTML, CSS and tiny bits of JavaScript is bloat
Svelte is the ultimate framework, anyone using anything else is holding the industry back
React is the only viable alternative because of the unparalleled ecosystem
Frontend frameworks are dumb and they keep reinviting things we had 20 years ago
None of these takes is right or wrong. It depends on what you’re building and who you’re building with.
We use web development as a shorthand for many complex topics.
1- Maybe you’re in a large team, building a data-intensive application, with complex interactions, filters, drill-down, tables and charts.
2- Maybe you’re an e-commerce shop, you care about core-web-vitals, SEO and user-experience above all.
3- Maybe you’re a small team within a SaaS and you’re building a management dashboard that needs to handle complex plans, permissions and need fast iteration but you still need to support Internet Explorer.
4- Maybe you’re building a one-shot website with an artistic goal, you care about experimentation and cutting edge user-experience.
5- Maybe you’re a solopreneur and want to get your MVP in front of your first customer as fast as possible.
6- Maybe you’re library developer and you need to cater to the lowest common denominator
Our use-cases are as diverse as the tools we have available.
Saying that HTMx, Svelte or Vue is the best™️ way to write web applications, without taking the time examine what you’re building, the size and skills of your team and what the rest of your org looks like is useless.
Now say the line Bart!
PS: sorry for the clickbaity title