SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Tuesday, November 30, 2010
Developing in HTML5
                              Widgetbox & Sencha Touch



                                 GILES GOODWIN, WIDGETBOX



Tuesday, November 30, 2010
Widgetbox Mobile




Tuesday, November 30, 2010
Widgetbox Mobile
                                     HTML5 Mobile App Builder
                             Non-developers build their own mobile apps
                                Distribute the apps through the web




Tuesday, November 30, 2010
Tuesday, November 30, 2010
Over 1000 apps made



Tuesday, November 30, 2010
Demo: Build an App




Tuesday, November 30, 2010
Dissection of the App




Tuesday, November 30, 2010
Architecture
       App Base
       Navigation Style
       Page Types
       Pages
       Theme
       Page Sets
       Extras




Tuesday, November 30, 2010
Setup
          Ext.setup({
              phoneIcon: icon,
              phoneStartupScreen: startupScreen,
              fullscreen: true,
              onReady: function() {
                ...
                var viewport = new Ext.TabPanel({
                    fullscreen: true,
                    items: pagesArray
                });
                ...
              }
          });

Tuesday, November 30, 2010
List Pages
       List/Detail page types
       One panel
       Two cards: TableView and
       DetailView
       TableView extends List/DataView
       DetailView extends Panel




Tuesday, November 30, 2010
List View Page Types
          Wbx.feed.FeedListView = Ext.extend(Ext.List, {
              itemSelector: 'li.entry', singleSelect: true,
          ! itemTpl: new Ext.XTemplate(
          ! ...
          ! ! <li class="entry">...</li>
          ! ...
              ), constructor: function(config) {
               config.proxy =
                   new Wbx.date.FeedProxy({feedUrl:config.feedUrl});
                  config.store = new Ext.data.Store({
                       proxy: config.proxy, model: 'FeedEntry'
          ! ! ! ...
                     });
            feed.FeedListView.superclass.constructor.call(this,
            config);
              },
          ! // Other FeedListView specific overrides...
          });



Tuesday, November 30, 2010
Image Carousel
       Display set photos
       Swipe between photos
       Sencha Carousel Used
       PhotosDetail has a Carousel




Tuesday, November 30, 2010
Carousel Page Types
          Wbx.photos.PhotoCarousel = Ext.extend
          (Wbx.PageViewController, {
              constructor: function(config) {
          ! !
                  this.carousel = new Ext.Carousel({
                      items: photoPanels
                  });
                  this.items = [this.carousel];

                             photos.PhotoCarousel.superclass.constructor.call
                             (this, config);
                   },
          !       ...
                   setPhoto: function(index) {
                       var photoCard = this.photoCards[index];
                       photoCard.doLayout();
                       this.carousel.setActiveItem(photoCard);
                   }
          });



Tuesday, November 30, 2010
Input Pages
       For input pages we used our code
       Post data to rest service
       Graphics package integration
       gRaphaël




Tuesday, November 30, 2010
Input Page Types: JSONP
          Ext.util.JSONP.request({
            url: voteApiUrl,               
            callbackKey: 'wbx_callback',          

            params: {                   
              wbx_token: WbxMobileSite.token
            },

              callback: function(result) {
                  panel.getResults(true);
             }
          });


Tuesday, November 30, 2010
Advanced UI
       Sections
       Time/Date
       Sorted
       Sub Navigation
       Split button
       More Menu
       ListView




Tuesday, November 30, 2010
Themes
       Colors
       Title and Tab bar
       Text and Backgrounds
       Fonts
       Titles
       Items and Details
       Style Elements
       Icons
       Gradients




Tuesday, November 30, 2010
SASS Setup
          // Let's start with the basics
          $base_color: #7c92ae;
          $base_gradient: 'glossy';

          // Lists
          $list_active_gradient: 'bevel';
          $list_header_gradient: 'matte';

          @import 'sencha-touch/default/all';

          @include sencha-panel;
          @include sencha-buttons;
          ...

Tuesday, November 30, 2010
Comparing Sencha with
                         Rolling-Your-Own Code



Tuesday, November 30, 2010
Scrolling




Tuesday, November 30, 2010
Scrolling
                                        Docking : Pinning
                             Touch Event Management: Scroll not tap
                                   Scroll Up Here, Right There
                                     Smooth : Feels Native




