4 ms·
Fully on board with this newer trend (Svelte also comes to mind) of using only native JavaScript language features to accomplish what other frameworks do using
by thebradbain 7y ago
Fully on board with this newer trend (Svelte also comes to mind) of using only native JavaScript language features to accomplish what other frameworks do using abstractions. It seems like the natural next step as JS matures, as it’s my opinion that old frameworks that made up for JS’s shortcomings by abstracting them away and designing around the language’s limitations are intrinsically unable to natively and sensibly integrate new native language constructs after the fact without somehow changing the core framework itself (e.g. Suspense to integrate async/await in React).
Angular and Ember eventually gave way to Vue and React once dealing with the framework over the language became too cumbersome, and I would imagine Vue and React will eventually give way to “lighter” frameworks once they too become too bloated.
- WiseWeasel 7y agoHow are React and Vue grouped together in that regard? More specifically, how is Vue less of a framework abstraction than Ember or Angular?
- thebradbain 7y agoIf I remember correctly, React and Vue started off as more view-layers than anything else, and popularized the idea of 1-way, isolated components. Angular and Ember had always been all-in-one-heavy frameworks with 2-way bindings by default, and “partials” similar to components but state was intrinsically shared in a MVC paradigm.
- pier25 7y agoVue in itself is just like React, a rendering library with reactivity. Vue also provides official batteries like Vuex and VueRouter but you do not really need those to use Vue.
- petilon 7y agoAgree. React started out simple, but now is over-complicated. Here's another tiny lib to use JSX in a native JavaScript application. https://github.com/wisercoder/uibuilder https://github.com/wisercoder/uibuilder Uibuilder is "close to the metal", so there is no heavy library--especially one that completely changes the programming model of the web--sitting between your code and the browser
- balls187 7y agoCan you elaborate on what makes React over-complicated?
- steve_adams_86 7y agoIn a way I feel it has become less complicated. I can do so much with hooks so easily using a dead simple API, for example. I write less code now than I ever did with react. Admittedly, react now comes with that API and the previous ways of doing things, and that could be seen as over complication.
- rajeev-k 7y agoI would like to demo a simpler alternative to Vue and React: manipulate DOM directly. I do it in this application: https://github.com/Rajeev-K/eureka https://github.com/Rajeev-K/eureka I find myself more productive coding directly against DOM APIs, using these tiny libs: MVC router (500 lines): https://github.com/Rajeev-K/mvc-router/ https://github.com/Rajeev-K/mvc-router/ JSX templating (200 lines): https://github.com/wisercoder/uibuilder https://github.com/wisercoder/uibuilder
- NetOpWibby 7y agoI’ve been passively looking for a better way to build the homepage for ChronVer and these links are right up my alley. Thanks!
- pjmlp 7y agoFrom my enterprise seat, Angular is pretty much everywhere, including greenfield projects.
- mpfundstein 7y agoOne more reason to stay away from enterprise seats..
- Vinnl 7y ago> Fully on board with this newer trend (Svelte also comes to mind) of using only native JavaScript language features to accomplish what other frameworks do using abstractions. Really weird to ascribe that to Svelte, given that it has its own compiler that introduces non-Javascript syntax...
- thebradbain 7y agoYou’re right it’s not a pure example, but this quote from its website is what makes me differentiate from React/Vue: > So we took a step back and asked ourselves what kind of API would work for us... and realised that the best API is no API at all. We can just use the language. Updating some count value — and all the things that depend on it — should be as simple as `count += 1` over `count.setState(count + 1)`