SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Choosing your
PEARL in JOCEAN




         Prakash J
http://devmanagement.wordpress.com
Story
Legal Case Management
       Application
Choose Technology Stack


   Show Case a working app


Get Approvals and Move forward
Choosing Technology Framework
                                                      Tech Stack


                           Frameworks



                                                          Non Full Stack
    Full Stack
                                                           Frameworks



 Monoliths       Modular                                            Micro
                                        Macro

   Meteor
                   DOJO
   FlatIron                     Monoliths       Modular


                                    JQuery
Framework vs. Library                              Framework
                                                      vs. Library



          Framework                               Library



            Ember,
                                              Backbone,
            Angular,
                                              Knockout,
            Meteor,
                                             Spine, CanJS
            Batman


                                                             Introducing
   Enforce             New         Fits inside
                                                            Features in a
Structure and       Application   your Existing
                                                               Phased
 Architecture      Development    Architecture
                                                               Manner
Bare Minimum Required Categories
                                  Structure the
                                      Code



Routing &
 History
            Bind Data                 Templates
                                      to Render
                                        Views


                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
Structuring Code – Separation of
Concerns

                       Backbone, Spine,
Separation of


                        Angular, Ember
  Concerns

                MVC


                MVVM
                       Knockout      Unit Tests
Template Engine
                            Templates



 DOM                                                       String
 Based                                                     Based


                                                      Handlebars,
Knockout                                              Mustache,
                                                        Dust.JS


                                   Logic Less   Supports       Execute in
Declarative     Polyfills          Templates      SEO         both Server
                                                               and Client



           What happens to my UI Designer?
Data Binding
                                  Input Intensive
                  Type of
                 Application
                                   Mostly Read
               1 way or 2 way
   Client
                  Binding

               Developer Skills


                   RESTful
   Server
                    DDP
Client Side Architecture Diagram
                     Templat
                      Templat                                                Templat
                                                                              Templat
                                               Template Engine
                       Templat
                         es                                                    Templat
                                                                                 es
                          es
                           es
                        Templates                Knockout                         es
                                                                                Rendered
                                                                                   es
                                                                                  Views
End to end Tests




                                                                                                           Module Library
                                                                   Route Definitions
                                                                    Route Definitions
                                         Routing Engine              Route Definitions
                                                                      Route Definitions




                                                                                            Data-binding
                                           Sammy                   Route Definitions
                                                                    Route Definitions
                                                                      URLs / User Actions
                                                    View
                                                                                    Knockout
                   Unit Tests




                                    Knockout
                                                   View Model
                                                                                                                   REQUIREJS

                                                          Model
                                                          JSON




                                                                  JSON over REST

                                                Server API
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 Frameworks
 Choosing a JavaScript Framework
 The Pros And Cons Of JavaScript Micro-Frameworks
 Large-scale JavaScript Application Architecture
 The Top 10 JavaScript MVC Frameworks Reviewed

Contenu connexe

En vedette

Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming LanguageSimplilearn
 
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...Palo Alto Software
 
9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation9 Tips for a Work-free Vacation
9 Tips for a Work-free VacationWeekdone.com
 

En vedette (20)

Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
 
9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation
 

Choosing your PEARL in JOCEAN

  • 1. Choosing your PEARL in JOCEAN Prakash J http://devmanagement.wordpress.com
  • 3. Choose Technology Stack Show Case a working app Get Approvals and Move forward
  • 4. Choosing Technology Framework Tech Stack Frameworks Non Full Stack Full Stack Frameworks Monoliths Modular Micro Macro Meteor DOJO FlatIron Monoliths Modular JQuery
  • 5. Framework vs. Library Framework vs. Library Framework Library Ember, Backbone, Angular, Knockout, Meteor, Spine, CanJS Batman Introducing Enforce New Fits inside Features in a Structure and Application your Existing Phased Architecture Development Architecture Manner
  • 6. Bare Minimum Required Categories Structure the Code Routing & History Bind Data Templates to Render Views Communicate with the Server to fetch and update data
  • 7. 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
  • 8. Structuring Code – Separation of Concerns Backbone, Spine, Separation of Angular, Ember Concerns MVC MVVM Knockout Unit Tests
  • 9. Template Engine Templates DOM String Based Based Handlebars, Knockout Mustache, Dust.JS Logic Less Supports Execute in Declarative Polyfills Templates SEO both Server and Client What happens to my UI Designer?
  • 10. Data Binding Input Intensive Type of Application Mostly Read 1 way or 2 way Client Binding Developer Skills RESTful Server DDP
  • 11. Client Side Architecture Diagram Templat Templat Templat Templat Template Engine Templat es Templat es es es Templates Knockout es Rendered es Views End to end Tests Module Library Route Definitions Route Definitions Routing Engine Route Definitions Route Definitions Data-binding Sammy Route Definitions Route Definitions URLs / User Actions View Knockout Unit Tests Knockout View Model REQUIREJS Model JSON JSON over REST Server API
  • 12. 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?
  • 13. 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?
  • 14. 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?
  • 16. Useful Pointers  Rich JavaScript Applications – the Seven Frameworks  Choosing a JavaScript Framework  The Pros And Cons Of JavaScript Micro-Frameworks  Large-scale JavaScript Application Architecture  The Top 10 JavaScript MVC Frameworks Reviewed

Notes de l'éditeur

  1. Client has an Application built in DelphiNever ever thought Web Application can replace his desktop and didn’t want to migrate so farRecently had a look at outlook.com and got really impressed. Started getting a feeling if Hotmail can do this, why not us?Did some initial research and figured out about HTML5/JavaScript. Strongly believes it’s the way to move forwardWants to do a PoC and showcase it to the board to get the budget approvalWants to do enough research to understand the pros and cons before finalizing the technology stack
  2. Layer Diagram which involves all these components and what technologies we have chosen.
  3. Talk about the Choices and what we coveredWhy Technology Selection always based on ContextWhat is in store for you?If you are a DeveloperIf you are an ArchitectIf you are an ManagerIf you are a Business Person