Tuesday, November 30, 2010
Cross-Device




Tuesday, November 30, 2010
Cross-Device
                                    Android
                                iPhone versions
                                  iOS devices
                               Future platforms




Tuesday, November 30, 2010
Cost Savings




Tuesday, November 30, 2010
Cost Savings
                             Developers can focus on features
                                         Less QA
                               Overall maintenance savings




Tuesday, November 30, 2010
Tips & Tricks




Tuesday, November 30, 2010
Some tricks we like




Tuesday, November 30, 2010
Some tricks we like
                              Base-64 and inline images in CSS
                                   Load data on demand




Tuesday, November 30, 2010
Web App Performance




Tuesday, November 30, 2010
Web App Performance
                                       GZIP
                                       CDN
                                      Inline
                                    Keep-Alive




Tuesday, November 30, 2010
Thanks!
                         Questions/Comments?



Tuesday, November 30, 2010

Weitere ähnliche Inhalte

Ähnlich wie Developing in HTML5: Widgetbox & Sencha Touch

SenchaCon 2010 Keynote by CEO Abe Elias
SenchaCon 2010 Keynote by CEO Abe EliasSenchaCon 2010 Keynote by CEO Abe Elias
SenchaCon 2010 Keynote by CEO Abe EliasSencha
 
Best Practices in Ext GWT
Best Practices in Ext GWTBest Practices in Ext GWT
Best Practices in Ext GWTSencha
 
Sencha Touch for the Mobile Web
Sencha Touch for the Mobile WebSencha Touch for the Mobile Web
Sencha Touch for the Mobile WebSencha
 
Introducing Ext GWT 3
Introducing Ext GWT 3Introducing Ext GWT 3
Introducing Ext GWT 3Sencha
 
The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project ArgoWesley Lindamood
 
Cassandra devoxx 2010
Cassandra devoxx 2010Cassandra devoxx 2010
Cassandra devoxx 2010jbellis
 
08 Table Views
08 Table Views08 Table Views
08 Table ViewsMahmoud
 
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...Atlassian
 
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...Atlassian
 
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...Atlassian
 
Creating Ext JS Extensions and Components
Creating Ext JS Extensions and ComponentsCreating Ext JS Extensions and Components
Creating Ext JS Extensions and ComponentsSencha
 
Multi dimensional profiling
Multi dimensional profilingMulti dimensional profiling
Multi dimensional profilingbergel
 
Boosting performance with Mysql partitions
Boosting performance with Mysql partitionsBoosting performance with Mysql partitions
Boosting performance with Mysql partitionsGiuseppe Maxia
 
Responsive Design for the Web
Responsive Design for the WebResponsive Design for the Web
Responsive Design for the Webjonbuda
 
Sencha Touch Workshop
Sencha Touch WorkshopSencha Touch Workshop
Sencha Touch WorkshopDavid Kaneda
 
Introduction to Raphaël
Introduction to RaphaëlIntroduction to Raphaël
Introduction to RaphaëlSencha
 
Data Loading for Ext GWT
Data Loading for Ext GWTData Loading for Ext GWT
Data Loading for Ext GWTSencha
 

Ähnlich wie Developing in HTML5: Widgetbox & Sencha Touch (20)

SenchaCon 2010 Keynote by CEO Abe Elias
SenchaCon 2010 Keynote by CEO Abe EliasSenchaCon 2010 Keynote by CEO Abe Elias
SenchaCon 2010 Keynote by CEO Abe Elias
 
Best Practices in Ext GWT
Best Practices in Ext GWTBest Practices in Ext GWT
Best Practices in Ext GWT
 
Sencha Touch for the Mobile Web
Sencha Touch for the Mobile WebSencha Touch for the Mobile Web
Sencha Touch for the Mobile Web
 
Introducing Ext GWT 3
Introducing Ext GWT 3Introducing Ext GWT 3
Introducing Ext GWT 3
 
The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project Argo
 
Cassandra devoxx 2010
Cassandra devoxx 2010Cassandra devoxx 2010
Cassandra devoxx 2010
 
08 table views
08 table views08 table views
08 table views
 
