Thanks to visit codestin.com
Credit goes to www.slideshare.net

Modern Frontend in React.js
Abdulsattar
Install Node.js (https://nodejs.org/). Stable Version is good enough.
git clone https://github.com/abdulsattar/workshop23.git (or) visit
https://github.com/abdulsattar/workshop23 and click on Download Zip
npm install
npm start
Open http://localhost:3000/. You should see an alert with “You're all set for
the workshop!”
Setup
Agenda
ES6
Webpack
React.js
Flux with Redux
React Router
Redux DevTools
Evolution of the Frontend
Javascript developed by Brendan Eich in May, 1995 at Netscape (within 10
days!)
BOM - Browser Object Model
DOM - Document Object Model
AJAX
jQuery
MV* frameworks
Javascript Versions
ECMAScript 1, 1997: First Edition
ECMAScript 2, 1998: Editorial Changes
ECMAScript 3, 1999: Regular Expressions, Exception Handling etc.
ECMAScript 4, Abandoned.
ECMAScript 5, 2009: Strict Mode, getters and setters, JSON etc.
ECMAScript 5.1, 2011: Editorial Changes
ECMAScript 6, June 2015
ES6
Arrow functions
Classes
Template Strings
Block scoping
Modules
… and many more!
Arrows, Template Strings, Block Scoping
var square = x => x * x
var square = function(x) { return x * x };
if(true) {
let a = 1;
console.log(`a is ${a}`);
}
console.log(a); // Error: a is not available!
Classes
class Employee extends Person {
constructor(name, city, state, companyName) {
super(name, city, state);
this.companyName = companyName;
}
walk() {
super.walk();
console.log("to the office");
}
}
Destructuring
let topic = {name: "React.js", comment: "Modern Frontend"};
let name = topic.name, comment = topic.comment;
let {name, comment} = topic;
let languages = ["Odiya", "Telugu", "Hindi", "English"];
let [first, second] = languages;
let [,,third, fourth] = languages;
Modules
// lib/math.js
export function sum(x, y) {
return x + y;
}
export var pi = 3.141593;
// app.js
import math from "lib/math";
alert("2π = " + math.sum(math.pi, math.pi));
// ^ It's Unicode!
// otherApp.js
import {sum, pi} from "lib/math";
alert("2π = " + sum(pi, pi));
Babel Transpiler
ES6+ to ES5 compiler
Webpack
Module Bundler
React
Just the V in MVC
Virtual DOM
Components
Thinking in React
Thinking in React
Code
Flux Architecture
Unidirectional data flow
Redux
State Container
Actions & Reducers
Initial State State 2Reducer 1 State 3Reducer 2 ... State 100
Initial State State 2Reducer 1 State 3Reducer 2 ... State 100
Code
What to do next?
Use Immutable.js
Use reselect
References
https://github.com/abdulsattar/workshop23.git
‘complete’ branch
Contact: asattar.md@gmail.com
Thank You!

Modern frontend in react.js