Suche senden
Hochladen
Scalable java script applications
•
Als PPTX, PDF herunterladen
•
0 gefällt mir
•
567 views
Good Robot
Folgen
Presentation about big JavaScript application design and architecture.
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 39
Jetzt herunterladen
Empfohlen
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
Empfohlen
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
Weitere ähnliche Inhalte
Was ist angesagt?
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
Was ist angesagt?
(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
Ähnlich wie 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
Ähnlich wie 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
Kürzlich hochgeladen
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
MounikaPolabathina
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
Rizwan Syed
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Precisely
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
Raghuram Pandurangan
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Mattias Andersson
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
LoriGlavin3
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
Lonnie McRorey
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
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
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
mohitsingh558521
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
LoriGlavin3
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Dubai Multi Commodity Centre
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Lars Bell
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Hervé Boutemy
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Alex Barbosa Coqueiro
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
Kürzlich hochgeladen
(20)
How to write a Business Continuity Plan
How to write a Business Continuity Plan
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
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
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
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
Jetzt herunterladen