What framework should I use? | Go Make Things
If you’re top priority is paid employment, right now, React is a great choice for that.
True. But…
If your priority is long-term resilience and maintainability, vanilla JS (probably with a light build process on top of it) is the ideal choice.
It will never become obsolete, or suffer from a breaking version change. It’s fast and performant, results in less code sent over the wire, and generally has a smaller footprint of things to break.
![What framework should I use? | Go Make Things](https://gomakethings.com/img/og.png)
Related links
Building a robust frontend using progressive enhancement - Service Manual - GOV.UK
Oh, how I wish that every team building for the web would use this sensible approach!
It’s about time I tried to explain what progressive enhancement actually is - Piccalilli
Progressive enhancement is a design and development principle where we build in layers which automatically turn themselves on based on the browser’s capabilities.
The idea of progressive enhancement is that everyone gets the perfect experience for them, rather than a pre-determined “perfect” experience from a design and development team.
An origin trial for a new HTML <permission> element | Blog | Chrome for Developers
This looks interesting. On the hand, it’s yet another proprietary creation by one browser vendor (boo!), but on the other hand it’s a declarative API with no JavaScript required (yay!).
Even if this particular feature doesn’t work out, I hope that this is the start of a trend for declarative access to browser features.
Your site or app should work as much as possible without JavaScript | Go Make Things
Photoshop in the browser? That needs JS.
But the reality is, most of what we build is either static HTML or mostly just forms and page reloads. We can build the web that way by default, and progressively enhance a more Ajaxy experience on top of it.
The result is an app that’s faster to load, faster to run, and less prone to breaking… without much additional work for your developers.
Related posts
Displaying HTML web components
You might want to use `display: contents` …maybe.
Schooltijd
Going back to school in Amsterdam.
Saving forms
A defensive enhancement to avoid losing everything you just typed into a textarea.
A polyfill for button type=”share”
Kicking the tyres on a declarative Web Share API.
A declarative Web Share API
button type=”share”