What I liked about Vue was that it was a simple view library. Yeah, there it goes.
There seems to be a hatred towards simple tools in our generation that I can't fathom
What I liked about Vue was that it was a simple view library. Yeah, there it goes.
There seems to be a hatred towards simple tools in our generation that I can't fathom
Generation has nothing to do with it, but trends have everything to do with complexity and constant change.
Every generation has a couple of people earning their bread as enterprise architect.
There's no hatred here, I really think you're projecting.
And that's why frameworks exist. Because people want their overall environment to be simple (by means of having a properly integrated system) rather than individually simple tools.
This is effectively just systems theory 101. The complexity of a system is the result of the interaction of its parts, not just the sum of its parts taken in isolation.
I like the idea of it but for what I work on the CSP non-compliance is a deal breaker (their CSP compatible build is not ready and you lose most of the alpine benefits).
https://alpinejs.dev/advanced/csp
I think that Stimulus JS offers many of the same benefits and provides a nice abstraction for making one 'element' contain multiple behaviours.
https://docs.servicestack.net/api-explorer
Originally we started out with VanillaJS & hand-rolled MVC pattern however the productivity slowed as the App was getting larger, switching to petite-vue was a major productivity boost giving us a productive reactive UI, ability to componentize our App into modular components & resulted in the fastest UI we've seen in a client UI.
My go to for that would be lit-html. It's part of googles Lit thing, but lit-html is un-ashamedly just a view library. All it does is render dynamic html on the client side in 3.2kb.
For who is looking around for a simpler but effective alternative to Vue I'd recommend Svelte:
Then Vue itself became complex.
Now people recommend Svelte as an effective alternative to Vue's complexity.
Will Svelte remain simple?
It's not hard to see this constant cycle of "simplicity -> people need more -> complexity -> let's jump ship" if you're a web developer with more than a few winters. Every time there's a new simple library around the corner that makes reality so much easier to deal with, but it's mostly just hype speak and this simplicity never lasts for long.
Having said that, Vue has always been a framework and that’s what I liked about it. It’s analogous to Django in so many ways.
But framework and complex are not synonymous. I like well designed frameworks that let me get shit done without getting in the way. Vue is pretty close to that. Django is very close to that. If I could have Vue 2.x supporter permanently I would be happy. It lacked native forms support but router and VueX made it nearly perfect.
In practice they absolutely are. The average project using a popular batteries-included framework uses a fraction of it's functionality. Composing smaller libraries will always result in less lines of code running in production. Usually by an order of magnitude.
React has more mind-share and there are libraries for every feature imaginable, basically. But there is (or at least has been, historically) a lot of churn and fragmentation that is not suitable for all projects.
Angular and Ember sit at the other end of the spectrum – maybe you have all features nicely integrated but it can be hard to adapt such a big tool into a small, legacy, or otherwise non-standard project.
I think Vue occupies a nice middle ground here. There is a limited number of official libraries that more or less evolve together and cover most of what you need. But it's still totally feasible to just use the core runtime and call it a day if you don't need routing, state management, etc.
I do server-rendered React with Restify in my day job, but I don’t really need the complexity of a full frontend framework for my fun projects.
Especially with the components feature offered by Laravel’s Blade it usually takes a while before I really start reaching for JS.
If I was building something where the Django Admin Panel could be a huge advantage I’d use DRF instead, but overall for most small projects I like it less than Express.
Front End bloat doesn’t really matter when you’re just trying to get a prototype done as fast as possible.
If it has to be PWA style, Angular.
I have people bothering me about when things will be done. Something not great that plays nicely is preferable to something great that requires configuration in these scenarios.