“It’s so rare that something actually comes along that really changes how we think about building stuff” - Michael Jackson
Episode Info
- Episode: CW 015
- Published: April 8th, 2015
- Tags: javascript, reactjs,nodejs,isomorphic
- Duration: 1:16:34
- Updated: 2015-04-11
Show Notes and Timeline
- 2:40 - What’s special about React.js?
“For me personally, it changed the way that I code as much as jQuery did back in 2008.” - Michael Jackson
“OMG, This is really going to change the way that I work and how much I enjoy my job on a day to day basis.” - Michael Jackson
- 5:00 - React.js doesn’t care about how you represent your data, models can be simple objects and arrays
“What excites me about React.js is… it doesn’t care about your data model, you just use plain JavaScript objects… For my models I use: array, Object, Number, …” - Ryan Florence
“The new paradigm with React.js is we aren’t observing, we aren’t having a bunch of events, we are just throwing data at functions and then they return descriptions of UI” - Ryan Florence
- 6:40 - Javascript becomes our templating language
“It’s hard to explain until you start doing it how big of a shift this makes in your user interface development, to not worry about your app over time; you’re not mutating the state of objects over time in your UI components” - Ryan Florence
“We get to use the solutions that JavaScript already provides like modules and scope… we don’t have to wait for the framework’s template language to implement a solution for that” - Ryan Florence
- 8:25 - React.js, Angular, and Ember are pushing the language forward (ES6)
- 10:56 - Is React.js differnet from other SPA frameworks?
- 11:30 - React.js could be a good rendering tool for many frameworks
- 12:10 - Integrating React.js into existing code is easy without a full rewrite
- 13:30 - React.js be added to mature apps, not just greenfield apps
- 14:50 - Angular 2.0 and Ember 2.0 look a lot like and sound a lot like React.js. It is influencing so many other frameworks.
- 15:30 - Who can use React.js? What types of projects?
- 19:00 - Server side rendering - Isomorphic javascript
- 22:30 - React.js doesn’t care where you render - client, server, canvas, etc.
- 24:00 - Is React.js hard to learn?
- 25:00 - React.js allows you to code yourself out of problems
- 26:00 - Smaller API’s are easier to learn
- 28:10 - What brought Michael and Ryan to using React.js?
For me, one of the most awkward parts about #Emberjs is switching back and forth between Handlebars templates and component code. Any ideas?
— Michael Jackson (@mjackson) May 13, 2014
- 28:45 - Instructure had invested in Ember but were having struggles shipping and learning
“At Instructure, we bet on Ember… we were messing with it for almost a year and kind of weren’t shipping anything…” - Ryan Florence
- 30:00 - After an hour of using React.js, Ryan wanted to use it everywhere
“After an hour of using React.js, I had my face in my hands and said… I want to use this everywhere” - Ryan Florence
- 30:45 - A few hours later, Ryan had a router proof of concept up and running
“After two hours I actually had something working, and that probably impressed me the most about React.js” - Ryan Florence
“I was never able to just pick up something as quickly as I was able to pick up React.js and build a router” - Michael Jackson
“Two guys who had no idea what they were doing (with React.js) were able to make something (ReactRouter) that worked and was useful for other people” - Michael Jackson
- 32:30 - Ryan started throwing his toughest problems at React.js and it handled them great
“Then I just threw all of my toughest problems that I had ever run into as a frontend developer at React.js” - Ryan Florence
- 33:00 - Everyone at Instructure wanted to switch to React.js after being exposed to it
“At Instructure we had this hack week, I encouraged a couple of my coworkers to use React.js for their projects… every single one of them came back and asked: When are putting this into our stack?” - Ryan Florence
- 33:20 - Reducing the context switch when developing, JSX
- 37:26 - React Router and Relay, working with React.js team
“This is something that I really feel that the React.js authors have seriously nailed on the head, they’ll say they care about the community, and then they will show it by listening, participating, and working with us” - Michael Jackson
- 40:00 - Data fetching improvements
- 41:00 - Forward thinking attitude using ES6
- 42:01 - Relay
- 45:10 - Components
- 48:00 - Michael Jackson and Ryan Florence’s React.js Training offerings
- 50:10 - Become a React.js expert
- 51:00 - React.js topics covered
- 52:26 - Prerequisites for learning React.js, just javascript
- 54:30 - Training format
- 56:13 - React Router
- 58:30 - JSX is an optional convenient way to write nested function calls
- 1:00:00 - Getting designers involved with React.js
@ebryn @ryanflorence @mjackson At Stampsy, JSX enabled our designer to author, refactor and tweak components at crazy speed.
— Dan Abramov (@dan_abramov) September 28, 2014
- 1:02:00 - Thinking in React.js by Pete Hunt
- 1:03:38 - React Native
- 1:05:00 - React Native as a game changer
- 1:07:00 - Developers can work on native and web
- 1:08:00 - React Native productivity of instant refreshing for new code
- 1:10:20 - The wonderful and genuine React.js community
“I am just so impressed by the React.js community… everybody is helping and sharing, all trying to move our industry forward” - Jeff Barczewski
“The people I have found in the React.js community have been genuine. Their desire to help you understand is genuine. Their desire to learn is genuine. It’s been inspiring for me as well.” - Michael Jackson
- 1:11:38 - Closing
Michael Jackson and Ryan Florence React.js training
Michael and Ryan have launched some React.js training starting this April. CodeWinds listeners can get a $300 discount to their San Francisco training this April 16-17, 2015. Use the link: http://codewinds.com/reactsf
Links and Resources
Online Training Courses
CodeWinds React.js Fundamentals
The premier online course and community where you learn React.js by pragmatically building a real web app while applying TDD/BDD principles
Training
- http://codewinds.com/reactsf - $300 discount for Michael Jackson & Ryan Florence React.js training in San Francisco - April 16-17, 2015
- https://reactjs-training.com/ - Michael Jackson and Ryan Florence training events - Seattle, San Francisco, Boulder, Boston, New York, Paris
- http://codewinds.com/topics - Provide your input on topics, projects, difficulties, technology that you would like covered in future CodeWinds content (tutorials, podcasts, video training courses and classes).
- Subscribe to the CodeWinds Leading Edge member list to be the first to hear about the upcoming CodeWinds React.js video training course and be invited to become charter members.
Mentioned in the episode
- React Rally - A community React conference August 24 - 25, 2015 in Salt Lake City, Utah
- Removing User Interface Complexity, or Why React is Awesome - James Long
- Twitter on the importance of server rendering
- Flipboard renders to canvas
- The tweet that started it all for Michael
- ReactRouter - Michael and Ryan’s isomorphic client and server routing solution for React.js
- Facebook’s React.js Conf talk about Relay/GraphQL - video from React.js Conference 2015
- Dan Abramov’s tweet about designers + React
- Pete Hunt’s post about “Thinking in React”
- Former UIKit dev on React Native
- Building the Facebook Newsfeed with Relay
- Mach HTTP client, server, and proxy which runs on Node.js and in the browser
Follow
- Michael Jackson - twitter, github
- Ryan Florence - twitter, github
- Jeff Barczewski - twitter, github
- CodeWinds - twitter, github
Related content
- The React.js Conference experience - Jeff’s article on his experience at the first React.js Conference (2015)
- CodeWinds podcast episode 4 - React.js with Pete Hunt
Video
Keynote on React.js and React Native from React.js Conf 2015