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

Sencha
SenchaSencha
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
1 de 46

Recomendados

SenchaCon 2016: Web Development at the Speed of Thought: Succeeding in the Ap... por
SenchaCon 2016: Web Development at the Speed of Thought: Succeeding in the Ap...SenchaCon 2016: Web Development at the Speed of Thought: Succeeding in the Ap...
SenchaCon 2016: Web Development at the Speed of Thought: Succeeding in the Ap...Sencha
216 visualizações29 slides
SenchaCon 2016: Ext JS App Modernization Showcase - Richard Milone por
SenchaCon 2016: Ext JS App Modernization Showcase - Richard MiloneSenchaCon 2016: Ext JS App Modernization Showcase - Richard Milone
SenchaCon 2016: Ext JS App Modernization Showcase - Richard MiloneSencha
343 visualizações25 slides
SenchaCon 2016: Refine Enterprise Applications by Focusing on U0ser Experienc... por
SenchaCon 2016: Refine Enterprise Applications by Focusing on U0ser Experienc...SenchaCon 2016: Refine Enterprise Applications by Focusing on U0ser Experienc...
SenchaCon 2016: Refine Enterprise Applications by Focusing on U0ser Experienc...Sencha
403 visualizações52 slides
Introduction to Microsoft Flow & PowerApps por
Introduction to Microsoft Flow & PowerAppsIntroduction to Microsoft Flow & PowerApps
Introduction to Microsoft Flow & PowerAppsJoAnna Cheshire
6.6K visualizações34 slides
Power Apps community call_April 2020 por
Power Apps community call_April 2020Power Apps community call_April 2020
Power Apps community call_April 2020Microsoft 365 Developer
337 visualizações39 slides
SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D... por
SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...
SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...Sencha
417 visualizações31 slides

Mais conteúdo relacionado

Mais procurados

Power Apps 101 SharePoint Saturday Lisbon 2019 por
Power Apps 101 SharePoint Saturday Lisbon 2019Power Apps 101 SharePoint Saturday Lisbon 2019
Power Apps 101 SharePoint Saturday Lisbon 2019Rebekka Aalbers-de Jong
308 visualizações67 slides
Web Applications Are Technically Awesome! por
Web Applications Are Technically Awesome!Web Applications Are Technically Awesome!
Web Applications Are Technically Awesome!MediaFront
1.6K visualizações26 slides
PowerApps, the Developer Story: Build an API to Integrate Corporate Data por
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 DataBram de Jager
2.2K visualizações32 slides
Innovation morning data analytics + ai por
Innovation morning data analytics + ai Innovation morning data analytics + ai
Innovation morning data analytics + ai Claudia Angelelli
67 visualizações91 slides
Power Automate por
Power AutomatePower Automate
Power AutomateFausto Capellan Jr
5.4K visualizações20 slides
PowerApps 101 SharePoint Saturday Belgium 2019 por
PowerApps 101 SharePoint Saturday Belgium 2019PowerApps 101 SharePoint Saturday Belgium 2019
PowerApps 101 SharePoint Saturday Belgium 2019Rebekka Aalbers-de Jong
268 visualizações64 slides

Mais procurados(20)

