SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Using Ext JS 6 for
Cross-Platform App
Development on Mobile Devices
Andrew Duncan
Founder & MD - SwarmOnline
Ext JS Essentials
2
Available to buy on:
Amazon Packt
Publishing
• Learn the Ext JS framework for developing rich
web applications
• Understand how the framework works under
the hood
• Explore the main tools and widgets of the
framework for use in your own applications
Swarm Culture
3
Innovative
Thinkers
Rapid Growth Enviable Client
List
Right Culture Enterprise
Experience
Be The Best
Provider
Client Experience
Global Tech Predictions, 2015 - 2020
5
42% 106bn 25% 20% 2m $201b
n
$6.3b
n
75%
of IT decision
makers
increase
spending on
cloud
computing
global software
as a service
market up 21
percent on
2015
of IT budgets
will be
deployed in
mobile and
tablet apps
of business
content will be
authored by
machines
employees will
be required to
wear health
and fitness
tracking
devices as a
condition of
employment
will be spent
on enterprise
apps, up from
$149.9 million
in 2015
estimated size
of the
enterprise
wearables, up
from $128
million in 2015
of
organisations
use advanced
analytics to
improve
decision
making
Digital Technologies Are Changing Businesses
6
Last 10 Years Next 10 Years
Email
Smartphones
Social Media
Web Browsers
Cloud Computing
Desktop Apps
Video
Conference Tools
Search
Cloud Computing and Storage
Tablets
Smartphones
Social Media
Mobile Apps
Web Collaboration
Tools
CMS
Wearable Tech
Thinking Like a Mobile Developer
Finger vs Mouse
A massive part of the transition to mobile development is the understanding of the user
interaction models and how they relate to browser events. Remember to always test
any complex interaction models with a physical platform - it is only then you can see
how they really react to events.
Thinking Like a Mobile Developer
Finger vs Mouse
Here are some of the most common gestures to keep in mind:
Touch End
Double Tap
(Double Click)
Tap (Click)
Swipe
Touch Start
Pinch
Thinking Like a Mobile Developer
Place yourself in your users shoes…
Remember mobile apps should be quick and
responsive!
Thinking Like a Mobile Developer
Data handling
• Reduce the amount of data being sent to the browser
• Reduce the data complexity - any time spent manipulating complex data will stop the
user being able to interact with the app
• Deeply nested and complicated data structures are highly discouraged
Thinking Like a Mobile Developer
Remember it’s a browser!
The mobile application you will be
developing is running in a browser and
therefore has limited power compared to
native mobile applications. Remembering
this will let you estimate realistic goals for
development.
Top 10 Mobile Development Considerations
Duncan’s Mobile Dev Law
Rapid
Prototyping
UI/UX Throw Away
Apps
Connectivity
Memory Capacity
& No.
Components
Consumer
Expectations
Screen Size Configurable &
Data Driven
Offline
Native v Hybrid
Mobile Development Considerations
Sencha is a great tool for rapid prototyping
• Great to show business users what they are getting before investing
• Saves rework down the line and improves specification
• Gives development team better chance of estimating correctly
Rapid Prototyping
Mobile Development Considerations
How we do it:
• Focus on getting components on screen
• Choose simple scenarios
• Consider using other tools such as Sketch and Prototype
• Pre-load stores with data
Rapid Prototyping
Mobile Development Considerations
Rapid Prototyping
Mobile Development Considerations
• User Interface focusses on a products look and functionality
• User Experience is the user journey
• A perfect UI does not necessarily mean there will be a good user
experience
• e.g. Google has a really good UI, but if it took 30 seconds to load search results
would be an example of poor UX
UI/UX
Mobile Development Considerations
Achieving good UI/UX
• Firstly be aware of UX factors when designing the UI
• Know your audience
• Use color appropriately
• Keep it simple
• Plan the user journey
UI/UX
Mobile Development Considerations
UI/UX
Mobile Development Considerations
Throw away apps are very useful in several ways
• Great for events or conferences that don’t last forever
• Low costs
• Users can delete the app from their phone
Throw Away Apps
Mobile Development Considerations
How to be successful with a throw away app
• They should be simple and have a clear purpose
• Less is more
• Make the app available prior to the event
Throw Away Apps
Mobile Development Considerations
We built an app for an ale festival
• The event’s lifetime lasted only 2 days
• Users would download this app on their phone before
or during the festival to vote each beer
• User could delete the app after the event had finished
Throw Away Apps
Mobile Development Considerations
Connectivity and Working Offline
Sencha can take full advantage of working offline
• Benefit to the user
• Don’t need to rely on a connection or data
• Boosts application performance
Connectivity is vital when app can’t be offline
• No way of accessing the app if connection lost
• A lot of apps require you to have an internet connection to interact with them
Mobile Development Considerations
Connectivity and Working Offline
Working offline is possible by using:
• HTML offline storage mediums
• localStorage and sessionStorage
Mobile Development Considerations
Connectivity and Working Offline
An app able to work offline using Ext JS called Proscient
Mobile
• Allows users to manage tasks, workflow and risk in heavy industry
• Crucial it has offline support as the user is in the field:
• on an oil platform
• rail companies underground who won’t be able to get a data connection
Mobile Development Considerations
Memory Capacity & No. of Components
iPhone 6
1GB
Samsung
S6
3GB
Average Laptop
4GB
vs vs
Mobile Development Considerations
Minimize the number of components to reduce capacity used
• The more components that are active, the more capacity will be used
• Call destroy method on a component
• Destroy method sets internal references to null
• Hint: Keep reference to important elements so they can easily be destroyed
Memory Capacity & No. of Components
Mobile Development Considerations
E-ON’s meter installation management app
• Switching tab destroys components of previous view
• Has a maximum of 6 form fields per page
• Events are triggered to render extra fields when required
Memory Capacity & No. of Components
Mobile Development Considerations
Consumer Expectations
What are these consumer expectations?
• Mobile apps and desktop apps are designed differently
• Ease of navigation
• Fast performance
• No major bugs
Mobile Development Considerations
Consumer Expectations
Meeting consumer expectations
• Avoid performance issues by keeping it lightweight
• Layout appropriately to make things easy to find
• Throw away what you don’t need
• Collect feedback on a consumers experience using the app
Mobile Development Considerations
Consumer Expectations
How we met consumer expectations
• By using a simple layout for the menu we achieved ease of use
• Keeps clutter to a minimum, with the menu taking up the full screen,
increasing performance
• Consumer survey carried out to make sure expectations were met
Mobile Development Considerations
Screen Size
Only compatible with one screen size could cause problems
• Limits the application to one device
• All potential users will have different devices
• Could affect the user experience
iPhone 6
1334x750
Retina iPad
1536x2048
Mobile Development Considerations
This is achieved by designing responsive applications:
• Components are not responsive by default to save on performance
• Use the responsive plugin on components
• Hint: Use the ‘responsiveCls’ config
Screen Size
Mobile Development Considerations
Responsive application we built:
Screen Size
iPhone iPad
Mobile Development Considerations
Configurable & Data Driven
Data-driven programming is where the data itself controls the flow of the app
• Analytics spell out what is working and what is not
• Can predict future problems before they become problems
• You can see the bigger picture
Mobile Development Considerations
Configurable & Data Driven
How this is achieved:
• Make views data bound
• Use configuration files
• Consider user interactions
Mobile Development Considerations
Configurable & Data Driven
Data-driven app for a company called AMT-Sybex:
• Users search for and review script results held on a server
• Configuration file was used to control the behaviour and look
• Config file can be extracted if local copy is not found
Mobile Development Considerations
Native
Native vs Hybrid
Hybrid
• Java, ObjectiveC
• Faster performance
• Access to hardware
• HTML5, JavaScript, CSS
• Cross-platform
• Access to hardware
through plugins
There may be times when using native more suits the needs of given requirements
Mobile Development Considerations
When building an app for a bank, they required:
Native vs Hybrid
• Smoother animations
• Native UI slick look
• Wasn’t dealing with complicated data
Overview of the Merge
Tools we would typically use
ChromeSencha Cmd Cordova PhoneGap
Overview
Sencha Architect
• Visual Sencha application creator
• Rich drag-and-drop UI builder
• Manage all parts of your app’s code
• Simple IDE built-in
Overview
Sencha Cmd
• Command line tools for generating, optimising, building and deploying Sencha apps
• Ant integration to allow custom build processes and CI integration
• Automates numerous tasks such as magnification and image-spiriting
Overview
Cordova/PhoneGap
• A hybrid app container platform
• Allows HTML5 apps to be submitted to native app stores
• Allows cross-platform distribution
• Enables access to native features through plugins
• Essentially opens our web app in a WebView browser
Overview
Cordova vs PhoneGap
• Started as PhoneGap in 2011.
• Bought by Adobe, who started Cordova as an Apache Foundation project.
• Cordova is open source platform and generally ahead of PhoneGap.
• PhoneGap is built upon Cordova but is enhanced by Adobe’s eco-system.
http://ionicframework.com/blog/what-is-cordova-phonegap
Overview
Chrome & Chrome Developer Tools
• Development and debugging environment
• We’re building a web application so Chrome provides a close approximation
of mobile devices
• Offers a huge number of tools for tweaking, debugging and optimising
applications
Overview
How do these tools fit together?
Generate New
Application
Build & Modify
Application
View & Debug
Application
Build & Deploy
Application
Create & Build
Relevant Native
Projects
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - Andrew Duncan

