Soumettre la recherche
Mettre en ligne
Scalable java script applications
•
Télécharger en tant que PPTX, PDF
•
0 j'aime
•
567 vues
Good Robot
Suivre
Presentation about big JavaScript application design and architecture.
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 39
Télécharger maintenant
Recommandé
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
Recommandé
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
Contenu connexe
Tendances
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
Tendances
(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
Similaire à 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
Similaire à 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
Dernier
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Results
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Antenna Manufacturer Coco
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Delhi Call girls
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Katpro Technologies
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Dernier
(20)
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
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
Télécharger maintenant