Making Sense of Mobile Development Options. Luis Sala Director, Technology Alliances @LuisSala



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

Developing and deploying mobile apps

SYST35300 Hybrid Mobile Application Development

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

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

Article. One for All Apps in HTML5

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Developing Cross-platform Mobile and Web Apps

Cross-Platform Tools

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

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

Etanova Enterprise Solutions

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

Retool your HTML/JavaScript to go Mobile

ADF Mobile Overview and Frequently Asked Questions

Choosing a Mobile Strategy for Your Business

Whitepaper. Trans. for Mobile

Smartphone Application Development using HTML5-based Cross- Platform Framework

CROSS PLATFORM DEVELOPMENT The HTML5 Way

Statement of Direction

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

About Me. Cross-platform Mobile Development Challenges, Best Practices and more.

Mobile App Design and Development

Basic Trends of Modern Software Development

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

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

research: technical implemenation

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Mobile Application Development

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

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

Native, web or hybrid mobile-app development

Enterprise Mobile Application Development: Native or Hybrid?

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

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

ios Hybrid Mobile Application Development

Development of Hybrid Applications with HTML

Build a Mobile App in 60 Minutes with MAF

Building native mobile apps for Digital Factory

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

Making Mobile a Reality

Learning ios Programming

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

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

Armedia. Drupal and PhoneGap Building Mobile Apps

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

Cross-Platform Development

Cross-Platform Mobile Apps Solution

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

Navigating the Mobile App Development Landscape

QML and JavaScript for Native App Development

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

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

JC Now. Case Study in Building an App on the Cheap. Nick O Day GIS Manager. be the exception

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

ORACLE ADF MOBILE DATA SHEET

THE LINK OFFLINE DATA ARCHITECTURE

Developing And Marketing Mobile Applications. Presented by: Leesha Roberts, Senior Instructor, Center for Education Programmes, UTT

HTML5: Separating Fact and Fiction. #wipjam

Enterpise Mobility Lexicon & Terminology

HTML5 as the Core Technology of the Mobile Enterprise

Enterprise Mobile App Management Essentials. Presented by Ryan Hope and John Nielsen

MOBILE HELIX LINK SDK OVERVIEW A MOBILE HELIX WHITEPAPER

Cross Platform Applications with IBM Worklight

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

Native-quality, cross-platform HTML5 apps. Peter Helm

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

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

True Web Application Management: Fixing the Gaps in EMM Solutions

Accelerating Business Value by

27th Embarcadero Developer Camp General Session

How To Use Titanium Studio

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

Survey, Comparison and Evaluation of Cross Platform Mobile Application Development Tools

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

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

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

CROSS PLATFORM APP A COMPARATIVE STUDY

Beginning Mobile Application Development in the Cloud

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software

Mobile Apps, Mobile Web, and Other Cool Tools. Thursday, November 9, :00pm 4:00pm Michael Hostad and Scott Owczarek

Considerations Regarding the Cross-Platform Mobile Application Development Process

How To Develop A Mobile Application On An Android Device

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

... Introduction Acknowledgments... 19

Toolkit for Implementing Sites & Apps

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

Choosing a Mobile Application Development Approach

OS3036 Put Your ClearPath In Your Pocket

Native versus HTML5 where s mobile programming heading to?

Analysis of Native and Cross-Platform Methods for Mobile Application Development. [ Whitepaper] Praveen Kumar S

How To Develop A Mobile App With Phonegap

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

Armedia. Drupal and PhoneGap Building Mobile Apps

Cross-Platform Phone Apps & Sites with jquery Mobile

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

Develop native android apps And port to other platforms

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

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Transcription:

Making Sense of Mobile Development Options Luis Sala Director, Technology Alliances @LuisSala

Disclaimers Mobile = Smartphone & Tablet Native discussions have an ios bias But the concepts all apply to Android and other platforms

A brief survey...

ios? Android? Other?

ios 5 or 6? iphone Model? ipad Model?

Android ICS or Jellybean? Google Chrome?

Have you developed a mobile app?

Native? Hybrid? HTML5?

What s your poison? Java, JavaScript, Objective-C, others?

What are your mobile development concerns?

Let s begin...

Alfresco as a Platform for Content Apps

Content-centric Apps

Alfresco: The Content Platform CMIS API: Now available on-premises and in the cloud Device Native SDK Native Mobile SDK: Highly optimized for your devices. Learn more: https://developer.alfresco.com CMIS Alfresco

Frameworks vs. Platforms

Frameworks Apply primarily to client-side development Cocoa Sencha Touch Appcelerator Titanium Phonegap Ember.js, Backbone.js & others. General-purpose HTML5 frameworks often used for mobile web apps. Often provide the following: Model-View-Controller Architecture (or similar) Helpers of all types UI, interaction (touch), networking, social, camera, GPS/location, etc. Build, Testing & Packaging Tools

