4 ms·
Is anyone able to provide a map of modern frameworks? With React-native, React-redux, Angular, Vue and probably a bunch of others. I'm really not sure what's r
by yoloClin 6y ago
Is anyone able to provide a map of modern frameworks? With React-native, React-redux, Angular, Vue and probably a bunch of others.
I'm really not sure what's relevant now and what was relevant 6 months ago. I'm genuinely curious, but it's pretty difficult to grasp and no framework homepage is going to tell you "Don't use me, I'm about to be a dead project!" and every developer will tell you their preferred framework is the best framework.
- chadlavi 6y agoI can provide you with a short video clip of spaghetti falling through the air, it's functionally equivalent
- iarejenius 6y agoI don't know how often a project dies because it has planned obsolescence vs. people stop using and updating it, but for the latter case I think https://2019.stateofjs.com/ https://2019.stateofjs.com/ is pretty great.
- yoloClin 6y agoThanks, that's exactly what I want!
- nicoburns 6y agoReact, Angular, and Vue are the big 3 web frameworks. Of which React is still more popular than the others I believe, and it takes a slightly different approach. While Angular and Vue use string-templating DSLs to control rendering, React uses JSX which is a thin syntax sugar over JavaScript (and allows you to mix JavaScript in with it). React is also more functional. In practice I find this makes it more flexible, and easier to debug. Angular and Vue are very similar, but Vue has the reputation of being simpler while Angular is the Enterprise Java of the web view. There are a bunch of others that are less popular such as Ember, Svelte, and Inferno which are also decent in their own right, but the ecosystem of libraries around them is smaller. The most important libraries to know about in the React ecosystem are React-Router for routing, and either Redux or MobX for state management. There are other options, and for small apps you could get away without a state management library, but these are the mainstream options. I'm not super-up on the Angular/Vue ecosystems, but I believe they're more integrated (e.g. they provide more first-party libraries). Almost everyone who is using these frameworks is also using either Babel or TypeScript together with Webpack for bundling. There are other options for bundling such as Parcel and Rollup, and again it is possible to get away without bundling or transpiling if you really want to, but Webpack is still the mainstream option for applications (Rollup is well-suited to libraries). React-native is a different beast. It's a cross-platform mobile (and now desktop) framework rather than a web-based one. It uses React executed in a JavaScript VM to control rendering, but it renders native mobile UI toolkits. There are similar projects for Vue and Angular, but unlike the web versions which are competitive with React, they are nowhere near as mature. React-native's real competition for cross-platform mobile development is Flutter. Flutter is written using that Dart language, and takes a different to React-Native. Rather than compiling down to native UI widgets, it custom-renders everything. This makes it more reliable and consistent across platforms, but also more limited in what you can because you can't hook into the existing ecosystem of native ios/android libraries nearly so easily. My subjective view on this is that React-Native is just about on the cusp of reaching maturity, while Flutter doesn't quite seem to have enough momentum to reach the mainstream. Although I'd love to be proven wrong on that one.
- snazz 6y agoI don't think it's too common, but Vue does support JSX: https://vuejs.org/v2/guide/render-function.html https://vuejs.org/v2/guide/render-function.html
- yodon 6y ago"I can't figure out what will be relevant in six months" might have been a legitimate complaint a decade ago, but those days are long gone. React has been a core part of the front end ecosystem for almost 10 years. Angular is more than 10 years old. Vue is the "new kid" on the block at about six years old. React is roughly 10x more popular than Vue or Angular according to npm usage, has been far more popular in usage terms for many years, and continues to be growing faster than either Vue or Angular. Complaining you can't figure out if React or Angular or Vue will be relevant in six months is a bit like complaining you can't figure out if C++ or Java will be relevant in six months. Yes, there is lots of advancement happening in the front end space. Yes, that's a good thing. No, it's not an excuse to act like you're paralyzed to understand the current state.
- NocturnalWaffle 6y agoReact, almost 10 years? It was only open sourced 7 years ago and definitely took time to fully catch on..
- yodon 6y agoI'm truly amazed to still encounter "omg React is so new and unproven how can we possibly keep up with stuff like this?" posts. Next up: is no-sql just another fad or will it catch on?
- fenwick67 6y agoWho said that in this thread? (Nobody, they just pointed out you are wrong about the timeframe)
- preommr 6y agoOh, c'mon, that's a bit of a stretch. I was around in 2014, when angular 1 was starting to be a big thing. If you look at reactjs on google trends, react gets its first bump in 2014-15, and then another one around 2017. VueJs gets a huge jump in 2016-2017. --- Java has been around for decades, has had much fewer changes, and is entrenched in a lot of code. In comparison, react has gone through some big changes in a very short amount of time, and most people use it to build SPAs that aren't usually mission critical.