I am surprised at all of the hate that Yahoo! is receiving for this, in the comments section of Hacker News (not surprisingly). This is great in my opinion, I think React.js is definitely the future of SPA's especially when combined with the Flux architecture. As someone who has been using React on a daily basis for the last few months, I have a severe man-crush on it. It just makes so much sense, combined with something like Browserify and working with a isomorphic workflow (shared codebase front and back-end).<p>And those who say Yahoo! are just jumping onboard the React hype train or Node.js hype train, you have it all wrong. Yahoo! have been using Node.js for the last few years, in-fact early 2010 is around the time Yahoo! engineers started playing with Node.js, long before it was considered mainstream cool or being used really in any high-profile scale environment.<p>It is rare that a company the size of Yahoo! truly ever embraces moving at this kind of pace and embracing new open source technologies, languages, frameworks and libraries. Now that Yahoo! have openly declared their use of React on such a large scale, expect it to explode even more so in 2015. For an open source project that is a little over a year old, React is getting the kind of user-base and adoption that most open source projects can only dream of having.<p>This news excites me. I honestly cannot wait to see how it all turns out.<p>PS. I have noticed a few people in the comments section getting confused. Yahoo! Mail is NOT using React just yet. The current mail product is still using YUI and plain HTML/Javascript. If you read through, it mentions 2015...
Why on Earth people who aren't merely enthusiasts of "cool async JavaScript with V8" or those who began as a webdevs and knows nothing better than JS and PHP, could choose a single-threaded solution, which blocks the whole app if a single function blocks, and forces programmers to write spaghetti wrappers around asynchronous call-back hells in a non-functional but GC'ed language?<p>I am really too stupid to get it. "Single language for a whole stack" is a pretty stupid Java-sque argument, a naive assumption that one single language is good for all kinds of tasks.
I've been a Javascript and Node skeptic for years now but I think the tide is finally turning. So much time and energy has been poured into making JS better that it's finally starting to pay off. Javascript with all the ES6 enhancements is really not a bad language. The runtime performance is already very good and continually getting better. Tools like Typescript and Flow make dealing with larger code bases much easier.<p>I don't think the other "scripting" languages like Ruby, Python, and PHP stand much of a chance against it in the longer term. They just don't have the resources to compete.
What an odd trend. First Netflix moves part of their infrastructure to Node (<a href="https://news.ycombinator.com/item?id=8631022" rel="nofollow">https://news.ycombinator.com/item?id=8631022</a>) and now Yahoo is doing something similar. Node.js is great but I don't think huge enterprise systems for some of the largest brands in the world are necessarily the best fit. I wish they'd provide some insights on why they're making that particular move.
Little bit off topic but is there anyone like me in community having a problem with liking javascript?<p>I have worked with javascript for years but it was always for DOM manipulation. When it comes to building an app with javascript, i feel like it is too fragile to depend on.<p>Anyone can help me to get rid of this feeling?
I see a ton of discussion about the NodeJS decision and almost nothing about the more interesting industry paradigm shift to reactive programming and using functional-style programming in an imperative language.<p>They're joining the likes of Facebook, Netflix, Square, Microsoft, Instagram, Khan Academy, SoundCloud, Trello, New York Times, and others in adopting reactive extensions.
Yahoo's React/Flux projects mentioned at the end are intriguing. I have tried implementing Flux architecture in an app and found it really tedious and boilerplatey. I'm still looking out for well-implemented Flux dispatcher libraries.<p><a href="https://github.com/yahoo/dispatchr" rel="nofollow">https://github.com/yahoo/dispatchr</a><p><a href="https://github.com/yahoo/routr" rel="nofollow">https://github.com/yahoo/routr</a><p><a href="https://github.com/yahoo/flux-router-component" rel="nofollow">https://github.com/yahoo/flux-router-component</a>
Here's the associated Yahoo Engineering blog post that goes with the slides.
<a href="http://yahooeng.tumblr.com/post/101682875656/evolving-yahoo-mail" rel="nofollow">http://yahooeng.tumblr.com/post/101682875656/evolving-yahoo-...</a>
I was hoping to see a conversation around the points addressed in the slides (e.g. how to handle async data in Flux). Instead, it's a bunch of neckbeards whining about people using Node.
I can't make arguments about Node's technical abilities, but I like that big companies are throwing more of their weight behind Javascript.<p>I think Javascript is fun and easy to use. That's good enough for me.<p>That it helps preserve balance with iOS and Android in the "software eating the world" conversation, is a bonus.
With the Opera browser it takes over a second to load the GUI whenever I click something, and the overall design looks like it has been made by someone making his/her first homepage.
No wonder they decided to use something that encourage in-line HTML where code and design get entangled like a pile of spaghetti - making it almost impossible to maintain.<p>In the last years JavaScript has exploded with new frameworks and "compile to JS languages". But I have yet seen anything close to usable. Maybe it's because I've become "speed blind" after coding JS for over 15 years.
I do not see all the problems ppl see in JavaScript, until I look at code written by beginners that seem to use every framework out there, and over-complicate the code, and naming everything with one letter variables and the name of their favorite pizzas.
It's funny that this showed up on the front page, because yesterday I logged into an old Yahoo email account for the first time in a few years and was absolutely astounded at how awful the UI was.
The exciting part of this for me would be around improvements in Yahoo - removing old cruft code. There's lot of strangeness and/or flat out errors I run into on Yahoo regularly. Any improvement in that regard could be a big benefit.<p>On the topic of JavaScript - I love Node as a glue. For larger applications - I just don't know how to structure (architect) a large application on a language like JS. Maybe that's just my ignorance.
Yahoo seems to be championing React more than Facebook! With the flux-router-component they are trying to solve something that FB hasn't really addressed and it shows that they're actively trying to share the solutions to practical problems people come across when working with Flux.
Just curious, what are the reasons for 'isomorphic' apps these days? SEO used to be the big reason, but since google and bing can now render most javascript, and since you can use pushState for SEO, that's not really a sufficient reason anymore.
Is finding Clojure people that hard (honest question)?<p>The Clojure + ClojureScript approach has many more batteries included. You get all the benefits of reusing the codebase on both sides of the fence while the language is solving the "Transactional Store", efficient dirty checks, nice server-side concurrency primitives and many unrelated problems for you.
Yahoo also had slides about Isomorphic Flux / Dispatchr two weeks ago if you want more infos on how they're using React:
<a href="https://speakerdeck.com/mridgway/isomorphic-flux" rel="nofollow">https://speakerdeck.com/mridgway/isomorphic-flux</a>
Anyone have more insight on why TJ Holowaychuk left Node?<p><a href="https://medium.com/code-adventures/farewell-node-js-4ba9e7f3e52b" rel="nofollow">https://medium.com/code-adventures/farewell-node-js-4ba9e7f3...</a><p>Anyone experience the same?
Do you guys think that we are now moving into a new trend on the client side now? React + Flux vs. Angularjs, Backbone.js?<p>It seems that every job, even backend positions, require Angularjs or Backbone.js knowledge. Having largely ignored the two and hoping they would die, I am ready to learn React + Flux to accelerate to this cause.