Introduction to Hybrid Application Development
Transcript of Introduction to Hybrid Application Development
![Page 1: Introduction to Hybrid Application Development](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/1.jpg)
1
Hybrid Mobile AppsUnderstanding
Ashan Fernando
![Page 2: Introduction to Hybrid Application Development](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/2.jpg)
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](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/3.jpg)
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](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/4.jpg)
4
Mobile Apps Development
*http://www.geospatialtraining.com/
![Page 5: Introduction to Hybrid Application Development](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/5.jpg)
5
Native Apps
![Page 6: Introduction to Hybrid Application Development](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/6.jpg)
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](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/7.jpg)
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](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/8.jpg)
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](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/9.jpg)
9
Hybrid Apps
![Page 10: Introduction to Hybrid Application Development](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/10.jpg)
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](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/11.jpg)
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](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/12.jpg)
12
Hybrid Apps: Architecture
http://www.geospatialtraining.com/
![Page 13: Introduction to Hybrid Application Development](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/13.jpg)
13
Hybrid Apps: Support frameworks
![Page 14: Introduction to Hybrid Application Development](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/14.jpg)
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](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/15.jpg)
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 16: Introduction to Hybrid Application Development](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/16.jpg)
16
Challenges: UI Design
iOS Android
* http://www.adobe.com/devnet/phonegap/articles/creating-apps-with-phonegap-lessons.html
![Page 17: Introduction to Hybrid Application Development](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/17.jpg)
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](https://reader030.fdocuments.net/reader030/viewer/2022032716/55b60488bb61ebf0438b457e/html5/thumbnails/18.jpg)
18
Thank you !