Weitere ähnliche Inhalte

Was ist angesagt?

No More No Repro
No More No ReproNo More No Repro
No More No Repro
Anna Russo
 

Was ist angesagt? (20)

Power Apps 101 SharePoint Saturday Lisbon 2019
Power Apps 101 SharePoint Saturday Lisbon 2019Power Apps 101 SharePoint Saturday Lisbon 2019
Power Apps 101 SharePoint Saturday Lisbon 2019
 
Web Applications Are Technically Awesome!
Web Applications Are Technically Awesome!Web Applications Are Technically Awesome!
Web Applications Are Technically Awesome!
 
PowerApps, the Developer Story: Build an API to Integrate Corporate Data
PowerApps, the Developer Story: Build an API to Integrate Corporate DataPowerApps, the Developer Story: Build an API to Integrate Corporate Data
PowerApps, the Developer Story: Build an API to Integrate Corporate Data
 
Innovation morning data analytics + ai
Innovation morning data analytics + ai Innovation morning data analytics + ai
Innovation morning data analytics + ai
 
Power Automate
Power AutomatePower Automate
Power Automate
 
PowerApps 101 SharePoint Saturday Belgium 2019
PowerApps 101 SharePoint Saturday Belgium 2019PowerApps 101 SharePoint Saturday Belgium 2019
PowerApps 101 SharePoint Saturday Belgium 2019
 