08 Table Views
08 Table Views08 Table Views
08 Table Views
 
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
 
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
 
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
 
Human Capital 3.0
Human Capital 3.0Human Capital 3.0
Human Capital 3.0
 
Creating Ext JS Extensions and Components
Creating Ext JS Extensions and ComponentsCreating Ext JS Extensions and Components
Creating Ext JS Extensions and Components
 
Multi dimensional profiling
Multi dimensional profilingMulti dimensional profiling
Multi dimensional profiling
 
Boosting performance with Mysql partitions
Boosting performance with Mysql partitionsBoosting performance with Mysql partitions
Boosting performance with Mysql partitions
 
Responsive Design for the Web
Responsive Design for the WebResponsive Design for the Web
Responsive Design for the Web
 
The jQuery Divide
The jQuery DivideThe jQuery Divide
The jQuery Divide
 
Sencha Touch Workshop
Sencha Touch WorkshopSencha Touch Workshop
Sencha Touch Workshop
 
Introduction to Raphaël
Introduction to RaphaëlIntroduction to Raphaël
Introduction to Raphaël
 
Data Loading for Ext GWT
Data Loading for Ext GWTData Loading for Ext GWT
Data Loading for Ext GWT
 

Mehr von Sencha

Breathe New Life into Your Existing JavaScript Applications with Web Components
Breathe New Life into Your Existing JavaScript Applications with Web ComponentsBreathe New Life into Your Existing JavaScript Applications with Web Components
Breathe New Life into Your Existing JavaScript Applications with Web ComponentsSencha
 
Ext JS 6.6 Highlights
Ext JS 6.6 HighlightsExt JS 6.6 Highlights
Ext JS 6.6 HighlightsSencha
 
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...Sencha
 
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha
 
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha
 
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha
 
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha
 
Sencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
Sencha Roadshow 2017: Modernizing the Ext JS Class System and ToolingSencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
Sencha Roadshow 2017: Modernizing the Ext JS Class System and ToolingSencha
 
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha
 
Sencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Mobile First or Desktop FirstSencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Mobile First or Desktop FirstSencha
 
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and BeyondSencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and BeyondSencha
 
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
Leveraging React and GraphQL to Create a Performant, Scalable Data GridLeveraging React and GraphQL to Create a Performant, Scalable Data Grid
Leveraging React and GraphQL to Create a Performant, Scalable Data GridSencha
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportSencha
 
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React AppsIntroducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React AppsSencha
 
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark BrocatoSenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark BrocatoSencha
 
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...Sencha
 
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...Sencha
 
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web AppsSenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web AppsSencha
 
Ext JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell SimeonsExt JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell SimeonsSencha
 
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...Sencha
 

Mehr von Sencha (20)

Breathe New Life into Your Existing JavaScript Applications with Web Components
Breathe New Life into Your Existing JavaScript Applications with Web ComponentsBreathe New Life into Your Existing JavaScript Applications with Web Components
Breathe New Life into Your Existing JavaScript Applications with Web Components
 
Ext JS 6.6 Highlights
Ext JS 6.6 HighlightsExt JS 6.6 Highlights
Ext JS 6.6 Highlights
 
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
 
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
 
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
 
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha Test
 
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
 
Sencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
Sencha Roadshow 2017: Modernizing the Ext JS Class System and ToolingSencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
Sencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
 
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
 
Sencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Mobile First or Desktop FirstSencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Mobile First or Desktop First
 
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and BeyondSencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
 
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
Leveraging React and GraphQL to Create a Performant, Scalable Data GridLeveraging React and GraphQL to Create a Performant, Scalable Data Grid
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
 
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React AppsIntroducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
 
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark BrocatoSenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
 
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
 
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
 
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web AppsSenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
 
Ext JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell SimeonsExt JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell Simeons
 
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
 

