18
Hybrid Mobile Apps Understanding Ashan Fernando 1

Introduction to Hybrid Application Development

Embed Size (px)

Citation preview

Page 1: Introduction to Hybrid Application Development

1

Hybrid Mobile AppsUnderstanding

Ashan Fernando

Page 2: Introduction to Hybrid Application Development

2

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

Page 3: Introduction to Hybrid Application Development

3

Global Smartphone Share

Period Android iOSWindows

PhoneBlackBerry

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/

Page 4: Introduction to Hybrid Application Development

4

Mobile Apps Development

*http://www.geospatialtraining.com/

Page 5: Introduction to Hybrid Application Development

5

Native Apps

Page 6: Introduction to Hybrid Application Development

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.

Page 7: Introduction to Hybrid Application Development

7

Native Apps: Diversity

* 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

Page 8: Introduction to Hybrid Application Development

8

Native Apps: Pros & Cons

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.

Page 9: Introduction to Hybrid Application Development

9

Hybrid Apps

Page 10: Introduction to Hybrid Application Development

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.

Page 11: Introduction to Hybrid Application Development

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

Page 12: Introduction to Hybrid Application Development

12

Hybrid Apps: Architecture

http://www.geospatialtraining.com/

Page 13: Introduction to Hybrid Application Development

13

Hybrid Apps: Support frameworks

Page 14: Introduction to Hybrid Application Development

14

Hybrid Apps: Pros & Cons

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.

Page 15: Introduction to Hybrid Application Development

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

Page 17: Introduction to Hybrid Application Development

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

Page 18: Introduction to Hybrid Application Development

18

Thank you !