SlideShare a Scribd company logo
BackboneJS + ReactJS
Library vs Framework ??
 A library performs specific, well-defined operations.
 A framework is a collection of patterns and libraries to help with
building an application.
 Backbone.js (Model/Controller) - Framework
 React.js (View) - Library
“Frameworks skip Somework”
BackboneJS
Frontend uber-light MVC framework,with RESTful
support & more flexible.
Pros
 can be easily integrated into an existing project & adding
structure to Javascript...
 My application is going to do a lot of heavy DOM
manipulations & handle large chunk of data.
Cons
 Learning curve not as simple as other MVC
 External dependencies like Jquery, Underscore.js
 Non RESTful API backend
 Nested backbone View difficult to maintain, every collection
changes re-render all the views.
Backbone Models
Model encapsulate business logic and data
var Todo = Backbone.Model.extend({
defaults: {
title: 'backbone_title',
},
initialize: function(){
console.log('This model has been initialized.');
},
setTitle: function(newTitle){
this.set({ title: newTitle });
}
});
var myTodo = new Todo();
myTodo.setTitle('Backbone Hello world.');
Backbone View
 Views are responsible for listening to DOM element's events & updating the
DOM elements.
 View templates -- underscore.js handlebar.js
var AppView = Backbone.View.extend({
// el - stands for element. Every view has a element associate in with HTML
content will be rendered.
el: '#container',
initialize: function(){
this.render();
},
render: function(){
this.$el.html("Hello World");
}
});
ReactJS
React is a UI library to facilitate the creation of
interactive, stateful & reusable UI components.
 Building large applications with data that changes over time.
 It's just a View of M'V'C framework.
 Virtual DOM (USP).
 React has only “Components” that will just re-render.
 Javascript + HTML = JSX
 JSX - Allows us to write HTML like syntax which gets
transformed to lightweight JavaScript objects.
 Render in Server via node.js
Components & LifeCycle
Component = view/HTML + controller/JS
React.createClass({ })
The way in which you create a new component.
State -- Internal data,can change
Prop -- External data,can't change
UpdateCycle Component LifeCycle
React.createClass()
componentWillUnmount()
getInitialState()
componentDidMount()
componentWillMount()
Render()
Render()
componentWillUpdate()
componentDidUpdate()
Virtual DOM
 when data has changed ??
 which DOM element(s) to be updated??
 Angular “Digest cycle” mechanism
 On every update in the State
 React's diffing algorithm DOM Structure
Patch
boolean shouldComponentUpdate()
Architecture Traditional MVC
 Difficult to organise the code
 Good to use Asynchronous
Module Definition (AMD)
like require.js,browserify,gulp
Flux Architecture
Dispatcher acts as traffic controller.
One-way data flow.
dispatcheraction store view
View
model
model
model
model
view
View
View
controller
Challenges
 Code maintenance (JS + HTML)
 No two way data-binding
 No separate Templates
 Converting JSX to JS (Babel)
 ReactJS Gotchas
 Re-initialise datatables
Alerts account landing page DEMO
Questions ??
Skanda Shastry
skanda.shastry02@gmail.com

More Related Content

What's hot

Introduction to react js
Introduction to react jsIntroduction to react js
Introduction to react js
Aeshan Wijetunge
 
BackboneJS and friends
BackboneJS and friendsBackboneJS and friends
BackboneJS and friends
Scott Cowan
 
Backbone.js and friends
Backbone.js and friendsBackbone.js and friends
Backbone.js and friends
Good Robot
 
Introduction to React JS for beginners
Introduction to React JS for beginners Introduction to React JS for beginners
Introduction to React JS for beginners
Varun Raj
 
Backbone js
Backbone jsBackbone js
Backbone js
Rohan Chandane
 
[Final] ReactJS presentation
[Final] ReactJS presentation[Final] ReactJS presentation
[Final] ReactJS presentation
洪 鹏发
 
Backbone
BackboneBackbone
Backbone
Glenn De Backer
 
Vývojařská Plzeň - React
Vývojařská Plzeň - ReactVývojařská Plzeň - React
Vývojařská Plzeň - React
Viliam Elischer
 
Its time to React.js
Its time to React.jsIts time to React.js
Its time to React.js
Ritesh Mehrotra
 
