SlideShare a Scribd company logo
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

More Related Content

PPTX
SenchaCon 2016: Web Development at the Speed of Thought: Succeeding in the Ap...
PPTX
SenchaCon 2016: Ext JS App Modernization Showcase - Richard Milone
PPTX
SenchaCon 2016: Refine Enterprise Applications by Focusing on U0ser Experienc...
PPTX
Introduction to Microsoft Flow & PowerApps
PPTX
Power Apps community call_April 2020
PPTX
SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...
PDF
Eitan koren portfolio
SenchaCon 2016: Web Development at the Speed of Thought: Succeeding in the Ap...
SenchaCon 2016: Ext JS App Modernization Showcase - Richard Milone
SenchaCon 2016: Refine Enterprise Applications by Focusing on U0ser Experienc...
Introduction to Microsoft Flow & PowerApps
Power Apps community call_April 2020
SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...
Eitan koren portfolio

What's hot (20)

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

Viewers also liked (20)

PPTX
Ext JS Architecture Best Practices - Mitchell Simeons
PPT
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
PPTX
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
PPTX
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
PPT
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
PPTX
SenchaCon 2016: How to Auto Generate a Back-end in Minutes - Per Minborg, Emi...
PPTX
Building Ext JS Using HATEOAS - Jeff Stano
PPTX
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...
PPTX
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...
PPTX
SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...
PPTX
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
PPTX
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
PPTX
SenchaCon 2016: JavaScript is Great but Stop Writing It - Rory Hardy
PPT
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
PPTX
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
PPTX
SenchaCon 2016: How to Give your Sencha App Real-time Web Performance - James...
PPTX
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
PPTX
SenchaCon 2016: Modernizing the Ext JS Class System - Don Griffin
PPTX
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
PPTX
SenchaCon 2016: The Modern Toolchain - Ross Gerbasi
Ext JS Architecture Best Practices - Mitchell Simeons
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
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: How to Auto Generate a Back-end in Minutes - Per Minborg, Emi...
Building Ext JS Using HATEOAS - Jeff Stano
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...
SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
SenchaCon 2016: JavaScript is Great but Stop Writing It - Rory Hardy
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: How to Give your Sencha App Real-time Web Performance - James...
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
SenchaCon 2016: Modernizing the Ext JS Class System - Don Griffin
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
SenchaCon 2016: The Modern Toolchain - Ross Gerbasi
Ad

Similar to SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - Andrew Duncan (20)

PPTX
Importance of Mobile App Architecture For Mobile App Development
PDF
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
PDF
web development.pdf
PDF
How to Design for (Digital) Success
PDF
Are You Building a Web App That Works—or One That Wins.pdf
PDF
How To Make Your App Available Offline.pdf
PPTX
Designing Mobile Apps for the Enterprise
PDF
User Focus 2014 - Choosing The Right Mobile Approach
PPTX
Performance testing – mobile apps session1
PPTX
Performance testing – mobile apps session1
PDF
Best Practices for React Native Apps in Canada’s Tech Scene
PPTX
Top Custom App Development Trends That You Shouldn’t Miss
PDF
React Native App Development.
PDF
Web Based Vs Cloud Based Apps Complete Comparison (2).pdf
PDF
Web application development full & detailed guide for 2022
PDF
Web Application Development Cost.pdf
PDF
Software QS Tag White Paper
DOC
Mayank_Gupta
PPTX
Insights on Android App Development, Marketing and Monetization
PDF
Mobile app development converted
Importance of Mobile App Architecture For Mobile App Development
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
web development.pdf
How to Design for (Digital) Success
Are You Building a Web App That Works—or One That Wins.pdf
How To Make Your App Available Offline.pdf
Designing Mobile Apps for the Enterprise
User Focus 2014 - Choosing The Right Mobile Approach
Performance testing – mobile apps session1
Performance testing – mobile apps session1
Best Practices for React Native Apps in Canada’s Tech Scene
Top Custom App Development Trends That You Shouldn’t Miss
React Native App Development.
Web Based Vs Cloud Based Apps Complete Comparison (2).pdf
Web application development full & detailed guide for 2022
Web Application Development Cost.pdf
Software QS Tag White Paper
Mayank_Gupta
Insights on Android App Development, Marketing and Monetization
Mobile app development converted

More from Sencha (14)

PDF
Breathe New Life into Your Existing JavaScript Applications with Web Components
PDF
Ext JS 6.6 Highlights
PDF
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
PDF
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
PDF
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
PDF
Sencha Roadshow 2017: What's New in Sencha Test
PDF
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
PDF
Sencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
PDF
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
PDF
Sencha Roadshow 2017: Mobile First or Desktop First
PDF
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
PDF
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
PDF
Learn Key Insights from The State of Web Application Testing Research Report
PPTX
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
Breathe New Life into Your Existing JavaScript Applications with Web Components
Ext JS 6.6 Highlights
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
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: What's New in Sencha Test
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: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
Learn Key Insights from The State of Web Application Testing Research Report
Introducing ExtReact: Adding Powerful Sencha Components to React Apps

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Machine Learning_overview_presentation.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Encapsulation theory and applications.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
1. Introduction to Computer Programming.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Big Data Technologies - Introduction.pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Encapsulation_ Review paper, used for researhc scholars
Per capita expenditure prediction using model stacking based on satellite ima...
Machine Learning_overview_presentation.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
SOPHOS-XG Firewall Administrator PPT.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Unlocking AI with Model Context Protocol (MCP)
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Encapsulation theory and applications.pdf
Assigned Numbers - 2025 - Bluetooth® Document
1. Introduction to Computer Programming.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Reach Out and Touch Someone: Haptics and Empathic Computing
Big Data Technologies - Introduction.pptx
Getting Started with Data Integration: FME Form 101
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

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

Editor's Notes

  • #34: 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.