Power Apps 101 SharePoint Saturday Lisbon 2019 por Rebekka Aalbers-de Jong
Power Apps 101 SharePoint Saturday Lisbon 2019Power Apps 101 SharePoint Saturday Lisbon 2019
Power Apps 101 SharePoint Saturday Lisbon 2019
Rebekka Aalbers-de Jong308 visualizações
Web Applications Are Technically Awesome! por MediaFront
Web Applications Are Technically Awesome!Web Applications Are Technically Awesome!
Web Applications Are Technically Awesome!
MediaFront1.6K visualizações
PowerApps, the Developer Story: Build an API to Integrate Corporate Data por Bram de Jager
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
Bram de Jager2.2K visualizações
Innovation morning data analytics + ai por Claudia Angelelli
Innovation morning data analytics + ai Innovation morning data analytics + ai
Innovation morning data analytics + ai
Claudia Angelelli67 visualizações
Power Automate por Fausto Capellan Jr
Power AutomatePower Automate
Power Automate
Fausto Capellan Jr5.4K visualizações
PowerApps 101 SharePoint Saturday Belgium 2019 por Rebekka Aalbers-de Jong
PowerApps 101 SharePoint Saturday Belgium 2019PowerApps 101 SharePoint Saturday Belgium 2019
PowerApps 101 SharePoint Saturday Belgium 2019
Rebekka Aalbers-de Jong268 visualizações
04 power apps-platform-boonthawee por Kumton Suttiraksiri
04 power apps-platform-boonthawee04 power apps-platform-boonthawee
04 power apps-platform-boonthawee
Kumton Suttiraksiri696 visualizações
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree por 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
RedBlackTree540 visualizações
02 power bi in a day champ por Kumton Suttiraksiri
02 power bi in a day champ02 power bi in a day champ
02 power bi in a day champ
Kumton Suttiraksiri644 visualizações
01 mvp skill_power platform overview por Kumton Suttiraksiri
01 mvp skill_power platform overview01 mvp skill_power platform overview
01 mvp skill_power platform overview
Kumton Suttiraksiri745 visualizações
AI Builder Deepdive DynamicsPower! Brussels 2019 por Rebekka Aalbers-de Jong
AI Builder Deepdive DynamicsPower! Brussels 2019AI Builder Deepdive DynamicsPower! Brussels 2019
AI Builder Deepdive DynamicsPower! Brussels 2019
Rebekka Aalbers-de Jong386 visualizações
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan por Sencha
SenchaCon 2016: Oracle Forms Modernisation - Owen PaganSenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
Sencha429 visualizações
Discover PowerApps with SharePoint. Is It a Good Fit? por ShareGate
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?
ShareGate1K visualizações
SharePoint Saturday London 2019 - PowerApps/Flow dev vs. the admin por Albert Hoitingh
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
Albert Hoitingh257 visualizações
Power Platform (Power Automate) por OluwatobiYusuf2
Power Platform (Power Automate)Power Platform (Power Automate)
Power Platform (Power Automate)
OluwatobiYusuf2399 visualizações
No More No Repro por Anna Russo
No More No ReproNo More No Repro
No More No Repro
Anna Russo1.1K visualizações
App in an hour HandsOn session - Power Platform World Tour Copenhagen 2019 por Rebekka Aalbers-de Jong
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
Rebekka Aalbers-de Jong249 visualizações
Power BI for Data Science and Machine Learning - Data Science Portugal meetup por Rui Quintino
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
Rui Quintino766 visualizações
MongoDB - The database strikes back por Steven Cooper
MongoDB - The database strikes back MongoDB - The database strikes back
MongoDB - The database strikes back
Steven Cooper947 visualizações

Destaque

Ext JS Architecture Best Practices - Mitchell Simeons por
Ext JS Architecture Best Practices - Mitchell SimeonsExt JS Architecture Best Practices - Mitchell Simeons
Ext JS Architecture Best Practices - Mitchell SimeonsSencha
3.4K visualizações21 slides
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou... por
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
810 visualizações47 slides
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato por
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
1.6K visualizações81 slides
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar por
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 ManvarSencha
523 visualizações20 slides
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly... por
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
1.8K visualizações59 slides
SenchaCon 2016: How to Auto Generate a Back-end in Minutes - Per Minborg, Emi... por
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...Sencha
336 visualizações38 slides

Destaque(20)

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

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