Planbox Backbone MVC
Planbox Backbone MVCPlanbox Backbone MVC
Planbox Backbone MVC
Acquisio
 
The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!
Baharika Sopori
 
20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native
Eric Deng
 
Javascript frameworks: Backbone.js
Javascript frameworks: Backbone.jsJavascript frameworks: Backbone.js
Javascript frameworks: Backbone.js
Soós Gábor
 
Introduction to Backbone.js
Introduction to Backbone.jsIntroduction to Backbone.js
Introduction to Backbone.js
Pragnesh Vaghela
 
Managing JavaScript Dependencies With RequireJS
Managing JavaScript Dependencies With RequireJSManaging JavaScript Dependencies With RequireJS
Managing JavaScript Dependencies With RequireJS
Den Odell
 
Workshop 22: React-Redux Middleware
Workshop 22: React-Redux MiddlewareWorkshop 22: React-Redux Middleware
Workshop 22: React-Redux Middleware
Visual Engineering
 
Angularjs architecture
Angularjs architectureAngularjs architecture
Angularjs architecture
Michael He
 
React JS & Functional Programming Principles
React JS & Functional Programming PrinciplesReact JS & Functional Programming Principles
React JS & Functional Programming Principles
Andrii Lundiak
 
Vue, vue router, vuex
Vue, vue router, vuexVue, vue router, vuex
Vue, vue router, vuex
Samundra khatri
 
React js
React jsReact js
React js
Rajesh Kolla
 

What's hot (20)

Introduction to react js
Introduction to react jsIntroduction to react js
Introduction to react js
 
BackboneJS and friends
BackboneJS and friendsBackboneJS and friends
BackboneJS and friends
 
Backbone.js and friends
Backbone.js and friendsBackbone.js and friends
Backbone.js and friends
 
Introduction to React JS for beginners
Introduction to React JS for beginners Introduction to React JS for beginners
Introduction to React JS for beginners
 
Backbone js
Backbone jsBackbone js
Backbone js
 
[Final] ReactJS presentation
[Final] ReactJS presentation[Final] ReactJS presentation
[Final] ReactJS presentation
 
Backbone
BackboneBackbone
Backbone
 
Vývojařská Plzeň - React
Vývojařská Plzeň - ReactVývojařská Plzeň - React
Vývojařská Plzeň - React
 
Its time to React.js
Its time to React.jsIts time to React.js
Its time to React.js
 
Planbox Backbone MVC
Planbox Backbone MVCPlanbox Backbone MVC
Planbox Backbone MVC
 
The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!
 
20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native
 
Javascript frameworks: Backbone.js
Javascript frameworks: Backbone.jsJavascript frameworks: Backbone.js
Javascript frameworks: Backbone.js
 
Introduction to Backbone.js
Introduction to Backbone.jsIntroduction to Backbone.js
Introduction to Backbone.js
 
Managing JavaScript Dependencies With RequireJS
Managing JavaScript Dependencies With RequireJSManaging JavaScript Dependencies With RequireJS
Managing JavaScript Dependencies With RequireJS
 
Workshop 22: React-Redux Middleware
Workshop 22: React-Redux MiddlewareWorkshop 22: React-Redux Middleware
Workshop 22: React-Redux Middleware
 
Angularjs architecture
Angularjs architectureAngularjs architecture
Angularjs architecture
 
React JS & Functional Programming Principles
React JS & Functional Programming PrinciplesReact JS & Functional Programming Principles
React JS & Functional Programming Principles
 
Vue, vue router, vuex
Vue, vue router, vuexVue, vue router, vuex
Vue, vue router, vuex
 
React js
React jsReact js
React js
 

Viewers also liked

Full Stack Toronto - the 3R Stack
Full Stack Toronto - the 3R StackFull Stack Toronto - the 3R Stack
Full Stack Toronto - the 3R Stack
Scott Persinger
 
The Future and Energy
The Future and EnergyThe Future and Energy
The Future and Energy
Glen Hiemstra
 
React.js and Flux in details
React.js and Flux in detailsReact.js and Flux in details
React.js and Flux in details
Artyom Trityak
 
