Download - Choosing your PEARL in JOCEAN
![Page 1: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/1.jpg)
Choosing your PEARL in JOCEAN
Prakash Jhttp://devmanagement.wordpress.com
![Page 2: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/2.jpg)
StoryLegal Case Management Application
![Page 3: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/3.jpg)
Choose Technology Stack
Show Case a working app
Get Approvals and Move forward
![Page 4: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/4.jpg)
Choosing Technology FrameworkTech Stack
Frameworks
Full Stack
Monoliths
MeteorFlatIron
Modular
DOJO
Non Full Stack Frameworks
Macro
Monoliths
JQuery
Modular
Micro
![Page 5: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/5.jpg)
Framework vs. LibraryFramework vs. Library
Framework
Ember, Angular, Meteor, Batman
Enforce Structure and Architecture
New Application
Development
Library
Backbone, Knockout,
Spine, CanJS
Fits inside your Existing Architecture
Introducing Features in a
Phased Manner
![Page 6: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/6.jpg)
Structure the Code
Templates to Render
Views
Routing & History
Bind Data
Bare Minimum Required Categories
Communicate with the Server to fetch and update data
![Page 7: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/7.jpg)
Structuring Code - Modularity
• Divide and Conquer• Goals– Do not pollute the global namespace • To avoid namespace conflicts
– Load modules fast (even out of order)– Execute modules in the right order
• Examples: REQUIREJS, CURLJS
![Page 8: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/8.jpg)
Sepa
ratio
n of
Co
ncer
ns MVC
Backbone, Spine, Angular, Ember
MVVMKnockout Unit Tests
Structuring Code – Separation of Concerns
![Page 9: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/9.jpg)
Template Engine
Templates
DOM Based
Knockout
Declarative Polyfills
String Based
Handlebars, Mustache,
Dust.JS
Logic Less Templates
Supports SEO
Execute in both Server and Client
What happens to my UI Designer?
![Page 10: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/10.jpg)
Data BindingClient
Type of Application
Input Intensive
Mostly Read
1 way or 2 way Binding
Developer Skills
Server
RESTful
DDP
![Page 11: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/11.jpg)
Client Side Architecture Diagram
View
Template EngineTemplat
esTemplat
esTemplat
esTemplates
Templates
Templates
TemplatesRendered
Views
Routing EngineRoute DefinitionsRoute DefinitionsRoute DefinitionsRoute Definitions
Route DefinitionsRoute DefinitionsURLs / User Actions
View Model
Model
Uni
t Te
stsEn
d to
end
Tes
ts
Data-binding
Mod
ule
Libr
ary
Server API
JSON
Knockout
Knockout
Knockout
Sammy
REQUIREJS
JSON over REST
![Page 12: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/12.jpg)
Parameters
• Is it an Enterprise Application or an External Facing application?
• Am I developing something from scratch or trying to use it in an existing application?
• Do I need SEO Support? • Do I have Accessibility requirements?• Do I need to Support Older Browsers?
![Page 13: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/13.jpg)
Parameters
• Is Readability and Maintainability a key aspect?
• Am I going to use JavaScript in the Backend?• What are my requirements on Performance?• Do I need near real time updates in my
Application?
• Do I need an UI Designer to work on my project?
• What are my current developers skillset?
![Page 14: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/14.jpg)
Parameters
•How long is it in the Market?•Documentation and Samples •Is there any Editor support available?
•Can I Debug? •Do I have Community Support?•What are the dependencies?
•How much time does it take to learn?•Will this improve my application performance?•Can I write automated unit tests?
![Page 15: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/15.jpg)
Summary
![Page 16: Choosing your PEARL in JOCEAN](https://reader036.vdocuments.us/reader036/viewer/2022082501/54566fc1b1af9fba5d8b45a4/html5/thumbnails/16.jpg)
Useful Pointers Rich JavaScript Applications – the Seven Framewo
rks
Choosing a JavaScript Framework
The Pros And Cons Of JavaScript Micro-Framewor
ks
Large-scale JavaScript Application Architecture
The Top 10 JavaScript MVC Frameworks Reviewed