7 ms·
The State of JavaScript Frameworks, 2017
- youeseh 9y agoWhat about Svelte / Sapper? Too small to register?
- nasso 9y agoWhat about insert any of the other 40-thousand framworks? Probably too small to register, yes. Js has it's share of frameworks. There are alot of them...
- wppick 9y agoIt's a shame that Angular2/4 hasn't gotten more traction. It's really well designed in my opinion. People seem to be flocking onto the react train (possibly mindlessly). I found react to be quite lacking. I don't like redux and it's crazy indirection, and I haven't been able to find a way to handle forms in react that even comes close to angular2/4.
- cc81 9y agoNot specific for forms but have you looked at MobX instead of Redux? I think that is a better fit for most applications and you don't need so much boilerplate and diffrent thinking.
- abritinthebay 9y ago> I don't like redux and it's crazy indirection Can you explain this? There's very little indirection (if any) in Redux.
- acemarke 9y agoI'm a Redux maintainer, and both Dan Abramov and I would disagree. Describing behavior as plain object actions _is_ a form of indirection, compared to code that directly applies a state update. It's a tradeoff. Use of plain object actions takes some more code, but opens up the power of middleware and time travel debugging.
- abritinthebay 9y agoSurely that’s abstraction rather than indirection? Maybe you’re using it in a different context than I’m used to but I don’t see anything indirect about “call function that passes it’s result to another that updates the data”. Sure it’s not “update state directly” but that would make every pattern “indirect” which makes little sense. What you’re describing would make any MVP, pubsub, or observable system indirect. If so, well, fine - fair enough - but it still makes OPs complaint strange. (Thanks for all your work btw)
- acemarke 9y agoYeah, I'd agree that pubsub _is_ a form of indirection in and of itself. For comparison: state.counter += 1; vs store.dispatch({type : "INCREMENT_COUNTER"}); // counter slice reducer case "INCREMENT_COUNTER" : return state + 1; That's indirection, because we're no longer going in and modifying the state right there. So yes, any function call that encapsulates or abstracts behavior would be a small form of indirection, and the act of describing the event or desired update as an action rather than directly implementing it is definitely a form of indirection.
- abritinthebay 9y agoWell yes, ok, but as you said - that makes function calls technically indirection. So, as before, sure - that's fine, but it makes the original criticism a bit... strange.
- deleted 9y ago[deleted]
- chillax2 9y agoThe reactive form framework built into angular is everything I wish I had when working on an angularjs application. I'm working on a new project in angular and I'm very impressed with the built-in routing support. Also, I wasn't a big fan of using rxjs Observables everywhere at first, but they are now my favorite thing about writing javascript. I'm really looking forward to taking advantage of the service worker support as well.
- dbbk 9y agoI mostly use Ember and have been working with React recently. I'm kinda baffled that it's as popular as it is. Nothing works out of the box, it's an exercise in frustration trying to get an SSR app with asynchronous-data-loaded containers working. This all just works out of the box with Ember. I can't help but feel like it's only useful as a low-level primitive that is still lacking a "full stack" framework on top. Even Create React App, which is an official project for this purpose, falls way short of what apps need in 2018.
- chrisco255 9y agoThis works out of the box with Next.js (a React-based framework), which is published by Zeit, and has SSR, lazy loading, file structure based routing, etc all set up for you.
- robwormald 9y agoAngular core team here - unfortunately, this post ignores Angular 2+ entirely (its @angular/core on npm) - the numbers are only for AngularJS (1.x). We’ve reached out to the NPM team to get this corrected. See https://npm-stat.com/charts.html?package=%40angular%2Fcore&package=react&package=vue&package=angular&from=2017-05-01&to=2018-01-04 https://npm-stat.com/charts.html?package=%40angular%2Fcore&p...
- abritinthebay 9y agoI'm actually quite shocked at how dominant Backbone was. Granted it was when npm was less popular, but still... impressive. React dominating, as expected. Vue growing, which is nice. Angular and Ember both seem to hanging in there but it's clear they aren't where the community is interested. I think we all knew that, but it's nice to see numbers. Kind of sobering to see Angular and Ember are basically as popular as Backbone is tho. Of the two - Ember seems more healthy.
- simlevesque 9y agoI know that some frameworks were built upon backbone. You'd use frameworkX which would wrap Backbone. You wouldn't use Backbone directly.
- abritinthebay 9y agoThe biggest one being Marrionette but yeah, that’s likely a factor.
- damikiova 9y agoI really like riotjs.. very nice and practical..