Choosing your PEARL in JOCEAN
-
Upload
prakash-jothiramalingam -
Category
Documents
-
view
1.240 -
download
0
description
Transcript of Choosing your PEARL in JOCEAN
Choosing your PEARL in JOCEAN
Prakash Jhttp://devmanagement.wordpress.com
StoryLegal Case Management Application
Choose Technology Stack
Show Case a working app
Get Approvals and Move forward
Choosing Technology FrameworkTech Stack
Frameworks
Full Stack
Monoliths
MeteorFlatIron
Modular
DOJO
Non Full Stack Frameworks
Macro
Monoliths
JQuery
Modular
Micro
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
Structure the Code
Templates to Render
Views
Routing & History
Bind Data
Bare Minimum Required Categories
Communicate with the Server to fetch and update data
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
Sepa
ratio
n of
Co
ncer
ns MVC
Backbone, Spine, Angular, Ember
MVVMKnockout Unit Tests
Structuring Code – Separation of Concerns
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?
Data BindingClient
Type of Application
Input Intensive
Mostly Read
1 way or 2 way Binding
Developer Skills
Server
RESTful
DDP
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
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?
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?
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?
Summary
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