04 power apps-platform-boonthawee
04 power apps-platform-boonthawee04 power apps-platform-boonthawee
04 power apps-platform-boonthawee
 
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTreeThe Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
 
User Experience Prototyping
User Experience PrototypingUser Experience Prototyping
User Experience Prototyping
 
02 power bi in a day champ
02 power bi in a day champ02 power bi in a day champ
02 power bi in a day champ
 
01 mvp skill_power platform overview
01 mvp skill_power platform overview01 mvp skill_power platform overview
01 mvp skill_power platform overview
 
AI Builder Deepdive DynamicsPower! Brussels 2019
AI Builder Deepdive DynamicsPower! Brussels 2019AI Builder Deepdive DynamicsPower! Brussels 2019
AI Builder Deepdive DynamicsPower! Brussels 2019
 
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen PaganSenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
 
Discover PowerApps with SharePoint. Is It a Good Fit?
Discover PowerApps with SharePoint. Is It a Good Fit?Discover PowerApps with SharePoint. Is It a Good Fit?
Discover PowerApps with SharePoint. Is It a Good Fit?
 
SharePoint Saturday London 2019 - PowerApps/Flow dev vs. the admin
SharePoint Saturday London 2019 - PowerApps/Flow dev vs. the adminSharePoint Saturday London 2019 - PowerApps/Flow dev vs. the admin
SharePoint Saturday London 2019 - PowerApps/Flow dev vs. the admin
 
