Heck, we even have a post staying on the front page today lamenting the inferiority of React.
Heck, we even have a post staying on the front page today lamenting the inferiority of React.
You can't do that with React. I can't even imagine what it would take to migrate some 2010-era J2EE enterprise app to React, but it certainly wouldn't be just dropping in a script tag and writing your new code more cleanly.
Which means that React can only be the product of choice for new development moving forward; and even then, given how complex it is, only some subset of apps are going to bother with it. Nobody ever said "this application is too simple to bother with jQuery," because jQuery helped even simple apps, but there are legitimately huge classes of apps for which React is just massive overkill.
>You can't do that with React.
You can. Other than React's rather hefty size, there's nothing stopping you. React is just a view layer, is unopinionated about how you get your data to it, and for rendering to a DOM needs nothing other than a DOM node to render into.
Try it out. You can have 100 different React components slowly eating your legacy app alive. You just gotta be smart about it.
They said _no fuss_.
Also, which is more of a personal opinion, but I've tried a lot of frameworks/libraries and React is the first one that really "clicked" with the way I work and design. I don't think it will "replace jQuery", but for modern single web application, I think React is the way to go. Or said differently, "Nobody will get fired for choosing React" ;)
While I believe you, I'm just curious how they are being used by Amazon or Apple. Do you have references about this?
That's a bit of an overstatement. At least three of those four are also shipping major Ember apps and investing heavily in that ecosystem. (The only one I don't know for sure is Amazon.)
This war talk is silly, and sort of akin to fanboyism that is often seen in stuff like video game consoles - lot of preaching & rhetoric, short on hard numbers and other meaningful metrics/facts.
I was referencing stuff like this: http://www.youtube.com/watch?v=eNC0mRYGWgc&t=8m18s
Then I started catching up on Angular 2 and TypeScript. It looks like the right mix between new and opinionated. I just don't have time to research a module for data, one for building, one for testing, and one for validation. That's where an opinionated framework comes in handy.
I do hope Angular 2 takes off.
Any other Angular people out there weighing in between React and Angular 2? If I were a betting man, I say it's going to come down to those two for the next few years.
It took me lots of time just to figure out to write a 'PROPER' react application. There are too many modules to choose from for routing, data acess etc..
Then I tried with Angular 2, it look me less time to get up and running with forms, routing and everything...
From the look of it, Aurelia seems promising, need to look into more before I need to comment anything.
Imho both are ok. What I did not like that much with React was that the virtual DOM did not play nice all the time (strange effects can happen if you place non VDOM aware widgets inside it) and if you not take special care (keys) then reconcilation can produce a messed up representation. These things seem less problematic in ng2.
An unexpected very pleasant surprise for me was using the dependency injection mechanism in ng2 - I did not expect it do be useful because I never used something like this before. But now if any sub-sub-subcomponent in my view needs access to a status I don't need to pass it all the way down through unrelated components via props (like in React) but can directly inject it only in the using component. I also had good experiences with MVVM architecture from other projects with other frameworks, so I am happily using this approach also in ng2. For the model component I'm using service objects which are encapsulating the current state, exposing it through observables and are injected into the component (viewmodel) through DI. What I like here is that I can bind the view directly to the observables from the model with the help of async pipes and thereby get an auto-updating behavior with zero boilerplate code.
Apart from that there are obviously the major differences - angular has an inbuilt router, React not. But still I wouldn't think of Angular2 as something highly opinionated, you still have lots of flexibility.
As I am a big fan of typescript a factor for me was also that ng2 is typescript-first and I don't have to rely on possibly incomplete or 3rd party type definitions. But that might be more of a political factor, the basic typescript support for react is also good (it can even check the types of props in JSX - which currently not possible for ng2 templates) but many 3rd party libraries don't seem to provide type definitions.
React is fundamentally different, but Aurelia (and its predecessor, Durandal) were always about making component-oriented apps.
Or to rephrase, No React has not won the frontend war in the way and scale that jQuery won the front end war. At one point something like over 50% of all new (at the time of its peak) web applications big and small included it? No. I mean jQuery actually really lost its stranglehold primarily because the browsers actually started incorporating most of its core ideas into themselves to a point where it wasn't 'necessary' anymore.
However as far as alpha geek mindshare, react has definitely overtaken everything else in the frontend world. At least from what I can tell.
Also a CRUD app that just grows organically needs a well-tuned architecture too, once it grows large enough.
React doesn't really let you write code this way easily. You will run into problems with the lifetime cycle. You will be constantly fighting the library. Angular on the other hand lets you write a basic CRUD app without having to worry about those things. It's friendlier for people new to development.
I'm not advocating for Angular, I very much dislike it and I exclusively write using React, I just think React too hard or too much for normal people.
https://www.google.com/trends/explore#q=reactjs%2C%20angular...
Having stated that I am trying to get up to speed on React in order to make a knowledgeable comparison to Angular 2. I've got friends who are way better JavaScript programmers than I am, ones with VC backed startups built with Angular 1, who are really struggling to learn Angular 2.
It took a few weeks to get decent with Angular, over a month to get productive with Ember, and about a few days to figure out React.
That trend line might be more indicative of Stack Overflow searches.
https://www.google.com/trends/explore#q=reactjs%2C%20angular...
React is overkill for a website. It is great for a web application. But your blog about recipes or hats for cats? You're just over-engineering at that point.