Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sandeep: Ext JS 6 - From desktops to smartphones

Sandeep: Ext JS 6 - From desktops to smartphones

Learn how to use the latest version of Sencha Ext JS to create applications for all screens from desktop to smartphones. We will create a single application targeting all screens and talk about how to maximize code sharing while ensuring the best possible user experience across all devices.

Lee Boonstra

June 05, 2015
Tweet

More Decks by Lee Boonstra

Other Decks in Technology

Transcript

  1. • Desktop UX is NOT optimal on a phone • Phone UX

    is NOT optimal on a desktop • Tablets are “up for grabs” User Experience
  2. Every JavaScript Library is NOT a Framework Cobbling together a

    bunch of libraries DON’T make them a Framework Don’t provide elegant way to cover desktops, tablets and smartphones Other Technology Choices
  3. !==   Universal Stack Views (Components) Views (Components) Core Classic

    Modern DOM Class / Loader Data MVC / VM Utilities DOM Class / Loader Data MVC / VM Utilities
  4. Give you the tools you need to create amazing experiences…

    On all devices! Ext JS Mission Statement
  5. Traditional -> Universal app   resources   sass   model

      view   controller   /   src   resources   sass   model   view   controller   classic   modern   classic   app.json   Toolkit-specific content Shared content
  6. Toolkit Specifics src   resources   sass   model  

    view   controller   classic   Ah.. I see uses ?
  7. Universal Application app resources sass classic modern / app.json sencha

     generate  app  -­‐ext  MyApp  apps/myapp  
  8. app.json   "builds":  {          "classic":  {

                     "toolkit":  "classic",                  "theme":  "theme-­‐neptune"          },                      "modern":  {                "toolkit":  "modern",                "theme":  "theme-­‐neptune"          }   }     build profile
  9. index.html <script  id      =  "microloader"      

               type  =  "text/javascript"                  src    =  "bootstrap.js">  
  10. index.html Ext.beforeLoad  =  function  (tags)  {        

     var  profile  =  tags.desktop  ?  'classic'  :  'modern';            //  var  profile  =  tags.phone  ?  'modern'  :  'classic';            if  (location.search.match(/\bclassic\b/))  {                  profile  =  'classic';          }  else  if  (location.search.match(/\bmodern\b/))  {                  profile  =  'modern';          }            Ext.manifest  =  profile;   };   platforms
  11. App Watch sencha  app  watch  classic     "builds":  {

             "classic":  {                  "toolkit":  "classic",                  "theme":  "theme-­‐neptune"          },                      "modern":  {                "toolkit":  "modern",                "theme":  "theme-­‐neptune"          }   }     sencha  app  watch  modern   required
  12. Development Build sencha  app  build  classic  development     "builds":

     {          "classic":  {                  "toolkit":  "classic",                  "theme":  "theme-­‐neptune"          },                      "modern":  {                "toolkit":  "modern",                "theme":  "theme-­‐neptune"          }   }     sencha  app  build  modern  development   optional sencha  app  build  development   build environment
  13. Classic Application app resources sass classic modern / app.json sencha

     generate  app  -­‐ext  -­‐classic  MyApp  apps/myapp  
  14. Modern Application app resources sass modern classic / app.json sencha

     generate  app  -­‐ext  -­‐modern  MyApp  apps/myapp  
  15. JetBrains Plugin for Sencha •  Supports latest versions of all

    commercial JetBrains IDEs (WebStorm 10, IntelliJ 14.1, etc...) •  Works with non-minified versions of: •  Ext JS 4+ •  Touch 2+ •  No additional project dependencies •  Works with custom classes and overrides in addition to Ext JS framework classes •  No update needed when upgrading the framework version
  16. JetBrains Plugin for Sencha •  Features •  Code Completion • 

    Code Inspection •  Code Navigation •  Code Generation •  Refactoring •  Template Creation •  Spellchecking
  17. Sencha Inspector •  Features •  Inspect Component Tree •  Inspect

    Data Stores •  Inspect Layouts •  Inspect Events •  Inspect MVC/MVVM •  Inspect Theme