Hybrid Mobile Apps
Understanding
Ashan Fernando
1
Outline
• Global Smartphone Share
• Mobile App Development
• Native Apps
– Intro
– Diversity
– Pros & Cons
• Hybrid Apps
– Intro
– Skills Needed
– Architecture
– Support Frameworks
– Pros & Cons
– Suitability
– Challenges
2
Global Smartphone Share
3
Period Android iOS
Windows
Phone
BlackBerry
OS
Others
Q4 2014 76.6% 19.7% 2.8% 0.4% 0.5%
Q4 2013 78.2% 17.5% 3.0% 0.6% 0.8%
Q4 2012 70.4% 20.9% 2.6% 3.2% 2.9%
Q4 2011 52.8% 23.0% 1.5% 8.1% 14.6%
In 2014 worldwide smartphone market shipped a total of 1.3
billion units
*http://www.idc.com/
Mobile Apps Development
4
*http://www.geospatialtraining.com/
Native Apps
5
Native Apps
• Binary executable files on the device.
• Can access all API’s made available by OS vendor.
• SDK’s are platform-specific.
• Each mobile OS comes with its own unique tools
and GUI toolkit.
6
Native Apps: Diversity
7
* IBM, Native, web or hybrid mobile app development, 2012. IBM Software
Thought Leadership White Paper
Different tools, languages and distribution channels associated with
leading mobile operating systems
Native Apps: Pros & Cons
8
PROS
Easy low-level hardware
access services.
Easy access to high level
services important to
personal mobile
experience.
Full use of all
functionalities that
modern mobile devices
have to offer.
High usability.
CONS
Code Reusability : Low
Development &
maintenance: Time-
consuming & expensive.
Designers are required
to be familiar with
different UI components
of each OS.
Upgrade flexibility: Low.
Hybrid Apps
9
Hybrid Apps: Intro
• Combines native development with web
technology.
• The web app runs inside a thin wrapper native
app.
• The wrapper native app uses the OS API’s to
create an embedded HTML rendering engine
which provides a bridge between the browser and
device API’s.
• The communication between web app and native
app normally happens over JavaScript via custom
built API’s.
10
Hybrid Apps: Skills needed
Additionally you need to refer hybrid frameworks API
(E.g. PhoneGap)
Scenario: If you need to access camera, you need to
know the JavaScript function provided by the
framework and how to use it
11
Hybrid Apps: Architecture
12
http://www.geospatialtraining.com/
Hybrid Apps: Support frameworks
13
Hybrid Apps: Pros & Cons
14
PROS
Flexibility of web apps
combined with feature
richness of native apps.
Simplified deployment
and immediate
availability.
Leverage existing
knowledge.
CONS
Poorer user experience
as compared to native
apps.
Access to advanced
device capabilities
normally restricted.
Is Hybrid Apps Suits You?
• Want to target multiple mobile platforms
• Need faster time to market
• Want to take advantage of device capabilities like
geolocation, accelerometer or the camera
• Want the app to be useable when the device is
offline
• More dynamic content which needs to be loaded
from remote service
• Don’t need the advanced graphics performance
that you can only get from a native app
15
Challenges: UI Design
16
iOS Android
* http://www.adobe.com/devnet/phonegap/articles/creating-apps-with-phonegap-
lessons.html
Challenges: Cross Platform Compilation
• Even hybrid apps need compilation
• Your operating system might not support some
platform specific compilations
– E.g. To compile iOS app you need a Mac PC/Laptop
• Solution
– Use cloud services
• E.g. Apache PhoneGap Cloud Build
17
Thank you !
18

Introduction to Hybrid Application Development

  • 1.
  • 2.
    Outline • Global SmartphoneShare • Mobile App Development • Native Apps – Intro – Diversity – Pros & Cons • Hybrid Apps – Intro – Skills Needed – Architecture – Support Frameworks – Pros & Cons – Suitability – Challenges 2
  • 3.
    Global Smartphone Share 3 PeriodAndroid iOS Windows Phone BlackBerry OS Others Q4 2014 76.6% 19.7% 2.8% 0.4% 0.5% Q4 2013 78.2% 17.5% 3.0% 0.6% 0.8% Q4 2012 70.4% 20.9% 2.6% 3.2% 2.9% Q4 2011 52.8% 23.0% 1.5% 8.1% 14.6% In 2014 worldwide smartphone market shipped a total of 1.3 billion units *http://www.idc.com/
  • 4.
  • 5.
  • 6.
    Native Apps • Binaryexecutable files on the device. • Can access all API’s made available by OS vendor. • SDK’s are platform-specific. • Each mobile OS comes with its own unique tools and GUI toolkit. 6
  • 7.
    Native Apps: Diversity 7 *IBM, Native, web or hybrid mobile app development, 2012. IBM Software Thought Leadership White Paper Different tools, languages and distribution channels associated with leading mobile operating systems
  • 8.
    Native Apps: Pros& Cons 8 PROS Easy low-level hardware access services. Easy access to high level services important to personal mobile experience. Full use of all functionalities that modern mobile devices have to offer. High usability. CONS Code Reusability : Low Development & maintenance: Time- consuming & expensive. Designers are required to be familiar with different UI components of each OS. Upgrade flexibility: Low.
  • 9.
  • 10.
    Hybrid Apps: Intro •Combines native development with web technology. • The web app runs inside a thin wrapper native app. • The wrapper native app uses the OS API’s to create an embedded HTML rendering engine which provides a bridge between the browser and device API’s. • The communication between web app and native app normally happens over JavaScript via custom built API’s. 10
  • 11.
    Hybrid Apps: Skillsneeded Additionally you need to refer hybrid frameworks API (E.g. PhoneGap) Scenario: If you need to access camera, you need to know the JavaScript function provided by the framework and how to use it 11
  • 12.
  • 13.
    Hybrid Apps: Supportframeworks 13
  • 14.
    Hybrid Apps: Pros& Cons 14 PROS Flexibility of web apps combined with feature richness of native apps. Simplified deployment and immediate availability. Leverage existing knowledge. CONS Poorer user experience as compared to native apps. Access to advanced device capabilities normally restricted.
  • 15.
    Is Hybrid AppsSuits You? • Want to target multiple mobile platforms • Need faster time to market • Want to take advantage of device capabilities like geolocation, accelerometer or the camera • Want the app to be useable when the device is offline • More dynamic content which needs to be loaded from remote service • Don’t need the advanced graphics performance that you can only get from a native app 15
  • 16.
    Challenges: UI Design 16 iOSAndroid * http://www.adobe.com/devnet/phonegap/articles/creating-apps-with-phonegap- lessons.html
  • 17.
    Challenges: Cross PlatformCompilation • Even hybrid apps need compilation • Your operating system might not support some platform specific compilations – E.g. To compile iOS app you need a Mac PC/Laptop • Solution – Use cloud services • E.g. Apache PhoneGap Cloud Build 17
  • 18.