Importance of Mobile App Architecture For Mobile App Development por
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 DevelopmentHelios Solutions
21 visualizações21 slides
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (... por
[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 (...NITHIN S.S
206 visualizações43 slides
How to Design for (Digital) Success por
How to Design for (Digital) SuccessHow to Design for (Digital) Success
How to Design for (Digital) SuccessSøren Engelbrecht
409 visualizações30 slides
Designing Mobile Apps for the Enterprise por
Designing Mobile Apps for the EnterpriseDesigning Mobile Apps for the Enterprise
Designing Mobile Apps for the EnterpriseChristian Santiago
836 visualizações32 slides
User Focus 2014 - Choosing The Right Mobile Approach por
User Focus 2014 - Choosing The Right Mobile ApproachUser Focus 2014 - Choosing The Right Mobile Approach
User Focus 2014 - Choosing The Right Mobile ApproachJasper Liu
959 visualizações42 slides
Performance testing – mobile apps session1 por
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1Jyothirmayee Pola
511 visualizações22 slides

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

Importance of Mobile App Architecture For Mobile App Development por Helios Solutions
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
Helios Solutions21 visualizações
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (... por NITHIN S.S
[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 (...
NITHIN S.S206 visualizações
How to Design for (Digital) Success por Søren Engelbrecht
How to Design for (Digital) SuccessHow to Design for (Digital) Success
How to Design for (Digital) Success
Søren Engelbrecht409 visualizações
Designing Mobile Apps for the Enterprise por Christian Santiago
Designing Mobile Apps for the EnterpriseDesigning Mobile Apps for the Enterprise
Designing Mobile Apps for the Enterprise
Christian Santiago836 visualizações
User Focus 2014 - Choosing The Right Mobile Approach por Jasper Liu
User Focus 2014 - Choosing The Right Mobile ApproachUser Focus 2014 - Choosing The Right Mobile Approach
User Focus 2014 - Choosing The Right Mobile Approach
Jasper Liu959 visualizações
Performance testing – mobile apps session1 por Jyothirmayee Pola
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1
Jyothirmayee Pola511 visualizações
Performance testing – mobile apps session1 por Jyothirmayee Pola
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1
Jyothirmayee Pola184 visualizações
Software QS Tag White Paper por Devendra Singh
Software QS Tag White PaperSoftware QS Tag White Paper
Software QS Tag White Paper
Devendra Singh530 visualizações
Mayank_Gupta por Mayank Gupta
Mayank_GuptaMayank_Gupta
Mayank_Gupta
Mayank Gupta669 visualizações
Insights on Android App Development, Marketing and Monetization por Jayneel Patel
Insights on Android App Development, Marketing and MonetizationInsights on Android App Development, Marketing and Monetization
Insights on Android App Development, Marketing and Monetization
Jayneel Patel2.6K visualizações
Mobile app development converted por Sandy Gupta
Mobile app development convertedMobile app development converted
Mobile app development converted
Sandy Gupta33 visualizações
Synopsis por Kavita Rastogi
SynopsisSynopsis
Synopsis
Kavita Rastogi31 visualizações
The Shortest Path to Value for Business Mobile Apps por Catavolt, Inc.
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
Catavolt, Inc.712 visualizações
AshutoshMishra-v1.0 por Ashutosh Mishra
AshutoshMishra-v1.0AshutoshMishra-v1.0
AshutoshMishra-v1.0
Ashutosh Mishra293 visualizações
Home management WebApp presentation por bhavesh singh
Home management WebApp presentationHome management WebApp presentation
Home management WebApp presentation
bhavesh singh43 visualizações
Dronahq one app platform 7.0 por Jinen Dedhia
Dronahq   one app platform 7.0Dronahq   one app platform 7.0
Dronahq one app platform 7.0
Jinen Dedhia70 visualizações
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle) por Lab Mobile Filkom UB
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Lab Mobile Filkom UB653 visualizações
Mobile first - one key important aspect in digitalisation por Helmi Hasan
Mobile first - one key important aspect in digitalisationMobile first - one key important aspect in digitalisation
Mobile first - one key important aspect in digitalisation
Helmi Hasan152 visualizações
GDSC FY Orientation.pptx por GDSCVJTI
GDSC FY Orientation.pptxGDSC FY Orientation.pptx
GDSC FY Orientation.pptx
GDSCVJTI139 visualizações

Mais de Sencha

Breathe New Life into Your Existing JavaScript Applications with Web Components por
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
494 visualizações23 slides
Ext JS 6.6 Highlights por
Ext JS 6.6 HighlightsExt JS 6.6 Highlights
Ext JS 6.6 HighlightsSencha
478 visualizações12 slides
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv... por
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
1.1K visualizações41 slides
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd por
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
1.1K visualizações41 slides
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing por
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
569 visualizações18 slides
Sencha Roadshow 2017: What's New in Sencha Test por
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
593 visualizações38 slides

Mais de Sencha(14)

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

Último

Business Analyst Series 2023 - Week 3 Session 5 por
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5DianaGray10
237 visualizações20 slides
Attacking IoT Devices from a Web Perspective - Linux Day por
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day Simone Onofri
15 visualizações68 slides
Empathic Computing: Delivering the Potential of the Metaverse por
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the MetaverseMark Billinghurst
476 visualizações80 slides
Black and White Modern Science Presentation.pptx por
Black and White Modern Science Presentation.pptxBlack and White Modern Science Presentation.pptx
Black and White Modern Science Presentation.pptxmaryamkhalid2916
16 visualizações21 slides
Special_edition_innovator_2023.pdf por
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdfWillDavies22
17 visualizações6 slides
handbook for web 3 adoption.pdf por
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdfLiveplex
22 visualizações16 slides

Último(20)

Business Analyst Series 2023 - Week 3 Session 5 por DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10237 visualizações
Attacking IoT Devices from a Web Perspective - Linux Day por Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 visualizações
Empathic Computing: Delivering the Potential of the Metaverse por Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst476 visualizações
Black and White Modern Science Presentation.pptx por maryamkhalid2916
Black and White Modern Science Presentation.pptxBlack and White Modern Science Presentation.pptx
Black and White Modern Science Presentation.pptx
maryamkhalid291616 visualizações
Special_edition_innovator_2023.pdf por WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2217 visualizações
handbook for web 3 adoption.pdf por Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 visualizações
Microsoft Power Platform.pptx por Uni Systems S.M.S.A.
Microsoft Power Platform.pptxMicrosoft Power Platform.pptx
Microsoft Power Platform.pptx
Uni Systems S.M.S.A.52 visualizações
Kyo - Functional Scala 2023.pdf por Flavio W. Brasil
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdf
Flavio W. Brasil298 visualizações
Melek BEN MAHMOUD.pdf por MelekBenMahmoud
Melek BEN MAHMOUD.pdfMelek BEN MAHMOUD.pdf
Melek BEN MAHMOUD.pdf
MelekBenMahmoud14 visualizações
Case Study Copenhagen Energy and Business Central.pdf por Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 visualizações
6g - REPORT.pdf por Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 visualizações
Java Platform Approach 1.0 - Picnic Meetup por Rick Ossendrijver
Java Platform Approach 1.0 - Picnic MeetupJava Platform Approach 1.0 - Picnic Meetup
Java Platform Approach 1.0 - Picnic Meetup
Rick Ossendrijver27 visualizações
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... por Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker33 visualizações
Web Dev - 1 PPT.pdf por gdsczhcet
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet60 visualizações
virtual reality.pptx por G036GaikwadSnehal
virtual reality.pptxvirtual reality.pptx
virtual reality.pptx
G036GaikwadSnehal11 visualizações
Piloting & Scaling Successfully With Microsoft Viva por Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
Richard Harbridge12 visualizações
Voice Logger - Telephony Integration Solution at Aegis por Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma31 visualizações
Transcript: The Details of Description Techniques tips and tangents on altern... por BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada135 visualizações
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors por sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 visualizações
Igniting Next Level Productivity with AI-Infused Data Integration Workflows por Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software257 visualizações

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

Notas do Editor

  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.