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



Similar documents
SYST35300 Hybrid Mobile Application Development

Retool your HTML/JavaScript to go Mobile

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

How To Develop A Mobile App With Phonegap

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

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

ios SDK possibilities & limitations

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

Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java. Drupaldelphia 2014 By Joe Roberts

Building native mobile apps for Digital Factory

Developing and deploying mobile apps

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

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

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

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

Cross-Platform Phone Apps & Sites with jquery Mobile

Develop Hybrid Mobile Applications with Apache Cordova & PhoneGap Enterprise

Developing Native JavaScript Mobile Apps Using Apache Cordova. Hazem Saleh

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

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

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

unisys ClearPath eportal Developer 6.1 Unisys Multi-Device App Developer s Guide March

Cross-Platform Mobile Application Development

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

Cross-Platform Tools

... Introduction Acknowledgments... 19

BUILDING MOBILE WEB APPS WITH PHONEGAP. Matt Zukowski

Mobile Application Development

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

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

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

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

HTML5: Separating Fact and Fiction. #wipjam

Build your own Fiori hybrid mobile app rapidly using SAP Web IDE Marc Anderegg, SAP SESSION CODE: BT404

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

CiviMobile & CiviSync Mobile. Peter McAndrew Rohit Thakral

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

max firt.mobi martes 26 de julio de 11

CROSS PLATFORM APP A COMPARATIVE STUDY

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

Build a Mobile App in 60 Minutes with MAF

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

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

Android WebKit Development: A cautionary tale. Joe Bowser Nitobi joe.bowser@nitobi.com

An Analysis of Mobile Application Development Approaches

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

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

Developer Guide: Smartphone Mobiliser Applications. Sybase Mobiliser Platform 5.1 SP03

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

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

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

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

Mobile SDK Development Guide

How To Use Titanium Studio

True Web Application Management: Fixing the Gaps in EMM Solutions

Building a Simple Mobile optimized Web App/Site Using the jquery Mobile Framework

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

Native, web or hybrid mobile-app development

Experimental Comparison of Hybrid and Native Applications for Mobile Systems

