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



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

ArcGIS 10.1 Web Apps and APIs. John Hasthorpe & Kai Hübner

Developing and deploying mobile apps

ArcGIS Web Mapping. Sam Berg, esri

SYST35300 Hybrid Mobile Application Development

A Guide to Mobile App Development Platforms

Making Mobile a Reality

HTML5: Separating Fact and Fiction. #wipjam

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

Retool your HTML/JavaScript to go Mobile

Building native mobile apps for Digital Factory

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

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

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

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

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

Choosing a Mobile Application Development Approach

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

ipad, a revolutionary device - Apple

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Mobile Solutions in ArcGIS. Justin Fan

Cross-Platform Phone Apps & Sites with jquery Mobile

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

How To Develop A Mobile App With Phonegap

Cross-Platform Development

Build a Mobile App in 60 Minutes with MAF

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

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

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

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

CROSS PLATFORM DEVELOPMENT The HTML5 Way

Mobile App Design and Development

Cross Platform Applications with IBM Worklight

/// CHOOSING THE BEST MOBILE TECHNOLOGY. Overview

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

HTML5 the new. standard for Interactive Web

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

Middleware- Driven Mobile Applications

CROSS PLATFORM APP A COMPARATIVE STUDY

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

ADF Mobile Overview and Frequently Asked Questions

ios SDK possibilities & limitations

Mobile Test Strategy. Shankar Garg. Senior Consultant - Testing

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

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

... Introduction Acknowledgments... 19

HTML5 & Digital Signage

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

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

Cross-Platform Mobile Application Development

ORACLE ADF MOBILE DATA SHEET

Developing Cross-platform Mobile and Web Apps

Article. One for All Apps in HTML5

Choosing a Mobile Strategy for Your Business

Cross-Platform Tools

Enterprise Mobile Application Development: Native or Hybrid?

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

Rich Internet Applications

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

Mobile Application Development

Esri GIS Mobile Solutions. John Sharrard

ArcGIS Platform. An Integrated System. Portal

Making the Most of Existing Public Web Development Frameworks WEB04

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

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

HTML5 as the Core Technology of the Mobile Enterprise

Cross Platform Applications with IBM Worklight

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

Native, Hybrid or Mobile Web Application Development

HTML5 - Key Feature of Responsive Web Design

Essential Mapping Apps

separate the content technology display or delivery technology

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

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

All About Android WHAT IS ANDROID?

Navigating the Mobile App Development Landscape

Cross-platform mobile development with Visual C

Petroleum Web Applications to Support your Business. David Jacob & Vanessa Ramirez Esri Natural Resources Team

Learning HTML5 Game Programming

An Analysis of Mobile Application Development Approaches

Cross Platform Mobile Gis System For Data Collection Based On Gps And Emerging Gis Technologies

HTML5 : carrier grade

ni.com Remote Connectivity with LabVIEW

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

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

Transcription:

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

It s good to have options

Android 4.3 10 Tablet Windows 7 14 Laptop Windows 7 15 Laptop Mac OSX 15 Laptop ios 6 4.6 Phone Android 4.1 4.6 Phone Android 4.3 7 Tablet

What s the goal here?

Who is your audience for this application?

What resources do you have access to?

Android 4.3 7 Tablet Google Chrome Opera Apple Safari Dolphin

Where do you fit?????

Out of the Box Apps John Hasthorpe

Content Driven Approach Web Map 283cf78d189245ed8c93328c38d03464 ArcGIS.com Map Viewer

Web Map Clients Mobile Applications -ArcGIS for IOS, Android & Windows Phone -Collector for ArcGIS -Explorer for ArcGIS* (IOS, Android, Windows & Mac) -Mobile SDKs Web Applications -ArcGIS.com Viewer -ArcGIS Explorer Online -ArcGIS Viewer for Flex/Silverlight -Web APIs Web Map Viewing Query Editing Capture Desktop Applications -ArcGIS for Desktop -ArcGIS Explorer Desktop -Location Analytics -Desktop SDKs Camera Access Location tracking Offline

