SlideShare a Scribd company logo
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!

More Related Content

PDF
Emscripten, asm.js, and billions of math ops
PDF
Let's Go-lang
PDF
Go for Rubyists
PDF
ClojureScript - A functional Lisp for the browser
PDF
Libtcc and gwan
PDF
GroovyConsole2
PDF
Gogo shell
PDF
Let's migrate to Swift 3.0
Emscripten, asm.js, and billions of math ops
Let's Go-lang
Go for Rubyists
ClojureScript - A functional Lisp for the browser
Libtcc and gwan
GroovyConsole2
Gogo shell
Let's migrate to Swift 3.0

What's hot (20)

PDF
Coding in the context era
PDF
objection - runtime mobile exploration
PDF
Functional Reactive Programming without Black Magic (UIKonf 2015)
PPTX
[DevDay2018] How does JavaScript actually work? - By: Vi Nguyen, Senior Softw...
PPT
Multithreading in PHP
PPT
Loops (1)
PDF
«Управление логикой переходов между экранами приложения с помощью координатор...
PDF
A Recovering Java Developer Learns to Go
PDF
openCV with python
PDF
ClojureScript for the web
PPTX
Introduction to kotlin and OOP in Kotlin
PDF
Clojure+ClojureScript Webapps
KEY
Python 3 - tutorial
PDF
Продвинутая отладка JavaScript с помощью Chrome Dev Tools
PPTX
Introduction to .NET
PDF
Openstack taskflow 簡介
PDF
Full Stack Clojure
PDF
What’s new in Kotlin?
PDF
Groovy and Grails talk
PDF
Coroutine
Coding in the context era
objection - runtime mobile exploration
Functional Reactive Programming without Black Magic (UIKonf 2015)
[DevDay2018] How does JavaScript actually work? - By: Vi Nguyen, Senior Softw...
Multithreading in PHP
Loops (1)
«Управление логикой переходов между экранами приложения с помощью координатор...
A Recovering Java Developer Learns to Go
openCV with python
ClojureScript for the web
Introduction to kotlin and OOP in Kotlin
Clojure+ClojureScript Webapps
Python 3 - tutorial
Продвинутая отладка JavaScript с помощью Chrome Dev Tools
Introduction to .NET
Openstack taskflow 簡介
Full Stack Clojure
What’s new in Kotlin?
Groovy and Grails talk
Coroutine
Ad

Viewers also liked (20)

PDF
Full Stack Toronto - the 3R Stack
PDF
React.js and Flux in details
PPTX
BackboneJS + ReactJS
PDF
Hashtaggery BLC16
PPTX
Qualitem - Large List Support - SharePoint Saturday
DOC
Greatest Hits 80s
PPTX
SIAS Bio-IT Conference_FINAL
PDF
Info Nl Marketing3 2007 Kickstart
PDF
Bluemix predictive analyticsのご紹介
PDF
日本の名水
PDF
Spiritual Nuggets: Our Words
DOCX
Analogía de clasificación
PDF
EEK! Halloween Activities for K to 5
PDF
Io t olympics kickoff - Iskander Smit
PDF
moForte - Introduction 05_03_2016
PPT
Commercial Architecture
PPTX
Atención
PDF
Stampions Cross Media Cafe
PPT
班級經營100.03.30
PDF
Finalaya daily wrap_01sep2014
Full Stack Toronto - the 3R Stack
React.js and Flux in details
BackboneJS + ReactJS
Hashtaggery BLC16
Qualitem - Large List Support - SharePoint Saturday
Greatest Hits 80s
SIAS Bio-IT Conference_FINAL
Info Nl Marketing3 2007 Kickstart
Bluemix predictive analyticsのご紹介
日本の名水
Spiritual Nuggets: Our Words
Analogía de clasificación
EEK! Halloween Activities for K to 5
Io t olympics kickoff - Iskander Smit
moForte - Introduction 05_03_2016
Commercial Architecture
Atención
Stampions Cross Media Cafe
班級經營100.03.30
Finalaya daily wrap_01sep2014
Ad

Similar to Modern frontend in react.js (20)

PDF
The curious Life of JavaScript - Talk at SI-SE 2015
KEY
JavaScript Growing Up
PPTX
Module design pattern i.e. express js
PPTX
Modeling Patterns for JavaScript Browser-Based Games
PPTX
Sencha / ExtJS : Object Oriented JavaScript
PPT
Groovy Introduction - JAX Germany - 2008
PDF
Cross-platform UI Engines Rendering Performance
PPTX
Intro to Javascript
PPT
Laurens Van Den Oever Xopus Presentation
PPT
PDF
LISA Qooxdoo Tutorial Handouts
PPT
Smoothing Your Java with DSLs
PPTX
Intro to ES6 and why should you bother !
PDF
HTML5 for the Silverlight Guy
PPT
WebGL: GPU acceleration for the open web
PDF
Short intro to scala and the play framework
PPTX
The State of JavaScript (2015)
PDF
The Power of the JVM: Applied Polyglot Projects with Java and JavaScript
PDF
Introduction to nodejs
PDF
[2015/2016] JavaScript
The curious Life of JavaScript - Talk at SI-SE 2015
JavaScript Growing Up
Module design pattern i.e. express js
Modeling Patterns for JavaScript Browser-Based Games
Sencha / ExtJS : Object Oriented JavaScript
Groovy Introduction - JAX Germany - 2008
Cross-platform UI Engines Rendering Performance
Intro to Javascript
Laurens Van Den Oever Xopus Presentation
LISA Qooxdoo Tutorial Handouts
Smoothing Your Java with DSLs
Intro to ES6 and why should you bother !
HTML5 for the Silverlight Guy
WebGL: GPU acceleration for the open web
Short intro to scala and the play framework
The State of JavaScript (2015)
The Power of the JVM: Applied Polyglot Projects with Java and JavaScript
Introduction to nodejs
[2015/2016] JavaScript

Recently uploaded (20)

PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
L1 - Introduction to python Backend.pptx
PDF
medical staffing services at VALiNTRY
PDF
Nekopoi APK 2025 free lastest update
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPT
Introduction Database Management System for Course Database
PDF
Understanding Forklifts - TECH EHS Solution
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
AI in Product Development-omnex systems
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Transform Your Business with a Software ERP System
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
How to Migrate SBCGlobal Email to Yahoo Easily
L1 - Introduction to python Backend.pptx
medical staffing services at VALiNTRY
Nekopoi APK 2025 free lastest update
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
ManageIQ - Sprint 268 Review - Slide Deck
Design an Analysis of Algorithms II-SECS-1021-03
Introduction Database Management System for Course Database
Understanding Forklifts - TECH EHS Solution
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Navsoft: AI-Powered Business Solutions & Custom Software Development
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
AI in Product Development-omnex systems
Odoo Companies in India – Driving Business Transformation.pdf
Transform Your Business with a Software ERP System
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Operating system designcfffgfgggggggvggggggggg
Wondershare Filmora 15 Crack With Activation Key [2025

Modern frontend in react.js