Week11 1st draft
Week11 1st draftWeek11 1st draft
Week11 1st draft
s1200113Ishii
 
ติดตั้ง Postgres
ติดตั้ง Postgresติดตั้ง Postgres
ติดตั้ง Postgres
SP Chang
 
Primer t
Primer tPrimer t
Primer t
charles05115
 
Project gt tire cutting rsa
Project gt tire cutting rsaProject gt tire cutting rsa
Project gt tire cutting rsa
Mark Blair
 
Diventare famosi con lo stack ELK
Diventare famosi con lo stack ELKDiventare famosi con lo stack ELK
Diventare famosi con lo stack ELK
Alfonso Iannotta
 
протокол6
протокол6протокол6
протокол6
Виталий Хавро
 
Change Management Brochure
Change Management BrochureChange Management Brochure
Change Management Brochure
Adriano Lino
 
Un día común de homus tóxicus
Un día común de homus tóxicusUn día común de homus tóxicus
Un día común de homus tóxicus
Mario Arizpe Garcia
 
Trabajo 2 ingles
Trabajo 2 inglesTrabajo 2 ingles
Trabajo 2 ingles
faderh91
 
Dave Goshorn - Resume
Dave Goshorn - ResumeDave Goshorn - Resume
Dave Goshorn - Resume
Dave Goshorn
 
MAB Deck
MAB DeckMAB Deck
MAB Deck
Joseph Johnson
 
TCA Cycle
TCA CycleTCA Cycle
TCA Cycle
AyazKhan100
 
Ingles
InglesIngles
Ingles
charles05115
 
Influence campaign
Influence campaignInfluence campaign
Influence campaign
MarBourges
 
Ingles1
Ingles1Ingles1
Ingles1
charles05115
 
S Wilson 2016 Resume
S Wilson 2016 ResumeS Wilson 2016 Resume
S Wilson 2016 Resume
Shauna Wilson
 

Viewers also liked (19)

Full Stack Toronto - the 3R Stack
Full Stack Toronto - the 3R StackFull Stack Toronto - the 3R Stack
Full Stack Toronto - the 3R Stack
 
The Future and Energy
The Future and EnergyThe Future and Energy
The Future and Energy
 
React.js and Flux in details
React.js and Flux in detailsReact.js and Flux in details
React.js and Flux in details
 
Week11 1st draft
Week11 1st draftWeek11 1st draft
Week11 1st draft
 
ติดตั้ง Postgres
ติดตั้ง Postgresติดตั้ง Postgres
ติดตั้ง Postgres
 
Primer t
Primer tPrimer t
Primer t
 
Project gt tire cutting rsa
Project gt tire cutting rsaProject gt tire cutting rsa
Project gt tire cutting rsa
 
Diventare famosi con lo stack ELK
Diventare famosi con lo stack ELKDiventare famosi con lo stack ELK
Diventare famosi con lo stack ELK
 
протокол6
протокол6протокол6
протокол6
 
Change Management Brochure
Change Management BrochureChange Management Brochure
Change Management Brochure
 
Un día común de homus tóxicus
Un día común de homus tóxicusUn día común de homus tóxicus
Un día común de homus tóxicus
 
Trabajo 2 ingles
Trabajo 2 inglesTrabajo 2 ingles
Trabajo 2 ingles
 
Dave Goshorn - Resume
Dave Goshorn - ResumeDave Goshorn - Resume
Dave Goshorn - Resume
 
MAB Deck
MAB DeckMAB Deck
MAB Deck
 
TCA Cycle
TCA CycleTCA Cycle
TCA Cycle
 
Ingles
InglesIngles
Ingles
 
Influence campaign
Influence campaignInfluence campaign
Influence campaign
 
Ingles1
Ingles1Ingles1
Ingles1
 
S Wilson 2016 Resume
S Wilson 2016 ResumeS Wilson 2016 Resume
S Wilson 2016 Resume
 

Similar to BackboneJS + ReactJS

React JS .NET
React JS .NETReact JS .NET
React JS .NET
Jennifer Estrada
 
Presentation on "An Introduction to ReactJS"
Presentation on "An Introduction to ReactJS"Presentation on "An Introduction to ReactJS"
Presentation on "An Introduction to ReactJS"
Flipkart
 