Platforms Apply primarily to server-side development Parse Stackmob Alfresco Often provide the following: Data Persistence Usually RESTful and JSON-based. Sometimes NOSQL-based Server-Side Logic Deployment & Hosting

Three Paths

The Mobile Development Continuum... Native Hybrid

Going Native

Once you ve set about a task, it is better to do it than to live in fear of it... Logen Ninefingers The Blade Itself by Joe Abercrombie

Why Native? Performance & User Experience Targeting only one platform Full device access

Caveats Single-platform Learning curve Both: New programming models. Android: Large class library ios: Large class library & Cocoa framework Some apprehension about Objective-C Device fragmentation Particularly bad for Android Slightly mitigated by hybrid and HTML5

Objective-C & Xcode Features Automatic Reference Counting (ARC) Almost as easy as garbage collection, but far more powerful. Message-oriented [myarray insertobject:anobject atindex:0]; Key-Value Observing (KVO) Keep models and views in sync Asynchronous Blocks Encapsulate and execute anonymous functions Threading & Grand Central Dispatch (GCD) Optimized parallelism managed by the framework

ios is not that hard... Learning native development takes about the same amount of time as learning any new framework. Objective-C 3-4 days Xcode 1-2 Weeks Cocoa 2-3 Weeks

Case Study: WWDC 12 Native App

Why HTML5? Mostly cross-platform Most mobile devices feature Webkit-based browsers Leverage existing development skills HTML, CSS, JavaScript Easy distribution through URL Well-suited for: Text-heavy, content-oriented sites Relatively simple and limited interactions / screens

Caveats No distribution through app marketplaces Limited data persistence with localstorage and indexeddb Limited touch capabilities No gesture recognizers. Performance: CPU & memory constraints Inconsistent use of hardware acceleration eg. box-shadow can kill performance on certain devices. Not always write once, run anywhere Inconsistent support of HTML5 features. Supporting different form-factors takes a lot of work.

Making HTML5 Work Pick your target platform & devices Keep the list short. Avoid making compromises that affect experience. Develop single-page apps to avoid page refreshes Use adaptive & responsive designs Be aware of screen orientation and use simple layouts eg. Master-detail views are best on tablets, not smartphones. Emphasize touch: Big buttons Limit pinch-zoom Limit use of hyperlinks

Case Study: Dreamforce Mobile Web App

Hybrid TRIGGER.IO

Why Hybrid? Leverage existing skills JavaScript & HTML App marketplace distribution Native UI control access Access to device features Camera, storage, database, etc.

Two Primary Hybrid Models JavaScript Core Web Core Native View HTML5 JavaScript Controller JavaScript Native Model Native Appcelerator Titanium Phonegap / Cordova Rho Mobile Trigger.io

Caveats Non-trivial apps are still hard to develop Class libraries, UI & best practices all take time to master Jack-of-all-trades, master-of-none... Consistent cross-platform UI requires compromises Limited access to native animations for fluid UI Embedded web views can be janky It s still a DOM! Limited JavaScript acceleration in ios Nitro not included in UIWebView

Case Study: Dreamforce Hybrid Web App

Case Study: CodeStrong Hybrid Web App

Summary

Summary Technology Pros Cons Native High-Performance Device access Complete flexibility HTML5 Fast development of simple apps Cross-browser support Learning curve Not cross-platform Limited device access Framework learning curve Limited gesture support Hybrid Near-native performance with some frameworks JavaScript & HTML-based development App marketplace distribution Improved device access Learning curve Not always truly crossplatform Limited gesture support

Tool Round-up

HTML5 & Hybrid JavaScript Frameworks Hybrid Frameworks Appcelerator Titanium Apache Cordova aka Phonegap Rho Mobile Trigger.io & Toolkits Ember.js Enyo.JS jquery & jquery Mobile Sencha Touch

Alfresco Technology Partner Program Become a registered developer https://developer.alfresco.com Build an app Apply to become a Technology Partner http://alfresco.com/partners/program/technology

Parting Thoughts

UX Matters

Native is not as complex as it seems...

Despite any opinions expressed here...

Make the choice that s right for you.

After all, you ve got to be realistic about these things... Logen Ninefingers The Blade Itself by Joe Abercrombie

Recommended Sessions TODAY Session Title Content Solutions From Paper to Mobile The Alfresco ios SDK The Alfresco Android SDK Room Ballroom B & C Ballroom B & C Ballroom B & C TOMORROW Session Title HTML5 for Multi-Device, Content Rich Apps Room Corinth