Kürzlich hochgeladen

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Developing in HTML5: Widgetbox & Sencha Touch

  • 2. Developing in HTML5 Widgetbox & Sencha Touch GILES GOODWIN, WIDGETBOX Tuesday, November 30, 2010
  • 4. Widgetbox Mobile HTML5 Mobile App Builder Non-developers build their own mobile apps Distribute the apps through the web Tuesday, November 30, 2010
  • 6. Over 1000 apps made Tuesday, November 30, 2010
  • 7. Demo: Build an App Tuesday, November 30, 2010
  • 8. Dissection of the App Tuesday, November 30, 2010
  • 9. Architecture App Base Navigation Style Page Types Pages Theme Page Sets Extras Tuesday, November 30, 2010
  • 10. Setup Ext.setup({ phoneIcon: icon, phoneStartupScreen: startupScreen, fullscreen: true, onReady: function() { ... var viewport = new Ext.TabPanel({ fullscreen: true, items: pagesArray }); ... } }); Tuesday, November 30, 2010
  • 11. List Pages List/Detail page types One panel Two cards: TableView and DetailView TableView extends List/DataView DetailView extends Panel Tuesday, November 30, 2010
  • 12. List View Page Types Wbx.feed.FeedListView = Ext.extend(Ext.List, { itemSelector: 'li.entry', singleSelect: true, ! itemTpl: new Ext.XTemplate( ! ... ! ! <li class="entry">...</li> ! ... ), constructor: function(config) { config.proxy = new Wbx.date.FeedProxy({feedUrl:config.feedUrl}); config.store = new Ext.data.Store({ proxy: config.proxy, model: 'FeedEntry' ! ! ! ... }); feed.FeedListView.superclass.constructor.call(this, config); }, ! // Other FeedListView specific overrides... }); Tuesday, November 30, 2010
  • 13. Image Carousel Display set photos Swipe between photos Sencha Carousel Used PhotosDetail has a Carousel Tuesday, November 30, 2010
  • 14. Carousel Page Types Wbx.photos.PhotoCarousel = Ext.extend (Wbx.PageViewController, { constructor: function(config) { ! ! this.carousel = new Ext.Carousel({ items: photoPanels }); this.items = [this.carousel]; photos.PhotoCarousel.superclass.constructor.call (this, config); }, ! ... setPhoto: function(index) { var photoCard = this.photoCards[index]; photoCard.doLayout(); this.carousel.setActiveItem(photoCard); } }); Tuesday, November 30, 2010
  • 15. Input Pages For input pages we used our code Post data to rest service Graphics package integration gRaphaël Tuesday, November 30, 2010
  • 16. Input Page Types: JSONP Ext.util.JSONP.request({ url: voteApiUrl,                callbackKey: 'wbx_callback',           params: {                    wbx_token: WbxMobileSite.token   }, callback: function(result) {         panel.getResults(true);    } }); Tuesday, November 30, 2010
  • 17. Advanced UI Sections Time/Date Sorted Sub Navigation Split button More Menu ListView Tuesday, November 30, 2010
  • 18. Themes Colors Title and Tab bar Text and Backgrounds Fonts Titles Items and Details Style Elements Icons Gradients Tuesday, November 30, 2010
  • 19. SASS Setup // Let's start with the basics $base_color: #7c92ae; $base_gradient: 'glossy'; // Lists $list_active_gradient: 'bevel'; $list_header_gradient: 'matte'; @import 'sencha-touch/default/all'; @include sencha-panel; @include sencha-buttons; ... Tuesday, November 30, 2010
  • 20. Comparing Sencha with Rolling-Your-Own Code Tuesday, November 30, 2010
  • 22. Scrolling Docking : Pinning Touch Event Management: Scroll not tap Scroll Up Here, Right There Smooth : Feels Native Tuesday, November 30, 2010
  • 24. Cross-Device Android iPhone versions iOS devices Future platforms Tuesday, November 30, 2010
  • 26. Cost Savings Developers can focus on features Less QA Overall maintenance savings Tuesday, November 30, 2010
  • 27. Tips & Tricks Tuesday, November 30, 2010
  • 28. Some tricks we like Tuesday, November 30, 2010
  • 29. Some tricks we like Base-64 and inline images in CSS Load data on demand Tuesday, November 30, 2010
  • 30. Web App Performance Tuesday, November 30, 2010
  • 31. Web App Performance GZIP CDN Inline Keep-Alive Tuesday, November 30, 2010
  • 32. Thanks! Questions/Comments? Tuesday, November 30, 2010