Introduction to React 

@GoyeSays

Carlos Goyeneche

@GoyeSays

https://github.com/Goye

What is ReactJS?

A library for creating user interfaces​

but is more about the same?

https://facebook.github.io/react/​

+

What is ReactJS?

https://facebook.github.io/react/​

What is ReactJS?

https://facebook.github.io/react/​

My MVC is better than your MVC

My MVVM is better than your MVC

 My MVC is better than you MVVM

What is ReactJS?

Traditional MV* separation of concerns

Model Controller ModelView View
Data Display logic Database data Templates

A lot of complexity

What is ReactJS?

https://facebook.github.io/react/​

What is ReactJS?

https://facebook.github.io/react/​

What is ReactJS?

That's not a new idea...

  • Custom Elements
  • Shadow DOM
  • HTML Imports
  • HTML Templates

The first library based on Web Components was released by Google in 2013

What is ReactJS?

JSX

What is ReactJS?

Markup with code

What is ReactJS?

Markup with code

Markup and display logic both share the same concern

Pete hunt - Ex-Facebook and Instagram

What is ReactJS?

JSX

What is ReactJS?

JSX

That's ugly but functional

What is ReactJS?

Everything is a component!

What is ReactJS?

Virtual DOM

 

Re-rendering everything on every update:

 

  • Create lightweight description of component UI
  • Diff it with the old one
  • Compute minimal set of changes to apply to the DOM

What is ReactJS?

Virtual DOM

 

Imperative vs Declarative programming

Imperative Declarative
Explicit instructions Describe the outcome
The system is stupid, you're smart The system is smart, you don't care
Ultimate flexibility Limited flexibility

Rackspace

How vs What

What's NPM?

"Easy, fast, robust, and consistent package manager"

https://www.npmjs.com/

What's BabelJS?

https://babeljs.io/

Use next generation JavaScript, today.

What's WebpackJS?

https://webpack.js.org/

  • Bundle your styles
  • Bundle your scripts
  • Bundle your assets

More cool stuff!

Questions?

https://github.com/Goye

Thanks a lot!

https://github.com/Goye

Introduction to React

By Carlos Goyeneche

Introduction to React

Introduction to reactJS

  • 204