Power Platform (Power Automate)
Power Platform (Power Automate)Power Platform (Power Automate)
Power Platform (Power Automate)
 
No More No Repro
No More No ReproNo More No Repro
No More No Repro
 
App in an hour HandsOn session - Power Platform World Tour Copenhagen 2019
App in an hour  HandsOn session - Power Platform World Tour Copenhagen 2019App in an hour  HandsOn session - Power Platform World Tour Copenhagen 2019
App in an hour HandsOn session - Power Platform World Tour Copenhagen 2019
 
Power BI for Data Science and Machine Learning - Data Science Portugal meetup
Power BI for Data Science and Machine Learning  - Data Science Portugal meetupPower BI for Data Science and Machine Learning  - Data Science Portugal meetup
Power BI for Data Science and Machine Learning - Data Science Portugal meetup
 
MongoDB - The database strikes back
MongoDB - The database strikes back MongoDB - The database strikes back
MongoDB - The database strikes back
 

Andere mochten auch

Andere mochten auch (20)

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: 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: 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: Developing and Delivering Quality Code, Frequently - Neil Manvar
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil ManvarSenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
 
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: How to Auto Generate a Back-end in Minutes - Per Minborg, Emi...
SenchaCon 2016: How to Auto Generate a Back-end in Minutes - Per Minborg, Emi...SenchaCon 2016: How to Auto Generate a Back-end in Minutes - Per Minborg, Emi...
SenchaCon 2016: How to Auto Generate a Back-end in Minutes - Per Minborg, Emi...
 
Building Ext JS Using HATEOAS - Jeff Stano
Building Ext JS Using HATEOAS - Jeff StanoBuilding Ext JS Using HATEOAS - Jeff Stano
Building Ext JS Using HATEOAS - Jeff Stano
 
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...
 
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...
 
SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...
SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...
SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...
 
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay PlatonovSenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
 
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
 
SenchaCon 2016: JavaScript is Great but Stop Writing It - Rory Hardy
SenchaCon 2016: JavaScript is Great but Stop Writing It - Rory HardySenchaCon 2016: JavaScript is Great but Stop Writing It - Rory Hardy
SenchaCon 2016: JavaScript is Great but Stop Writing It - Rory Hardy
 
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
 
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...
 
SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...
SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...
SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...
 
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
 
SenchaCon 2016: Modernizing the Ext JS Class System - Don Griffin
SenchaCon 2016: Modernizing the Ext JS Class System - Don GriffinSenchaCon 2016: Modernizing the Ext JS Class System - Don Griffin
SenchaCon 2016: Modernizing the Ext JS Class System - Don Griffin
 
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
 
SenchaCon 2016: The Modern Toolchain - Ross Gerbasi
SenchaCon 2016: The Modern Toolchain - Ross Gerbasi   SenchaCon 2016: The Modern Toolchain - Ross Gerbasi
SenchaCon 2016: The Modern Toolchain - Ross Gerbasi
 

Ähnlich wie SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - Andrew Duncan

How To Make Your App Available Offline.pdf
How To Make Your App Available Offline.pdfHow To Make Your App Available Offline.pdf
How To Make Your App Available Offline.pdf
Satawaretechnologies1
 
Mobile app development converted
Mobile app development convertedMobile app development converted
Mobile app development converted
Sandy Gupta
 

Ähnlich wie SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - Andrew Duncan (20)

Importance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App DevelopmentImportance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App Development
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
 
web development.pdf
web development.pdfweb development.pdf
web development.pdf
 
How to Design for (Digital) Success
How to Design for (Digital) SuccessHow to Design for (Digital) Success
How to Design for (Digital) Success
 
