SYST35300 Hybrid Mobile Application Development

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

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

Retool your HTML/JavaScript to go Mobile

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

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

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

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

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

Cross-Platform Phone Apps & Sites with jquery Mobile

Developing and deploying mobile apps

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

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

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

Cross-Platform Tools

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

How To Develop A Mobile App With Phonegap

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

Smartphone Application Development using HTML5-based Cross- Platform Framework

Mobile Learning Basics + (Free) Mobile Learning Guide. Jason Haag and Marcus Birtwhistle

How To Use Titanium Studio

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

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

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

A Guide to Mobile App Development Platforms

An Analysis of Mobile Application Development Approaches

Cross-Platform Mobile Application Development

ORACLE ADF MOBILE DATA SHEET

Building native mobile apps for Digital Factory

CiviMobile & CiviSync Mobile. Peter McAndrew Rohit Thakral

CROSS PLATFORM DEVELOPMENT The HTML5 Way

Development of mobile applications for multiple platforms

CROSS PLATFORM APP A COMPARATIVE STUDY

Enterprise Mobile Application Development: Native or Hybrid?

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

Navigating the Mobile App Development Landscape

Mobile Application Development. Adopt Based On Fit

Mobile Web Applications using HTML5. L. Cotfas 14 Dec. 2011

Developing mobile educational apps: development strategies, tools and business models

Considerations Regarding the Cross-Platform Mobile Application Development Process

How To Compare Cross Platform Development To Multi Platform Development

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

Article. One for All Apps in HTML5

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

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

Making Mobile a Reality

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

True Web Application Management: Fixing the Gaps in EMM Solutions

HTML5 as the Core Technology of the Mobile Enterprise

max firt.mobi martes 26 de julio de 11

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

MOBILIZE ME! APPS FOR MOBILE DEVICES OR MOBILE WEB APPS TECHNOLOGIES, TOOLS, ASSESSMENTS

Cross-Platform Development

Native, web or hybrid mobile-app development

Adobe Summit 2015 Lab 712: Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers

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

The open source cross-platform application development frameworks for smart phones

ios SDK possibilities & limitations

HTML5: Separating Fact and Fiction. #wipjam

ipad, a revolutionary device - Apple

Analysis of Cross-Platform Development Frameworks for a Smartphone Pediatric Application

Technical and Business Challenges for Mobile Application Developers. Tony Wasserman Carnegie Mellon Silicon Valley Mobicase 2010

the future of mobile web by startech.ro

OpenEdge and Mobile Applications

ADF Mobile Overview and Frequently Asked Questions

The Bootstrapper's Guide to the Mobile Web by Deltina Hay. Mobile App Strategy Worksheet. I. Target Market, App Category, Platforms

Choosing a Mobile Application Development Approach

Mobile Application Development

Comparison of Cross-Platform Mobile Development Tools

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

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

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

Cross Platform Applications with IBM Worklight

Middleware- Driven Mobile Applications

Developing Applications for ios

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

MOBILE APPLICATION - CROSS DOMAIN DEVELOPMENT AND STUDY OF PHONEGAP

RapidValue Enabling Mobility. How to Choose the Right Architecture For Your Mobile Application

A Way Out of the Mobile App Development Conundrum

Lab: Developing Mobile Web Apps. Adage Technologies adagetechnologies.com

Programming the Mobile Web

Whitepaper. Trans. for Mobile

Web-based Hybrid Mobile Apps: State of the Practice and Research Opportunities

research: technical implemenation

... Introduction Acknowledgments... 19

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

HTML5 the new. standard for Interactive Web

Mobile Platforms And Apps Cross-Platforms Development Tools

Native mobile apps: The wrong choice for business?

Mobile operating systems and apps development strategies

Dave Haseman, Ross. Hightower. Mobile Development for SAP* ^>. Galileo Press. Bonn. Boston

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

Crosswalk: build world class hybrid mobile apps

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

Transcription:

SYST35300 Hybrid Mobile Application Development

Native, Web and Hybrid applications Hybrid Applications: Frameworks

Native, Web and Hybrid Applications

Mobile application development is the process by which application software is developed for small low-power handheld devices such as e phones. These applications are either pre-installed on phones during manufacturing, or downloaded by customers from various mobile software distribution platforms.

VoIP Access Camera Audio Processing Video Processing App-Store Presence

Symbian OS Nokia s Cell Phone operating system Android OS Google s free, open-source cellphone operating system iphone OS (ios ) Apple s mobile operating system BlackBerry OS Proprietary mobile operating system, developed by Research In Motion for its BlackBerry Windows Phone 7 ( Windows Mobile ) Mobile operating system developed by Microsoft Palm OS (Garnet OS)- mobile operating system initially developed by Palm Palm webos Mobile operating system from HP/Palm Bada - Mobile operating system developed by Samsung Electronics Maemo OS from Nokia (open source, GPL) MeeGo OS from Nokia and Intel (open source, GPL)