Combining Angular and React Together
Combining Angular and React TogetherCombining Angular and React Together
Combining Angular and React Together
Sebastian Pederiva
 
Intro to React - Featuring Modern JavaScript
Intro to React - Featuring Modern JavaScriptIntro to React - Featuring Modern JavaScript
Intro to React - Featuring Modern JavaScript
jasonsich
 
ReactJS presentation.pptx
ReactJS presentation.pptxReactJS presentation.pptx
ReactJS presentation.pptx
DivyanshGupta922023
 
Comparing Angular and React JS for SPAs
Comparing Angular and React JS for SPAsComparing Angular and React JS for SPAs
Comparing Angular and React JS for SPAs
Jennifer Estrada
 
KnockOutjs from Scratch
KnockOutjs from ScratchKnockOutjs from Scratch
KnockOutjs from Scratch
Udaya Kumar
 
Full Stack React Workshop [CSSC x GDSC]
Full Stack React Workshop [CSSC x GDSC]Full Stack React Workshop [CSSC x GDSC]
Full Stack React Workshop [CSSC x GDSC]
GDSC UofT Mississauga
 
Writing HTML5 Web Apps using Backbone.js and GAE
Writing HTML5 Web Apps using Backbone.js and GAEWriting HTML5 Web Apps using Backbone.js and GAE
Writing HTML5 Web Apps using Backbone.js and GAE
Ron Reiter
 
Rp 6 session 2 naresh bhatia
Rp 6  session 2 naresh bhatiaRp 6  session 2 naresh bhatia
Rp 6 session 2 naresh bhatia
sapientindia
 
React JS and Redux
React JS and ReduxReact JS and Redux
React JS and Redux
Glib Kechyn
 
MV* presentation frameworks in Javascript: en garde, pret, allez!
MV* presentation frameworks in Javascript: en garde, pret, allez!MV* presentation frameworks in Javascript: en garde, pret, allez!
MV* presentation frameworks in Javascript: en garde, pret, allez!
Roberto Messora
 
reactJS
reactJSreactJS
reactJS
Syam Santhosh
 
Jinal desai .net
Jinal desai .netJinal desai .net
Jinal desai .net
rohitkumar1987in
 
Backbone introdunction
Backbone introdunctionBackbone introdunction
Backbone introdunction
mzxbupt
 
React JS Belgium Touch Base - React, Flux, React Native
React JS Belgium Touch Base - React, Flux, React NativeReact JS Belgium Touch Base - React, Flux, React Native
React JS Belgium Touch Base - React, Flux, React Native
Philos.io
 
Getting started with React and Redux
Getting started with React and ReduxGetting started with React and Redux
Getting started with React and Redux
Paddy Lock
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
Mohammed Fazuluddin
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
Tuna Tore
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
Tuna Tore
 

Similar to BackboneJS + ReactJS (20)

React JS .NET
React JS .NETReact JS .NET
React JS .NET
 
Presentation on "An Introduction to ReactJS"
Presentation on "An Introduction to ReactJS"Presentation on "An Introduction to ReactJS"
Presentation on "An Introduction to ReactJS"
 
Combining Angular and React Together
Combining Angular and React TogetherCombining Angular and React Together
Combining Angular and React Together
 
Intro to React - Featuring Modern JavaScript
Intro to React - Featuring Modern JavaScriptIntro to React - Featuring Modern JavaScript
Intro to React - Featuring Modern JavaScript
 
ReactJS presentation.pptx
ReactJS presentation.pptxReactJS presentation.pptx
ReactJS presentation.pptx
 
Comparing Angular and React JS for SPAs
Comparing Angular and React JS for SPAsComparing Angular and React JS for SPAs
Comparing Angular and React JS for SPAs
 
KnockOutjs from Scratch
KnockOutjs from ScratchKnockOutjs from Scratch
KnockOutjs from Scratch
 
Full Stack React Workshop [CSSC x GDSC]
Full Stack React Workshop [CSSC x GDSC]Full Stack React Workshop [CSSC x GDSC]
Full Stack React Workshop [CSSC x GDSC]
 
Writing HTML5 Web Apps using Backbone.js and GAE
Writing HTML5 Web Apps using Backbone.js and GAEWriting HTML5 Web Apps using Backbone.js and GAE
Writing HTML5 Web Apps using Backbone.js and GAE
 
