Porting Existing PhoneGap Apps to Tizen OS - Development Story

Similar documents
Lecture 4 Cross-Platform Development. <lecturer, date>

Bridging the Gap: from a Web App to a Mobile Device App

Enabling Cordova (aka PhoneGap) on Tizen. René Pourtier / Luc Yriarte

BASIC COMPONENTS. There are 3 basic components in every Apache Cordova project:

Retool your HTML/JavaScript to go Mobile

Multi-Platform Mobile Application Development Analysis. Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado

SYST35300 Hybrid Mobile Application Development

Development for Mobile Devices Tools from Intel, Platform of Your Choice!

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

Native mobile apps: The wrong choice for business?

Mobile Learning Application Based On Hybrid Mobile Application Technology Running On Android Smartphone and Blackberry

Navigating the Mobile App Development Landscape

Leveraging Partners and Open Source Technology in your Mobility Strategy. emids webinar Thursday, August 11, :00 pm 2:00 pm EDT

PEGA MOBILITY A PEGA PLATFORM WHITEPAPER

Take full advantage of IBM s IDEs for end- to- end mobile development

CROSS PLATFORM DEVELOPMENT The HTML5 Way

ios SDK possibilities & limitations

To Study and Design a Cross-Platform Mobile Application for Student Information System using PhoneGap Framework

Extending Tizen Native Framework with Node.js

Development Techniques for Native/Hybrid Tizen Apps. Presenter Matti Pakarinen

MOBILIZING ORACLE APPLICATIONS ERP. An Approach for Building Scalable Mobility Solutions. A RapidValue Solutions Whitepaper

Choosing a Mobile Application Development Approach

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code

White Paper INTRODUCTION. In mobile development, there are three different types of applications: PRE-SMARTPHONE MOBILITY NATIVE MOBILE APPLICATIONS

CommonTime Making Business Mobile. Enterprise. CommonTime. Mobile Solutions. mdesign Platform.

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin

True Web Application Management: Fixing the Gaps in EMM Solutions

HTML5 as the Core Technology of the Mobile Enterprise

Mobile Performance: for excellent User Experience

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Whitepaper. Trans. for Mobile

Developing multidevice-apps using Apache Cordova and HTML5. Guadalajara Java User Group Guillermo Muñoz Java Developer

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

Building native mobile apps for Digital Factory

Cross-Platform Phone Apps & Sites with jquery Mobile

How To Use Titanium Studio

Mobile web apps: The best option for business? A whitepaper from mrc

Hybrid Mobile Development: A Cost-Effective Strategy for Building Cross-Platform Mobile Apps

Introduction to IBM Worklight Mobile Platform

Developing multi-platform mobile applications: doing it right. Mihail Ivanchev

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Intel XDK для разработки кросс-платформенных мобильных приложений

Extending Oracle Applications on Mobile Using Oracle MAF and Oracle Mobile Security

Mobile App Infrastructure for Cross-Platform Deployment (N11-38)

50 shades of Siebel mobile

A Way Out of the Mobile App Development Conundrum

CROSS PLATFORM APP A COMPARATIVE STUDY

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

How To Develop A Mobile App With Phonegap

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

Building Apps for iphone and ipad. Presented by Ryan Hope, Sumeet Singh

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

How to pick the right development model for your next mobile project

HTML5: Separating Fact and Fiction. #wipjam

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel

Develop Hybrid Mobile Applications with Apache Cordova & PhoneGap Enterprise

CiviMobile & CiviSync Mobile. Peter McAndrew Rohit Thakral

Enterprise Mobile Application Development: Native or Hybrid?

ANDROID APP DEVELOPMENT: AN INTRODUCTION CSCI /19/14 HANNAH MILLER

research: technical implemenation

ADF. Joe Huang Joe Huang Senior Principal Product Manager, Mobile Development Platform, Oracle Application Development Tools

Making Mobile a Reality

max firt.mobi martes 26 de julio de 11

Article. One for All Apps in HTML5

Architecture of Enterprise Mobile Apps

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory

Cross-Platform Development

Here s how to choose the right mobile app for you.

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory IBM Corporation 1

Smartphone Application Development using HTML5-based Cross- Platform Framework

Middleware- Driven Mobile Applications

ENTERPRISE MOBILITY STRATEGY. We work for you, not your technology vendors.

Electronic Ticket and Check-in System for Indico Conferences

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

Evaluating Cross-Platform Development Approaches (WORA Tools ) for Mobile Applications

Developing and deploying mobile apps

Print to Interactive Roadmap. with Patrick McNeil

Appery.io Overview. However mobile also presents many challenges for enterprises:

Keywords Online Aptitude Test, Android, IOS, Cross Platform mobile application Development.

BELATRIX SOFTWARE. Why you should be moving to mobile Cross Platform Development? Introduction

An Analysis of Mobile Application Development Approaches

HP ALM Masters 2014 Connected, collaborative mobile application development for the enterprise HP Anywhere

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

Developing Cross-platform Mobile and Web Apps

Compatibility Testing for Mobile Apps and Websites

Introduce Configurable Mobile App Development. Moxie Zhang Esri R&D Center Beijing

Mobile Cross Platform Development really? Jonathan Marshall, IBM Mobile Technical Specialist IBM Corporation

Transcription:

Porting Existing PhoneGap Apps to Tizen OS - Development Story Anil Kumar Yanamandra Thomas Mitchell ProKarma

About ProKarma

Who am I? Anil Kumar Yanamandra Mobile Architect & Head CoE for Mobility @ProKarma Mobile Application Development: B2C, B2B Native (ios, Android, BlackBerry), Hybrid, Mobile Web apps/sites Custom MDM solutions Mobile Dev Governance: Coding standards, Best practices Mobile Consulting: Native or Hybrid or Web? Requirements driven architecture R & D 3

Agenda What is PhoneGap? Our porting experiment Changes and issues Demo Lessons learnt 4

What is PhoneGap BTW?

PhoneGap Open-source Cross-platform Web standards based Mobile App Development Framework Access native features via Web APIs Pure backend framework: Works with any web UI framework Extensible: Add custom features 6

Typical Mobile App Architecture Native Native View-1 Native PS PS... View-2 Native View-X PS Native app package for distribution (.ipa,.apk,.tpk) Network Manager Persistence Manager Geo-Location Backend modules PIM... PS PS Platform Specific Native API calls - PS (UDID, Contacts, Camera) ios Objective-C Android Java Tizen C/C++ Device OS ios/android/tizen 7

Typical Mobile App Architecture PhoneGap Native WebView PS JavaScript/ AJAX (PI) + HTML views (PI) CSS styling (Partially PS) Native app package for distribution PhoneGap Library Network Manager PS Persistence Manager Geo- Location PIM Custom Plugin PS Backend PS Custom Plugin PI Platform Independent PS Platform Specific Device OS Native API calls handled by PhoneGap library. These would be perceived as JavaScript API calls by the HTML views. (And the developers!) ios/android/tizen 8

Interesting. But why bother when I have Tizen Web API? Code Reuse! Single codebase across platforms Platform Native PhoneGap Android ios TelephonyManager mtelephonymgr = (TelephonyManager) context.getsystemservice( Context.TELEPHONY_SERVICE ); String deviceuid = mtelephonymgr.getdeviceid(); NSString deviceuid = [[UIDevice currentdevice] uniqueidentifier]; var deviceuid = device.uuid; var deviceuid = device.uuid; Tizen String deviceuid; SystemInfo::GetValue(http://tizen.org/system/duid, deviceuid); var deviceuid = device.uuid; 9

Our porting experiment

Automobile shipment app Use-case: Ship vehicles from the comfort of your mobile device Features: ü Role based User Registration ü Scan VIN barcode to auto input Year, Make, Model ü Get Quote ü Save Quote ü Place an Order ü Pay by Credit Card ü Track Orders ü Map shipment locations ü Review orders 11

Tech Details Platform support: ü ios: ipad and iphone ü Android: Tablet and Smartphone ü BlackBerry 10 Tech Stack: Native shell PhoneGap HTML5 stack: HTML/CSS3/JavaScript AJAX Only Native feature: VIN scanner 12

JavaScript libraries used Modernizr 13

14 Screencaps: Tablet and Smartphone apps

Porting to Tizen OS: Changes Extract web codebase from the Android/iOS PhoneGap project Import to new Tizen project Define config.xml settings Whitelist all URLs the app would use Remove the JS hooks to native VIN barcode scan plugin No more! 15

Debug What worked? Almost everything! Responsive UI: media-queries, all the JavaScript libraries What needed fixes? font-face CSS code that loads custom font using OTF files did not work Pull-to-Refresh feature in iscroll plugin Issues: Tizen dev device RD-210 Performance Load times Refresh rates 16

Demo Time!

18 Final result

Lessons learnt

Summary: Why was this porting successful? Stick to standard web technologies: Avoid Third party frameworks with custom JavaScript translation layers. Keep up with the latest supported Libs! Employ Responsive Web Design principles: Build for varying screen sizes Build for varying device capabilities Tizen s outstanding HTML5 compliance makes porting HTML5 based apps easier and economical 20