How Facebook's Instagram Acquisition Led to the Open Sourcing of React.js
stackshare.io
stackshare.io
Given how big of a part React plays in so many stacks and applications, React's origin sort of ironic considering one of the most famous criticisms of today's Silicon Valley -- "“The best minds of my generation are thinking about how to make people click ads" -- also comes from a former member of Facebook's Ads team, Jeff Hammerbacher.
They had a problem, a piece of technology was created to solve it, and then released to the world, and now many others are able to solve problems using the same technology. Seems like this is exactly how open source should work (license issues aside).
The fact that this all comes back to Ads highlights the importance of Ads in the software development ecosystem IMO.
Worth noting that Google and Facebook have contributed a ton of open source to the world and they’re both built on ads. Amazon and Apple on the other hand do far less open sourcing and their businesses don’t rely on ads. Not saying there’s causation, but does make you wonder why that’s the case.
Do you have the source for that? Personally, most of the modern targeted ads I notice are a net gain for my life. Do you have a different experience?
The main reason I've heard for using Angular 2 at my work is that it's made by Google, but it's not like they use it themselves. I don't see how that's a good reason. On the other hand React is being used in production right now by some of the biggest companies of the world.
I say I used React, because it's made by Facebook.
They say they use Angular, because it's made by Google.
Others say, they use Ember or Vue, because it ISN'T made by a single big corp.
In the end these reasons are often meaningless and don't have any effect on the users in their whole lifetime.
Lots of large companies are using Angular in production. From my experience, lots of smaller startups and a couple big companies are using react, but lots of enterprise apps and many former anuglar 1.x apps are now Angular 2+. It's fully production battle tested, even though we don't see it as much here.
I’m not sure why this myth about Google not using Angular keeps propagating - I have heard it powers over 70% of Google’s frontends straight from multiple members of the Angular team. The one time AngularJS had a broken release, Google halted to a standstill.
Pete Hunt did make a great point about React avoiding the Angular 2 fiasco, although for Angular, I feel they were caught between a rock and a hard place - it probably would not be nearly as strong now if it weren’t for that choice.
I have mostly enjoyed my time with Angular 2+, and I have mostly enjoyed my time with React. I think it’s worth avoiding being quick to judge on these things, especially when the differences aren’t currently extraordinarily meaningful for most cases. When my current team was evaluating choices, we settled on React for team developer ergonomics. For some teams, that may not be React. A couple years down the line, it may be something else.
Angular 2+ is "Angular"; Angular 1.x is "AngularJS"
People got bloody noses and red faced and the React ecosystem is a better place for it.
A lot of Google’s bigger products like gmail and maps predate Angular, though there are some products like the Google Cloud Platform Console that use it (https://console.cloud.google.com).
I work at Google (Cloud) but not on front end. All the front end SWEs I've talked to use Angular for their projects so we definitely do use it!
Amen
It's not just Angular, many libraries seem to be written by people without a significant investment in their own library. It might be to promote their own education material, their personal brand, or just for fun. That's fine of course, but the projects will probably not be as stable.
I got the same feeling many many years ago when I made the switch from PHP > Rails.
Edit: Why is this being down voted? shrug Must be 2 sad Ember devs... Badum PSSH
"I’m waiting for the day when the only way that you build UI, the only way you can build UI is with the React paradigm."
is scary.
In React a view is a function of state:
const Header = ({ color, children }) => <h1 style={{ color }}>{children}</h1>
// Gets transpiled into:
const Header = ({ color, children }) => createElement('h1', { style: { color } }, children)
<Header color="red">hello</Header>
A large part of my career was about XAML/WPF/SL. I know it took me a year or more to really understand it deeply, being able to extend and do everything i wanted. I came to the same state 60 minutes into React. The pattern behind it does make many things easier. And that is an understatement. I believe that's also the main reason Microsoft itself is betting on React for cross platform and native apps as well as extension eco systems:https://github.com/Microsoft/react-native-windows
TLDR React is not efficient enough, the performance requirements of next-gen apps of 2020s is going to break React because rendering is not incremental. These warts are basically places where React departs from pure functional programming to achieve ease of use.
1) Fundamental performance problem in render-tree-pruning (it is not truly reactive, it does more work than necessary). This is not an issue today except in the most sophisticated apps, but in apps of the 2020s it's going to be a huge problem. My startup http://hyperfiddle.net/ spends a great deal of energy trying to make React faster, it all boils down to forceUpdate which breaks the "functional programming" philosophy and makes the programming model significantly worse.
2) The solution to (1) is a reactive, spreadsheet-like programming model that generalizes to more than just the View-as-a-function, but also to the rest of the functions. React's solution injects fat "Component" instances everywhere in the view; its not actually just functions, so it breaks for the other expensive computations in the app, which will also need to be optimized in the 2020s.
https://github.com/slamdata/purescript-halogen is the best shot i know of at solving all this; it may be 5 more years yet until this is simplified enough to become mainstream, but all-in-all the ever increasing complexity of apps means truly efficient rendering is inevitable, and React is not that.
Apps are like moores law; every 1.5 years the sophistication doubles.
Just my 2 cents though.