A native application works only on the platform for which it was created. Native apps were originally developed by Apple, which had various programs built in Objective C to run specifically on their mobile OS. Later, Android developed their native apps in Java, which worked only on the Android platform.

Device determination Constraints and features of the device run on battery have less powerful processors have more features such as location detection and cameras Building and testing issues Budget Emulators Good User interface (UI) design is essential User is the focus, and the app s design is the interface to the device Limited attention span Various form factors How can we build a mobile application for ALL the major platforms?

Due to each mobile platform s different OS, consider the following: you have to set up different environments for each platform you need a bit of expertise with each respective OS (long learning curve) different programming languages are required for different mobile platforms you need to be familiar with the features supported by each mobile platform Do you know any other market fragmentations? Browsers!

File System (on Mobile Device) Native App (Java/Obj-C/C#) Mobile OS

Mobile Browser Web App (HTML, CSS, JS) Web Server Mobile OS 1

ios5 Android 2.2, 2.3 WinPhone 7.5 Canvas Audio Local Storage Geolocation Video CSS3 borders, anim Web Applications SVG Elements CSS3 position:fixed Drag & Drop Files WebGL IndexedDB, WebSQL Desktop: html5test

Combine HTML/CSS/JS with native code User interface in HTML/CSS Logic and interaction in JS Special functions written in platform-specific native code Advantages Portability Reuse of existing skills Access to device APIs App-store presence

Native Container File System (on Mobile Device) HTML, CSS, JS Mobile OS

Device Access Speed Development Cost App Store Approval Process Native Full Very Fast Expensive Available Mandatory Hybrid Full Native Speed as Necessary Reasonable Available Low Overhead Web Partial Fast Reasonable Not Available None

Hybrid Applications: Frameworks

} Developers write their mobile applications using HTML, JavaScript and CSS. } These assets run in a WebView inside a native application container on the target platform. } a web application packaged within a native application container where JavaScript has access to device-level APIs that normal web applications would not

Native container: Creates instance of UIWebView / android.webkit.webview / etc. Navigates to main html file Implements listener/handler for requests coming from JS code Activates JavaScript code when necessary HTML5/CSS3/JS code: Implements UI and app logic Activates native handlers through OS-specific mechanism (custom URL scheme) Receives responses through JS handlers HTML resources can be packaged into downloadable app for performance boost

} Open source framework for quickly building cross-platform mobile apps } Uses HTML5, Javascript and CSS } Originally created by Nitobi } the name was changed to Apache Cordova when it was donated to the Apache Software Foundation } Adobe purchased Nitobi including rights to the PhoneGap name and now distributes Cordova under that name } Installs just like a native application, and is able to leverage app store discoverability } Follows a plugin architecture } access to native device APIs can be extended in a modular way. } Build in the cloud (Phonegap Build, Icenium, Kendo UI Mobile) } Integrates into known IDE s as Brackets and Dreamweaver } Improvements in device hardware and WebView implementations have improved performance

Appcelerator s Titanium provides a unified (across devices) JavaScript API, coupled with native-platformspecific features Developers write JavaScript and utilize a UI abstraction (the Alloy MVC framework) that results in the use of native UI components. Developer is required to manage target platform SDKs locally Is it better than PhoneGap? http://www.appcelerator.com/blog/2012/05/comparing-titanium-and-phonegap/ 23

Sencha Touch is an HTML5 mobile application framework for building web applications that look and feel like native applications Apps built with Sencha Touch or Sencha Architect either will package the application in a native container and enable access to select device-level APIs unavailable to traditional web apps Sencha products deploy web applications to mobile devices, tablets, and desktops. Requires custom plug-ins 24

Install and develop using Phonegap CLI (Command line) Phonegap Desktop Test using Phonegap Developer App Phonegap Desktop is an easy way to create an app and start the testing emulator (Phonegap Developer) Download from www.phonegap.com Click the Plus sign to create the App Scaffold Using your favorite editor, code your app It reloads your app Starts a phonegap server for testing We'll discuss all the details later on!!! For now let's focus on Application: HTML5/CSS/JS

Focus of this course! Phonegap is a wrapper around the app that talks to the mobile device - enables access to device capabilities, such as the accelerometer, camera and local storage, that are not accessible in Mobile websites

A Hybrid application basically has two interfaces User Interface (UI) Also known as web view Written in html,css, javascript Can use third party frameworks Device interface Also known as the native view Provides connectivity to the mobile devices features First part of the course User Interface

Mobile Angular UI Google - uses HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly Ionic HTML5 mobile app development framework targeted at building hybrid mobile apps Uses Angular Kendo UI Mobile ($$$$) Build mobile app experiences using HTML and JavaScript that automatically adapt to the native lookand-feel of different mobile platforms jquery Mobile An HTML5/CSS3-based user interface system designed to make responsive web sites and apps