How To Run A Hello World On Android (Jdk) On A Microsoft Ds.Io (Windows) Or Android Or Android On A Pc Or Android 4 (

A Framework for Cross-platform Mobile Web Applications Using HTML5

SAP Web IDE Hybrid App Toolkit Add-on

Cross Platform Applications with IBM Worklight

Sage CRM What s New with Sage CRM Standalone. Sage CRM What s New with Sage CRM 7.2 -Standalone

Mobile Enterprise Application Development - a Cross-Platform Framework

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

DEVELOPING NFC APPS for BLACKBERRY

Comparison between Native and Cross-Platform Apps

Porting Existing PhoneGap Apps to Tizen OS - Development Story

Navigating the Mobile App Development Landscape

Mobile Application Development. Adopt Based On Fit

Mobile development with Apache OFBiz. Ean Schuessler, Brainfood

Choosing a Mobile Application Development Approach

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

research: technical implemenation

Module Title: Software Development A: Mobile Application Development

Programming the Mobile Web

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

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

Enterpise Mobility Lexicon & Terminology

Introduction to PhoneGap

Web and Mobile development Engineer

Crosswalk: build world class hybrid mobile apps

Development of Hybrid Applications with HTML

ADF Mobile Overview and Frequently Asked Questions

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

Making Mobile a Reality

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

Mobile apps development for Joomla

Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,

Republic Polytechnic School of Infocomm C308 Web Framework. Module Curriculum

Operational Decision Manager Worklight Integration

ITG Software Engineering

Transcription:

Developing multidevice-apps using Apache Cordova and HTML5 Guadalajara Java User Group Guillermo Muñoz (@jkoder) Java Developer

WTF is Apache Cordova? Set of device APIs that allow to access native device function (such camera or accelerometer) from JavaScript. Complete apps using HTML, CSS and Javascript only. No native code: \o/

Why Hybrid Apps? More platforms, more problems Native apps: platform specific, specific dev tools, time consuming, expensive development, best performance. Hybrid apps: platform independent, using known technologies (HTML, CSS, Javascript), quick development, limited performance.

A little bit of history Originally called PhoneGap, built by Nitobi in 2009 Nitobi was acquired by Adobe (October 2011) and PhoneGap was donated to the Apache Software Foundation. The original name in ASF was Apache Callback, now is known as Apache Cordova Adobe continues with PhoneGap with Cordova as core engine, offers: Enterprise, Developer App and PhoneGap Build.

HTF this works? (The UI) The UI is created using HTML, CSS and Javascript. The UI layer of a Cordova app is a web browser view that takes up 100% of device height and width. This is the same web view used by native mobile OS: UIWebView (OS), android.webkit.webview (Android), WebBrowser (WP7), WebBrowser Control (IE 10 for WP8), WebWorks framework (BB). Be careful with cross-navigator compatiblity, this is still web development. Don t reinvent the wheel, use HTML5 UI Frameworks: App Framework, Bootstrap, JQuery Mobile, Sencha Touch, Kendo UI, Dojo Mobile, etc, etc, etc.

HTF this works? (The Native Part) Cordova provides JavaScript APIs to access native mobile OS system functionality: Device API (Basic device information) Network connection and Batery Events Accelerometer, Compass and Geolocation Camera, Media Playback and Capture Access files on device or network (File API) Notification via dialog box or vibration Contacts Splashscreen Debug console Open new browser windows (InAppBrowser) Storage

HTF this works? (Ready to the store) The final product should be a binary application archive. This is done by building the Cordova project with each SDK. # cordova build This generates an IPA file for ios, or APK file for Android, or XAP file for Windows Phone, etc. This certainly is a PITA, but we can use PhoneGap build.

Platform Support (version 3.5)

When plugins are not enough, DIY Unsupported features, heavyweight data processing, complex business logic, etc. You can do it yourself writing a new Plugin. You need: Plugin repository: URL for cordova add plugin command. Plugin specification: plugin.xml file for define Javascript interface and platforms native code. Use plugman utility to plublish your plugin in the Cordova registry.

The plumbing Install NodeJS Install git client Install cordova module: # npm install -g cordova Install phonegap nodule # npm install -g phonegap

Hello World!!! from Cordova Create the project: # cordova create hello org.jug.hello HelloWorld Add platforms (You need the configuration for each platform s SDK): # cordova platform add android Include specific plugings: # cordova plugin add org.apache.cordova.camera Build the project # cordova build Emulate on platform-specific emulator: # cordova emulate android Run the project on device: # cordova run android

Using PhoneGap Developer app Inside the project : # phonegap serve From your phone: configure to the IP:port of phonegap server. Enjoy!!!

Using PhoneGap Build Unlimited open source apps pulled from Gibhub repo Up to 1 private project with Free Plan Upload Cordova/PhoneGap project as zip file

Using Sencha Touch High-performance HTML5 mobile application framework Sencha Cmd is the tool for lifecycle management Sencha projects. Integration with Apache Cordova APIs Different themes for mobile OS Very good documentation

Using Javascript databases Databases running within the browser using Javascript Portable: runs on Firefox, Chrome, Opera, Safari, IE and Node.js Syncs with a server and replicates to a server Based on CouchDB

Couchbase Lite PhoneGap Plugin Install the plugin in your project: # cordova plugin add com.couchbase.lite.phonegap

Couchbase Lite demo Create project: # phonegap create todo-lite com.couchbase.todolite TodoLite Use project: # cd todo-lite Add plugins: # cordova plugin add com.couchbase.lite.phonegap # cordova plugin add org.apache.cordova.camera # cordova plugin add org.apache.cordova.inappbrowser # cordova plugin add org.apache.cordova.network-information Replace code: # rm -rf www # git clone https://github.com/couchbaselabs/todolite-phonegap.git www Build project: # phonegap build android Run using Phonegap developer app: # phonegap serve

Thanks for your attention