Custom Web Map Clients Flex JavaScript Silverlight varmapdeferred= esri.arcgis.utils.createmap("4778fee6371d4e83a22786029f30c7e1", "map"); mapdeferred.then(function(response) { map = response.map;

Pure Web Apps John Hasthorpe

The Next Step: Web Applications Advantages Target widest audience (1 vs 4) Utiliseexisting/common web development skills Simple deployment Cost ($) Disadvantages Browser/device fragmentation Access to hardware limited* Difficult to monetise Performance

HTML5: Closing the Gap on Native Apps Specification: Structure & Display + Interactivity + Styling (Work in progress) Interoperability 3D Graphics Audio and Video Playback Drag and Drop Offline Storage Access to Hardware* No Plugins Geolocation Application Cache

HTML5 Challenge: Browser Support Browser support will increase in time http://caniuse.com

HTML5 Challenge: Browser Fragmentation Must build and test for browser variations 7.08% 0.32% http://caniuse.com/#feat=offline-apps http://caniuse.com/namevalue-storage

Making Life Easier: Frameworks and Toolkits Esri-Leaflet Library ArcGIS API for JavaScript (Compact Build) Native Look Browser Variations UI Elements Robust Code Gestures Touch Enabled Maps Multiple Platforms Mobile Widgets At What Cost?

What About Hardware? http://www.websitedimensions.com/sitegrid/index.php

Lets get Responsive.. @media screen and (min-device-width:768px) and (max-device-width:1024px) http://maps.esri.com/sp_demos/responsive/index.html http://www.websitedimensions.com/sitegrid/index.php

Demo - Responsive Design Example Responsive Mapping

Jumping Though Hoops?

Pushing the Limits (of a Single App) Mobile Web Apps Responsive Design

Demo - Will that work in HTML5? Can I Use

Hybrid Apps Josh Venman

Mixing it up

Full Capability Native Single Platform Objective C Java Hybrid Multiple SDKs Multiple Platforms Web Partial Capability Hybrid Approaches Potentially good compromise?

Approach #1 Run your JavaScript and HTML app in a native container Apache Cordova Adobe PhoneGap

Approach #2 Turn your JavaScript code in to a native binary Appcelerator Appcelerator Studio

Approach #3 Develop C# and run your code in.net in native executable Xamarin Xamarin Studio

Approach #4 Run mobile ActionScript & Flex Apps in the AIR runtime Adobe AIR Flash Builder

Sometimes native is the smart choice

Demo - Making PhoneGap simpler One approach to hybrid apps

Summary John Hasthorpe

Deciding on a way forward Requirement Web Map In EsriApp Out of the Box Functionality Web App Wrap-up Responsive Decdision Matrix Here Custom Functionality Use Web Development Skills Simple Deployment / Update BroadReach / Single Code Base Focused (UI or Functionality) Access to Hardware App Store Presence Optimum Performance Native Experience Web App Targeted Hybrid App Native App Full Partial

Resources Design Focused - Design Inspiration: http://www.mobile-patterns.com/maps - Layout Testing screen size/orientation/pixel density: http://www.websitedimensions.com/sitegrid/index.php - Responsive Design Template: http://maps.esri.com/sp_demos/responsive/index.html Performance Testing - Firebug: http://getfirebug.com/ - Fiddler: http://fiddler2.com/ - Chrome Dev Tools: https://developers.google.com/chrome-developer-tools Browser Capabilities - CanIUse: http://caniuse.com - HTML5 Rocks: www.html5rocks.com Developer Resources - Esri APIS/SDKS/Samples and HTML5: https://developers.arcgis.com/en/ - ArcGIS Online (for WebMaps): http://arcgis.com/

Resources Continued Building Hybrid Apps Adobe PhoneGap Build: https://build.phonegap.com Apache Cordova: http://cordova.apache.org Telerik Icenium: http://icenium.com Xamarin Studio: http://xamarin.com Adobe Flash Builder: http://www.adobe.com/au/products/flash-builder.html Appcelerator Studio: http://www.appcelerator.com/ More Tools Esri Leaflet plugin https://github.com/esri/esri-leaflet Ripple Emulator http://ripple.incubator.apache.org/

Training Building Web Applications Using the ArcGIS API for JavaScript http://esriaustralia.com.au/training-gis-courses-developer

Questions? Thank you