Rp 6 session 2 naresh bhatia
Rp 6  session 2 naresh bhatiaRp 6  session 2 naresh bhatia
Rp 6 session 2 naresh bhatia
 
React JS and Redux
React JS and ReduxReact JS and Redux
React JS and Redux
 
MV* presentation frameworks in Javascript: en garde, pret, allez!
MV* presentation frameworks in Javascript: en garde, pret, allez!MV* presentation frameworks in Javascript: en garde, pret, allez!
MV* presentation frameworks in Javascript: en garde, pret, allez!
 
reactJS
reactJSreactJS
reactJS
 
Jinal desai .net
Jinal desai .netJinal desai .net
Jinal desai .net
 
Backbone introdunction
Backbone introdunctionBackbone introdunction
Backbone introdunction
 
React JS Belgium Touch Base - React, Flux, React Native
React JS Belgium Touch Base - React, Flux, React NativeReact JS Belgium Touch Base - React, Flux, React Native
React JS Belgium Touch Base - React, Flux, React Native
 
Getting started with React and Redux
Getting started with React and ReduxGetting started with React and Redux
Getting started with React and Redux
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
 

Recently uploaded

Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 

Recently uploaded (20)

Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 

BackboneJS + ReactJS

  • 2. Library vs Framework ??  A library performs specific, well-defined operations.  A framework is a collection of patterns and libraries to help with building an application.  Backbone.js (Model/Controller) - Framework  React.js (View) - Library “Frameworks skip Somework”
  • 3. BackboneJS Frontend uber-light MVC framework,with RESTful support & more flexible. Pros  can be easily integrated into an existing project & adding structure to Javascript...  My application is going to do a lot of heavy DOM manipulations & handle large chunk of data. Cons  Learning curve not as simple as other MVC  External dependencies like Jquery, Underscore.js  Non RESTful API backend  Nested backbone View difficult to maintain, every collection changes re-render all the views.
  • 4. Backbone Models Model encapsulate business logic and data var Todo = Backbone.Model.extend({ defaults: { title: 'backbone_title', }, initialize: function(){ console.log('This model has been initialized.'); }, setTitle: function(newTitle){ this.set({ title: newTitle }); } }); var myTodo = new Todo(); myTodo.setTitle('Backbone Hello world.');
  • 5. Backbone View  Views are responsible for listening to DOM element's events & updating the DOM elements.  View templates -- underscore.js handlebar.js var AppView = Backbone.View.extend({ // el - stands for element. Every view has a element associate in with HTML content will be rendered. el: '#container', initialize: function(){ this.render(); }, render: function(){ this.$el.html("Hello World"); } });
  • 6. ReactJS React is a UI library to facilitate the creation of interactive, stateful & reusable UI components.  Building large applications with data that changes over time.  It's just a View of M'V'C framework.  Virtual DOM (USP).  React has only “Components” that will just re-render.  Javascript + HTML = JSX  JSX - Allows us to write HTML like syntax which gets transformed to lightweight JavaScript objects.  Render in Server via node.js
  • 7. Components & LifeCycle Component = view/HTML + controller/JS React.createClass({ }) The way in which you create a new component. State -- Internal data,can change Prop -- External data,can't change UpdateCycle Component LifeCycle React.createClass() componentWillUnmount() getInitialState() componentDidMount() componentWillMount() Render() Render() componentWillUpdate() componentDidUpdate()
  • 8. Virtual DOM  when data has changed ??  which DOM element(s) to be updated??  Angular “Digest cycle” mechanism  On every update in the State  React's diffing algorithm DOM Structure Patch boolean shouldComponentUpdate()
  • 9. Architecture Traditional MVC  Difficult to organise the code  Good to use Asynchronous Module Definition (AMD) like require.js,browserify,gulp Flux Architecture Dispatcher acts as traffic controller. One-way data flow. dispatcheraction store view View model model model model view View View controller
  • 10. Challenges  Code maintenance (JS + HTML)  No two way data-binding  No separate Templates  Converting JSX to JS (Babel)  ReactJS Gotchas  Re-initialise datatables Alerts account landing page DEMO