How To Make Your App Available Offline.pdf
How To Make Your App Available Offline.pdfHow To Make Your App Available Offline.pdf
How To Make Your App Available Offline.pdf
 
Designing Mobile Apps for the Enterprise
Designing Mobile Apps for the EnterpriseDesigning Mobile Apps for the Enterprise
Designing Mobile Apps for the Enterprise
 
User Focus 2014 - Choosing The Right Mobile Approach
User Focus 2014 - Choosing The Right Mobile ApproachUser Focus 2014 - Choosing The Right Mobile Approach
User Focus 2014 - Choosing The Right Mobile Approach
 
Performance testing – mobile apps session1
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1
 
Performance testing – mobile apps session1
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1
 
React Native App Development.
React Native App Development.React Native App Development.
React Native App Development.
 
Web Based Vs Cloud Based Apps Complete Comparison (2).pdf
Web Based Vs Cloud Based Apps Complete Comparison (2).pdfWeb Based Vs Cloud Based Apps Complete Comparison (2).pdf
Web Based Vs Cloud Based Apps Complete Comparison (2).pdf
 
Web application development full & detailed guide for 2022
Web application development  full & detailed guide for 2022Web application development  full & detailed guide for 2022
Web application development full & detailed guide for 2022
 
Web Application Development Cost.pdf
Web Application Development Cost.pdfWeb Application Development Cost.pdf
Web Application Development Cost.pdf
 
Software QS Tag White Paper
Software QS Tag White PaperSoftware QS Tag White Paper
Software QS Tag White Paper
 
Mayank_Gupta
Mayank_GuptaMayank_Gupta
Mayank_Gupta
 
Insights on Android App Development, Marketing and Monetization
Insights on Android App Development, Marketing and MonetizationInsights on Android App Development, Marketing and Monetization
Insights on Android App Development, Marketing and Monetization
 
Mobile app development converted
Mobile app development convertedMobile app development converted
Mobile app development converted
 
Web Applications: Dominance and Drawbacks
Web Applications: Dominance and DrawbacksWeb Applications: Dominance and Drawbacks
Web Applications: Dominance and Drawbacks
 
Synopsis
SynopsisSynopsis
Synopsis
 
The Shortest Path to Value for Business Mobile Apps
The Shortest Path to Value for Business Mobile Apps The Shortest Path to Value for Business Mobile Apps
The Shortest Path to Value for Business Mobile Apps
 

Mehr von Sencha

Mehr von Sencha (14)

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
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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...
 

SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - Andrew Duncan

  • 1. Using Ext JS 6 for Cross-Platform App Development on Mobile Devices Andrew Duncan Founder & MD - SwarmOnline
  • 2. Ext JS Essentials 2 Available to buy on: Amazon Packt Publishing • Learn the Ext JS framework for developing rich web applications • Understand how the framework works under the hood • Explore the main tools and widgets of the framework for use in your own applications
  • 3. Swarm Culture 3 Innovative Thinkers Rapid Growth Enviable Client List Right Culture Enterprise Experience Be The Best Provider
  • 5. Global Tech Predictions, 2015 - 2020 5 42% 106bn 25% 20% 2m $201b n $6.3b n 75% of IT decision makers increase spending on cloud computing global software as a service market up 21 percent on 2015 of IT budgets will be deployed in mobile and tablet apps of business content will be authored by machines employees will be required to wear health and fitness tracking devices as a condition of employment will be spent on enterprise apps, up from $149.9 million in 2015 estimated size of the enterprise wearables, up from $128 million in 2015 of organisations use advanced analytics to improve decision making
  • 6. Digital Technologies Are Changing Businesses 6 Last 10 Years Next 10 Years Email Smartphones Social Media Web Browsers Cloud Computing Desktop Apps Video Conference Tools Search Cloud Computing and Storage Tablets Smartphones Social Media Mobile Apps Web Collaboration Tools CMS Wearable Tech
  • 7. Thinking Like a Mobile Developer Finger vs Mouse A massive part of the transition to mobile development is the understanding of the user interaction models and how they relate to browser events. Remember to always test any complex interaction models with a physical platform - it is only then you can see how they really react to events.
  • 8. Thinking Like a Mobile Developer Finger vs Mouse Here are some of the most common gestures to keep in mind: Touch End Double Tap (Double Click) Tap (Click) Swipe Touch Start Pinch
  • 9. Thinking Like a Mobile Developer Place yourself in your users shoes… Remember mobile apps should be quick and responsive!
  • 10. Thinking Like a Mobile Developer Data handling • Reduce the amount of data being sent to the browser • Reduce the data complexity - any time spent manipulating complex data will stop the user being able to interact with the app • Deeply nested and complicated data structures are highly discouraged
  • 11. Thinking Like a Mobile Developer Remember it’s a browser! The mobile application you will be developing is running in a browser and therefore has limited power compared to native mobile applications. Remembering this will let you estimate realistic goals for development.
  • 12. Top 10 Mobile Development Considerations Duncan’s Mobile Dev Law Rapid Prototyping UI/UX Throw Away Apps Connectivity Memory Capacity & No. Components Consumer Expectations Screen Size Configurable & Data Driven Offline Native v Hybrid
  • 13. Mobile Development Considerations Sencha is a great tool for rapid prototyping • Great to show business users what they are getting before investing • Saves rework down the line and improves specification • Gives development team better chance of estimating correctly Rapid Prototyping
  • 14. Mobile Development Considerations How we do it: • Focus on getting components on screen • Choose simple scenarios • Consider using other tools such as Sketch and Prototype • Pre-load stores with data Rapid Prototyping
  • 16. Mobile Development Considerations • User Interface focusses on a products look and functionality • User Experience is the user journey • A perfect UI does not necessarily mean there will be a good user experience • e.g. Google has a really good UI, but if it took 30 seconds to load search results would be an example of poor UX UI/UX
  • 17. Mobile Development Considerations Achieving good UI/UX • Firstly be aware of UX factors when designing the UI • Know your audience • Use color appropriately • Keep it simple • Plan the user journey UI/UX
  • 19. Mobile Development Considerations Throw away apps are very useful in several ways • Great for events or conferences that don’t last forever • Low costs • Users can delete the app from their phone Throw Away Apps
  • 20. Mobile Development Considerations How to be successful with a throw away app • They should be simple and have a clear purpose • Less is more • Make the app available prior to the event Throw Away Apps
  • 21. Mobile Development Considerations We built an app for an ale festival • The event’s lifetime lasted only 2 days • Users would download this app on their phone before or during the festival to vote each beer • User could delete the app after the event had finished Throw Away Apps
  • 22. Mobile Development Considerations Connectivity and Working Offline Sencha can take full advantage of working offline • Benefit to the user • Don’t need to rely on a connection or data • Boosts application performance Connectivity is vital when app can’t be offline • No way of accessing the app if connection lost • A lot of apps require you to have an internet connection to interact with them
  • 23. Mobile Development Considerations Connectivity and Working Offline Working offline is possible by using: • HTML offline storage mediums • localStorage and sessionStorage
  • 24. Mobile Development Considerations Connectivity and Working Offline An app able to work offline using Ext JS called Proscient Mobile • Allows users to manage tasks, workflow and risk in heavy industry • Crucial it has offline support as the user is in the field: • on an oil platform • rail companies underground who won’t be able to get a data connection
  • 25. Mobile Development Considerations Memory Capacity & No. of Components iPhone 6 1GB Samsung S6 3GB Average Laptop 4GB vs vs
  • 26. Mobile Development Considerations Minimize the number of components to reduce capacity used • The more components that are active, the more capacity will be used • Call destroy method on a component • Destroy method sets internal references to null • Hint: Keep reference to important elements so they can easily be destroyed Memory Capacity & No. of Components
  • 27. Mobile Development Considerations E-ON’s meter installation management app • Switching tab destroys components of previous view • Has a maximum of 6 form fields per page • Events are triggered to render extra fields when required Memory Capacity & No. of Components
  • 28. Mobile Development Considerations Consumer Expectations What are these consumer expectations? • Mobile apps and desktop apps are designed differently • Ease of navigation • Fast performance • No major bugs
  • 29. Mobile Development Considerations Consumer Expectations Meeting consumer expectations • Avoid performance issues by keeping it lightweight • Layout appropriately to make things easy to find • Throw away what you don’t need • Collect feedback on a consumers experience using the app
  • 30. Mobile Development Considerations Consumer Expectations How we met consumer expectations • By using a simple layout for the menu we achieved ease of use • Keeps clutter to a minimum, with the menu taking up the full screen, increasing performance • Consumer survey carried out to make sure expectations were met
  • 31. Mobile Development Considerations Screen Size Only compatible with one screen size could cause problems • Limits the application to one device • All potential users will have different devices • Could affect the user experience iPhone 6 1334x750 Retina iPad 1536x2048
  • 32. Mobile Development Considerations This is achieved by designing responsive applications: • Components are not responsive by default to save on performance • Use the responsive plugin on components • Hint: Use the ‘responsiveCls’ config Screen Size
  • 33. Mobile Development Considerations Responsive application we built: Screen Size iPhone iPad
  • 34. Mobile Development Considerations Configurable & Data Driven Data-driven programming is where the data itself controls the flow of the app • Analytics spell out what is working and what is not • Can predict future problems before they become problems • You can see the bigger picture
  • 35. Mobile Development Considerations Configurable & Data Driven How this is achieved: • Make views data bound • Use configuration files • Consider user interactions
  • 36. Mobile Development Considerations Configurable & Data Driven Data-driven app for a company called AMT-Sybex: • Users search for and review script results held on a server • Configuration file was used to control the behaviour and look • Config file can be extracted if local copy is not found
  • 37. Mobile Development Considerations Native Native vs Hybrid Hybrid • Java, ObjectiveC • Faster performance • Access to hardware • HTML5, JavaScript, CSS • Cross-platform • Access to hardware through plugins There may be times when using native more suits the needs of given requirements
  • 38. Mobile Development Considerations When building an app for a bank, they required: Native vs Hybrid • Smoother animations • Native UI slick look • Wasn’t dealing with complicated data
  • 39. Overview of the Merge Tools we would typically use ChromeSencha Cmd Cordova PhoneGap
  • 40. Overview Sencha Architect • Visual Sencha application creator • Rich drag-and-drop UI builder • Manage all parts of your app’s code • Simple IDE built-in
  • 41. Overview Sencha Cmd • Command line tools for generating, optimising, building and deploying Sencha apps • Ant integration to allow custom build processes and CI integration • Automates numerous tasks such as magnification and image-spiriting
  • 42. Overview Cordova/PhoneGap • A hybrid app container platform • Allows HTML5 apps to be submitted to native app stores • Allows cross-platform distribution • Enables access to native features through plugins • Essentially opens our web app in a WebView browser
  • 43. Overview Cordova vs PhoneGap • Started as PhoneGap in 2011. • Bought by Adobe, who started Cordova as an Apache Foundation project. • Cordova is open source platform and generally ahead of PhoneGap. • PhoneGap is built upon Cordova but is enhanced by Adobe’s eco-system. http://ionicframework.com/blog/what-is-cordova-phonegap
  • 44. Overview Chrome & Chrome Developer Tools • Development and debugging environment • We’re building a web application so Chrome provides a close approximation of mobile devices • Offers a huge number of tools for tweaking, debugging and optimising applications
  • 45. Overview How do these tools fit together? Generate New Application Build & Modify Application View & Debug Application Build & Deploy Application Create & Build Relevant Native Projects

Hinweis der Redaktion

  1. This is an example of an app we have built for a company called Petrotechnics, that is compatible across different screen sizes. This is what it looks like on an iPhone V how it looks on an iPad. As you can see this the size of the components have changed to suit the needs of this new screen size.