I think it would be best if he described what he meant by scalability. I think he meant in terms of team scalability. Since it is the most frameworky it has fewer design decision by your team and devs are more interchangeable. Of course you have to get past the learning curve for that to be true.
A nice article but neither. The future of the web are webcomponents.
So today react/vue - after all they are component frameworks, but tommorow Polymer/Angular2 (or other native web component library) which already has most of its polyfills supported natively in browsers.
ING Banking, USAToday(gannet), Youtube, Salesforce, Slack, General Electric, Electronic Arts, Coca Cola, and Google obviously - are all going web standards route - so they use web components.
In the end it will the the fastest solution and the smallest as the core of it is part of w3c standards. Even chrome UI is powered by polymer.
Which part of the chrome UI? I think you mean the builtin pages. I really don't look forward to the rewrite of the chrome://extensions builtin page, all of the evaluations have been very disappointing. Even the decent pages like the chrome://history page have regressed in some ways. For example, the line item three-dot menus don't even have hover states!
My gut says that React is perhaps the best choice if you're building your app as fully SPA and gonna go all-in on it. However I think the percent of overall web development this is appropriate for is perhaps 1-5% at mostly large companies and startups (hence its overrepresentation in mindshare). And I've seen a fair share of abortive "startups" with a mess of 20-40K Ember/React LOC that could just as well have been traditional 500 LOC Rails/Phoenix app; burning through their last $$ trying to build based on buzzwords rather than focusing on deliverables/UX.
Whereas Vue is like the best of React/Angular 1.x, done right for the vast long tail of smaller projects that are still mostly traditional request/response, but need a bit of data-bind/XHR/websocket syncing JS into the DOM. Vue is extremely easy to drop into an existing project and use where needed, get's out of the way otherwise, and lets you have HTML/Slim/Haml still easily comprehensible/editable to your average front end designer.
I'd toss in Rivets.js too, although Vue has perhaps mostly obsoleted it, it's still sometimes handy for the most lightweight data-binding situations, which again I would argue are far more common problems for your average webdev than "spend 6-7 figures building a full SPA"
The big question is: Which one should one choose if the main goal is to have a single code base to work across as many platforms as possible?
As an example, I'm on the verge of starting the development of a SASS application that I would like to make available on the browser but also as a "native" app on Android and iOS.
Assuming the browser version is a must-have, you could give Cordova a shot (and Ionic on top of that if you're okay with Angular 2 and TypeScript. I'm not, so for me it's Cordova + React).
If 'looking native' is important, you might have to add platform-specific styling, as well as a few misc. little things here and there (momentum scrolling, disallowing text selection where it doesn't make sense, etc.).
My experience has been that with relatively little work you can have an app that runs on web, iOS, Android and possibly other mobile devices. In my case these were relatively simple apps UI-wise though, so not a lot of animation and relatively basic interactions (tap, swipe).
The downsides are that making it appear fully native is probably a bunch of work (and perhaps not 100% possible), as well as the fact that you have all the drawbacks of running a mobile-browser-in-a-wrapper (battery duration? limited usage of native stuff? anyone else got some downsides to mention?).
But once you have time or money, you could then move to React-native and still reuse some of your browser-app code, API, etc., or of course you could then go the full mile and build separate native apps one at a time.
All the positive reaction to this makes me wonder if I'm reading the same article as the other commenters in here. Quite a few of the claims seem pretty baseless. For instance, what data supports the assertion that Angular dominates the Asian job market? Where has the React team made the claim that their framework is more testable than vue, and why does the author accept those claims? I would love to see some credible evidence in the mix...
I'd agree that Angular is the hardest to learn, very opinionated, and strongarms the developer into MVC, separation of concerns, modularity and Dependency Injection.
Which is why it's the one I choose to work with.
I'm a freelancer, so in the business of inheriting code.
One huge AngularJS draw back that wasn't mentioned is the new plan for a major version every 6 months. Given how messy the production release candidates were and how much was changed every release, I do not believe the industry has much confidence left in Google's promise to not make many breaking changes every release. Even if they were to do that many large companies would be hard pressed to find the labor to handle those few changes every few months.
I also believe there is a rift starting in the industry between fp and oo and typescript loses the sudo-fp features of JavaScript.
Tl;Dr: google lost our trust. Op likes react way more after years in angular.
My team was assigned to test react native and native script.
We found react native is able to meet our requirements.
Building the same application in nativescript however, we stopped within 2 weeks.
A simple application with 2 pages takes 5s to load on android. The CLI tool is buggy and there is no debug information provided at all if something goes wrong.
There is no community support either so if anything goes wrong, praying is your best approach.
Also due to the super poor community support, a ton of UI requirements couldn't be accomplished.
Overall I wouldn't recommend nativescript. It is 2 years away from where react native is currently.
If you cannot accept reacts patent issue, I recommend you look at xamarin or Cordova. Avoid nativescript, it's a complete waste of time at this moment
2 weeks ago. we contacted teleric and they have acknowledged that 2s app launch time is within parameters.
we have since stopped development with nativescript.
react native is able to launch a much more complex application within 180ms btw
22 comments
[ 0.27 ms ] story [ 78.1 ms ] threadStill a cool and very opinionated article.
Can it be done? Absolutely! Did it stop me from switching from React + Redux?
Nope!
So today react/vue - after all they are component frameworks, but tommorow Polymer/Angular2 (or other native web component library) which already has most of its polyfills supported natively in browsers.
ING Banking, USAToday(gannet), Youtube, Salesforce, Slack, General Electric, Electronic Arts, Coca Cola, and Google obviously - are all going web standards route - so they use web components.
In the end it will the the fastest solution and the smallest as the core of it is part of w3c standards. Even chrome UI is powered by polymer.
https://www.webcomponents.org/ has over 500 elements to pick from - its really great to build on top of that.
Whereas Vue is like the best of React/Angular 1.x, done right for the vast long tail of smaller projects that are still mostly traditional request/response, but need a bit of data-bind/XHR/websocket syncing JS into the DOM. Vue is extremely easy to drop into an existing project and use where needed, get's out of the way otherwise, and lets you have HTML/Slim/Haml still easily comprehensible/editable to your average front end designer.
I'd toss in Rivets.js too, although Vue has perhaps mostly obsoleted it, it's still sometimes handy for the most lightweight data-binding situations, which again I would argue are far more common problems for your average webdev than "spend 6-7 figures building a full SPA"
As an example, I'm on the verge of starting the development of a SASS application that I would like to make available on the browser but also as a "native" app on Android and iOS.
If 'looking native' is important, you might have to add platform-specific styling, as well as a few misc. little things here and there (momentum scrolling, disallowing text selection where it doesn't make sense, etc.).
My experience has been that with relatively little work you can have an app that runs on web, iOS, Android and possibly other mobile devices. In my case these were relatively simple apps UI-wise though, so not a lot of animation and relatively basic interactions (tap, swipe).
The downsides are that making it appear fully native is probably a bunch of work (and perhaps not 100% possible), as well as the fact that you have all the drawbacks of running a mobile-browser-in-a-wrapper (battery duration? limited usage of native stuff? anyone else got some downsides to mention?).
But once you have time or money, you could then move to React-native and still reuse some of your browser-app code, API, etc., or of course you could then go the full mile and build separate native apps one at a time.
I also believe there is a rift starting in the industry between fp and oo and typescript loses the sudo-fp features of JavaScript.
Tl;Dr: google lost our trust. Op likes react way more after years in angular.
So, the major version number update will really be a 'minor' update that is not expected to break backwards compatibility.
Wonder where this comes from ?
Ionic 2. Clearly. since it is webview. but nativescript doesn't make any sense.
Nativescript performance should be in the range of react native if not higher.
Overall I wouldn't recommend nativescript. It is 2 years away from where react native is currently.
If you cannot accept reacts patent issue, I recommend you look at xamarin or Cordova. Avoid nativescript, it's a complete waste of time at this moment
react native is able to launch a much more complex application within 180ms btw
Is there any example of this? specially the spaghetti code part.