TL;DR: I've gotten really excited about React as a web framework since starting with Angular and then Angular 2. The combination of JSX + easy-to-understand component model have made React a winner to me.

I've been tweeting a lot recently about React recently. After doing a lot of Angular 2 work for the majority of 2016 including a successful workshop at a few conferences, I started learning React early this year and was instantly hooked. A friend of mine wanted me to show him what all the excitement was about, and, well:

...which caught the attention of a Twitter friend of mine, Adam Morgan. He asked to see a repo - I said, let's do one better and make a video, which you can find here:

In the video, I walk through the three things that really make React stand out to me over Angular 2, with questions and commentary from Adam. The long and the short of it:

  1. JSX is awesome. As Cory House wrote: "it’s more logical to enhance JavaScript to support markup than to enhance HTML to support logic." Plus, compile time checking of your views makes writing components a much easier process.
  2. It's just JavaScript. No need to learn any framework-specific DSLs like with Angular/Angular 2/Aurelia/etc. You only need to know JavaScript and HTML to write React apps.
  3. Low API surface and learning curve. Fewer moving parts means it's easier to understand and become productive with quickly.

Here are some of the resources I've used to get started.

Building Applications with React and Redux using ES6 - Pluralsight course by Cory House
Presentational vs Container components by Dan Abramov Getting Started with Redux - course by Dan Abramov, creator of Redux
React Slingshot - React starter kit by Cory House
ASP.NET Core SPA Generator/Starter Kits, which includes templates for React and React with Redux.