Enviar pesquisa
Carregar
Scalable java script applications
•
Transferir como PPTX, PDF
•
0 gostou
•
567 visualizações
Good Robot
Seguir
Presentation about big JavaScript application design and architecture.
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 39
Baixar agora
Recomendados
Dot net interview questions and asnwers
Dot net interview questions and asnwers
kavinilavuG
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Review
netc2012
Single Page Apps
Single Page Apps
Gil Fink
Teaching old java script new tricks
Teaching old java script new tricks
Simon Sturmer
Languages and tools for web programming
Languages and tools for web programming
Alamelu
Project First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be used
arya krazydude
Single page applications with backbone js
Single page applications with backbone js
Gil Fink
Web programming
Web programming
Ishucs
Recomendados
Dot net interview questions and asnwers
Dot net interview questions and asnwers
kavinilavuG
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Review
netc2012
Single Page Apps
Single Page Apps
Gil Fink
Teaching old java script new tricks
Teaching old java script new tricks
Simon Sturmer
Languages and tools for web programming
Languages and tools for web programming
Alamelu
Project First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be used
arya krazydude
Single page applications with backbone js
Single page applications with backbone js
Gil Fink
Web programming
Web programming
Ishucs
WordPress Code Architecture
WordPress Code Architecture
Mario Peshev
SilverStripe From a Developer's Perspective
SilverStripe From a Developer's Perspective
ajshort
What is JDBC
What is JDBC
university of education,Lahore
Road Trip To Component
Road Trip To Component
Marketa Adamova
MVC with Zend Framework
MVC with Zend Framework
webholics
Web sphere application server administration
Web sphere application server administration
akirait4
java Jdbc
java Jdbc
Ankit Desai
RapidApp presentation for Cincinnati.pm
RapidApp presentation for Cincinnati.pm
Henry Van Styn
Zend MVC pattern based Framework – Best for Enterprise web applications
Zend MVC pattern based Framework – Best for Enterprise web applications
Etisbew Technology Group
Database and Java Database Connectivity
Database and Java Database Connectivity
Gary Yeh
Enterprise java unit-3_chapter-1-jsp
Enterprise java unit-3_chapter-1-jsp
sandeep54552
Session 28 - Servlets - Part 4
Session 28 - Servlets - Part 4
PawanMM
Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2
sandeep54552
Database Component
Database Component
Durga Prasad Kakarla
Session 25 - Introduction to JEE, Servlets
Session 25 - Introduction to JEE, Servlets
PawanMM
Advanced templates
Advanced templates
Sencha
Java web services soap rest training from hyderabad
Java web services soap rest training from hyderabad
FuturePoint Technologies
11g boot camp weblogic and adf
11g boot camp weblogic and adf
Chad Thompson
Drupal fields revealed
Drupal fields revealed
Bhavin Joshi
Seven Versions of One Web Application
Seven Versions of One Web Application
Yakov Fain
Spring data presentation
Spring data presentation
Oleksii Usyk
Rp 6 session 2 naresh bhatia
Rp 6 session 2 naresh bhatia
sapientindia
Mais conteúdo relacionado
Mais procurados
WordPress Code Architecture
WordPress Code Architecture
Mario Peshev
SilverStripe From a Developer's Perspective
SilverStripe From a Developer's Perspective
ajshort
What is JDBC
What is JDBC
university of education,Lahore
Road Trip To Component
Road Trip To Component
Marketa Adamova
MVC with Zend Framework
MVC with Zend Framework
webholics
Web sphere application server administration
Web sphere application server administration
akirait4
java Jdbc
java Jdbc
Ankit Desai
RapidApp presentation for Cincinnati.pm
RapidApp presentation for Cincinnati.pm
Henry Van Styn
Zend MVC pattern based Framework – Best for Enterprise web applications
Zend MVC pattern based Framework – Best for Enterprise web applications
Etisbew Technology Group
Database and Java Database Connectivity
Database and Java Database Connectivity
Gary Yeh
Enterprise java unit-3_chapter-1-jsp
Enterprise java unit-3_chapter-1-jsp
sandeep54552
Session 28 - Servlets - Part 4
Session 28 - Servlets - Part 4
PawanMM
Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2
sandeep54552
Database Component
Database Component
Durga Prasad Kakarla
Session 25 - Introduction to JEE, Servlets
Session 25 - Introduction to JEE, Servlets
PawanMM
Advanced templates
Advanced templates
Sencha
Java web services soap rest training from hyderabad
Java web services soap rest training from hyderabad
FuturePoint Technologies
11g boot camp weblogic and adf
11g boot camp weblogic and adf
Chad Thompson
Drupal fields revealed
Drupal fields revealed
Bhavin Joshi
Mais procurados
(19)
WordPress Code Architecture
WordPress Code Architecture
SilverStripe From a Developer's Perspective
SilverStripe From a Developer's Perspective
What is JDBC
What is JDBC
Road Trip To Component
Road Trip To Component
MVC with Zend Framework
MVC with Zend Framework
Web sphere application server administration
Web sphere application server administration
java Jdbc
java Jdbc
RapidApp presentation for Cincinnati.pm
RapidApp presentation for Cincinnati.pm
Zend MVC pattern based Framework – Best for Enterprise web applications
Zend MVC pattern based Framework – Best for Enterprise web applications
Database and Java Database Connectivity
Database and Java Database Connectivity
Enterprise java unit-3_chapter-1-jsp
Enterprise java unit-3_chapter-1-jsp
Session 28 - Servlets - Part 4
Session 28 - Servlets - Part 4
Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2
Database Component
Database Component
Session 25 - Introduction to JEE, Servlets
Session 25 - Introduction to JEE, Servlets
Advanced templates
Advanced templates
Java web services soap rest training from hyderabad
Java web services soap rest training from hyderabad
11g boot camp weblogic and adf
11g boot camp weblogic and adf
Drupal fields revealed
Drupal fields revealed
Semelhante a Scalable java script applications
Seven Versions of One Web Application
Seven Versions of One Web Application
Yakov Fain
Spring data presentation
Spring data presentation
Oleksii Usyk
Rp 6 session 2 naresh bhatia
Rp 6 session 2 naresh bhatia
sapientindia
Handlebars & Require JS
Handlebars & Require JS
Ivano Malavolta
Handlebars and Require.js
Handlebars and Require.js
Ivano Malavolta
Building Rich Internet Applications with Ext JS
Building Rich Internet Applications with Ext JS
Mats Bryntse
Backbone JS for mobile apps
Backbone JS for mobile apps
Ivano Malavolta
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Jeremy Likness
70487.pdf
70487.pdf
Karen Benoit
MSc Enterprise Systems Development Guest Lecture at UniS (2/12/09)
MSc Enterprise Systems Development Guest Lecture at UniS (2/12/09)
Daniel Bryant
Ajax toolkit-framework
Ajax toolkit-framework
WBUTTUTORIALS
Apache Cayenne for WO Devs
Apache Cayenne for WO Devs
WO Community
[2015/2016] Backbone JS
[2015/2016] Backbone JS
Ivano Malavolta
MV* presentation frameworks in Javascript: en garde, pret, allez!
MV* presentation frameworks in Javascript: en garde, pret, allez!
Roberto Messora
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
Malin Weiss
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
Speedment, Inc.
Php and-mvc
Php and-mvc
Manoj Sahoo
Intro to emberjs
Intro to emberjs
Mandy Pao
The Meteor Framework
The Meteor Framework
Damien Magoni
Intro to .NET for Government Developers
Intro to .NET for Government Developers
Frank La Vigne
Semelhante a Scalable java script applications
(20)
Seven Versions of One Web Application
Seven Versions of One Web Application
Spring data presentation
Spring data presentation
Rp 6 session 2 naresh bhatia
Rp 6 session 2 naresh bhatia
Handlebars & Require JS
Handlebars & Require JS
Handlebars and Require.js
Handlebars and Require.js
Building Rich Internet Applications with Ext JS
Building Rich Internet Applications with Ext JS
Backbone JS for mobile apps
Backbone JS for mobile apps
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
70487.pdf
70487.pdf
MSc Enterprise Systems Development Guest Lecture at UniS (2/12/09)
MSc Enterprise Systems Development Guest Lecture at UniS (2/12/09)
Ajax toolkit-framework
Ajax toolkit-framework
Apache Cayenne for WO Devs
Apache Cayenne for WO Devs
[2015/2016] Backbone JS
[2015/2016] Backbone JS
MV* presentation frameworks in Javascript: en garde, pret, allez!
MV* presentation frameworks in Javascript: en garde, pret, allez!
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
Php and-mvc
Php and-mvc
Intro to emberjs
Intro to emberjs
The Meteor Framework
The Meteor Framework
Intro to .NET for Government Developers
Intro to .NET for Government Developers
Último
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
panagenda
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Mark Goldstein
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Inflectra
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
Ingrid Airi González
2024 April Patch Tuesday
2024 April Patch Tuesday
Ivanti
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
Rick Flair
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Alan Dix
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Alkin Tezuysal
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Scott Andery
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
MounikaPolabathina
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
Kari Kakkonen
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
IES VE
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
Ravi Sanghani
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
Nicole Novielli
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Pim van der Noll
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
LoriGlavin3
Último
(20)
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
2024 April Patch Tuesday
2024 April Patch Tuesday
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
How to write a Business Continuity Plan
How to write a Business Continuity Plan
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Scalable java script applications
1.
Scalable JavaScript Applications Dmytro Tarasenko April
2012
2.
Agenda • • • • • • • JavaScript trend OOP in
JavaScript MVC Application entities MVC Example Layers Best practices
3.
JS Trend: Languages
evolution OOP C++, Java, C#, Python Structured C, Pascal, Algol, Ada Assemblers Machine code
4.
JS Trend: JavaScript
evolution Big frameworks Dojo, ExtJs, YUI Small libraries Backbone, Midori, MochiKit Self created libraries DOM, BOM oriented
5.
JS Trend: Big
applications Why JS environment has been changing? Because of big WEB applications
6.
OOP: Abstraction Single page application Classes,
modules, layers HTML, CSS, DOM and BOM abstraction
7.
OOP: Classes name extension constructor destructor configuration mixins requires publics/privates statics
8.
OOP: Class definition Ext.define('MyClass',
{ extend : 'MyBaseClass', requires: 'MyClass2', method : Ext.emptyFn, statics : { prop: 123, func: Ext.emptyFn } });
9.
OOP: Class usage var
mc = Ext.create('MyClass'); mc.methodFromMyBaseClass(); mc.method(); MyClass.func(); MyClass.prop; // static function // 123
10.
MVC
11.
MVC: Model • Data
container; • CRUD operations; • Only data related logic; • Uses alone and in stores; • Controlled by a controller
12.
MVC: View • • • • • Data representation Validations View
logic Stand alone widgets Controlled by controller
13.
MVC: Controller
14.
Application entities Reader Plugins Writer Config Locale App Mixins MVC Static Data Utils Store
15.
Application entities: Reader Reader Plugins Writer Config Locale App Mixins MVC Static Data Utils Store •
Converts server data to JSON • Preprocesses data • Decodes data • Used in models and stores
16.
Application entities: Writer Reader Plugins Writer Config Locale App Mixins MVC Static Data Utils Store •
Converts data from JSON to server format • Postprocesses data • Encodes data • Used in models and stores
17.
Application entities: Locale Reader Plugins Writer Config Locale App Mixins MVC Static Data Utils Store •
English to Russian translation • Loads and stores language database • __(‘String’) method • Used everywhere
18.
Application entities: MVC Reader Plugins Writer Config Locale App Mixins MVC Static Data Utils Store •
Model View Controller pattern
19.
Application entities: Static
Data Reader Plugins Writer Config Locale App Mixins MVC Static Data Utils Store • Splits data and logic • Used in stores, templates, ...
20.
Application entities: Store Reader Plugins Writer Config Locale App Mixins MVC Static Data Utils Store •
Stores array of models • Filterable • Sortable • CRUD operations • Usage: Grids, Lists, Trees, …
21.
Application entities: Utils Reader Plugins Writer Config Locale App Mixins MVC Static Data Utils Store •
Shared functions • Shared properties • Shared classes • Constants • Used everywhere
22.
Application entities: Mixins Reader Plugins Writer Config Locale App Mixins MVC Static Data Utils Store •
Multiple inheritance emulation • Similar to class • Used in other classes
23.
Application entities: Configuration Reader Plugins Writer Config Locale App Mixins MVC Static Data Utils Store •
Affects the entire application • Contains shared options • Used in classes
24.
Application entities: Plugins Reader Plugins Writer Config Locale App Mixins MVC Static Data Utils Store •
Works like a mixin, but has a visual part • Adds small visual effect to view • Used in every view
25.
Application entities: File
structure
26.
MVC Example
27.
MVC Example
28.
MVC Example: Views FeedList ArticleList ArticlePreview
29.
MVC Example: Controllers Feed Article
30.
MVC Example: Models Feed Article
31.
MVC Example: Stores Feed Article
32.
MVC Example: FeedList
view Ext.define('FV.view.FeedList', { extend: 'Ext.panel.Panel', alias : 'widget.feedlist', initComponent: function() { this.items = [{ xtype: 'dataview', store: this.store }]; this.callParent(arguments); } });
33.
MVC Example: Feed
controller Ext.define('FV.controller.Feed', { extend: 'Ext.app.Controller', stores: ['FV.store.Article'], models: ['FV.model.Feed'], init: function() { this.control({ 'feedlist dataview': { selectionchange: this.loadFeed } }); }, loadFeed: function(selModel, selected) { var store = this.getArticlesStore(); var feed = selected[0]; store.load({params: {feed: feed.get('url')}}); } });
34.
MVC Example: Feed
model Ext.define('FV.model.Feed', { extend: 'Ext.data.Model', fields: [ {name: 'url', type: 'string'}, {name: 'name', type: 'string'} ] });
35.
MVC Example: Feed
store Ext.define('FV.store.Feed', { extend: 'Ext.data.Store', model : 'FV.model.Feed', data : [ {name: 'Sencha Blog', url: '…'}, {name: 'Sencha Forums', url: '…'}, {name: 'Ajaxian', url: '…'} ] });
36.
Layers Concrete app (App NS) Reusable
layer (XXX NS) Base library (Ext NS) Browser (window NS)
37.
Scalable consists of… •
OOP (architecture and design patterns) • Program entities (store, reader, writer,…) • Class loose coupling
38.
Best practices • • • • • • • • • Documented code
conventions (JsDuck) MVC Class loose coupling Code Repository (SVN, Git) Code review Every day refactoring Architect Project knowledge sharing (dashboard) Unit tests
39.
Questions
Baixar agora