6. 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
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.
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: 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
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 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
17. 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