With this, you can create powerful web applications, with minimal dependencies and a working back button for browsers.
With this, you can create powerful web applications, with minimal dependencies and a working back button for browsers.
There are so many things to consider, as the original post shows. On top of that is:
- accessibility
- screen reader support
- testing
- usability
- animations/transitions can help and are another can of worms
- SEO
- consistent user elements -> interface components
- responsiveness
- performance
- minification
- lazy loading images
- optimizing images (eg serving a 200 kB webp/avif instead of a 5MB JPG)
- caching/scaling so your server doesn't go down when Hacker News/Reddit links to it
- hosting cost
- security
- CORS
- CSP
- forms
- validation
- feedback
- helping users fill it in correctly with as little friction as possible
- user content sanitization
- rate limiting
- licensing
- of the content you make
- images you use
- libraries you use
Your toolset might work for a simple website that nobody will visit, but if you actually care about providing the best experience you might want something more.Most of the others are a 2-3 npm installs away in the frontend, and a few are not used by extremely popular sites like archive.org, Wikipedia nor this very site.
As long as you are able to keep your requirements simple enough. I feel that it is not the tech stack that is getting complicated, it is the user and management expectations. For example, try building a web app like Google Docs, even a simple one, with Vanilla JS and CSS and other tech you mentioned. You can do it. But it will take you far longer than somebody who is not limited to this simpler stack.
The world of web has shifted.
The advantages offered by heavy frontend frameworks have to shrink over time as browser standards catch up.
The current deficiencies in the vanilla browser can mostly be mitigated with some simple web components. The ones that can't are things like date input, file uploads, lack of styling for many of the native elements, etc.