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



Similar documents
SYST35300 Hybrid Mobile Application Development

A Guide to Mobile App Development Platforms

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

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

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

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

Cross-Platform Tools

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

CROSS PLATFORM DEVELOPMENT The HTML5 Way

Developing and deploying mobile apps

Article. One for All Apps in HTML5

Cross-Platform Phone Apps & Sites with jquery Mobile

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

True Web Application Management: Fixing the Gaps in EMM Solutions

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

An Analysis of Mobile Application Development Approaches

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

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

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

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

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

Armedia. Drupal and PhoneGap Building Mobile Apps

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

Making Mobile a Reality

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Rich Internet Applications

Mobile Application Development. Adopt Based On Fit

How To Develop A Mobile App With Phonegap

Building native mobile apps for Digital Factory

Statement of Direction

ORACLE ADF MOBILE DATA SHEET

Introduction to IBM Worklight Mobile Platform

Solution Spotlight BEST PRACTICES FOR DEVELOPING MOBILE CLOUD APPS REVEALED

WHITEPAPER. Pros & cons of native vs cross-platform mobile development with Xamarin

Adobe Creative Suite 4 Web Standard

... Introduction Acknowledgments... 19

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

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

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

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

How To Use Titanium Studio

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

ni.com Remote Connectivity with LabVIEW

Retool your HTML/JavaScript to go Mobile

Armedia. Drupal and PhoneGap Building Mobile Apps

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

Middleware- Driven Mobile Applications

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

Cross Platform Applications with IBM Worklight

/// CHOOSING THE BEST MOBILE TECHNOLOGY. Overview

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

All About Android WHAT IS ANDROID?

Mobile Application Development

Whitepaper. Trans. for Mobile

ADF Mobile Overview and Frequently Asked Questions

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

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

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

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

Porting Existing PhoneGap Apps to Tizen OS - Development Story

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Choosing a Mobile Application Development Approach

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

Choosing a Mobile Strategy for Your Business

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

HTML5 the new. standard for Interactive Web

HTML5: Separating Fact and Fiction. #wipjam

Taking Your Content Mobile. 5 Keys to a Successful Mobile Content Strategy

Cross-Platform Mobile Apps Solution

The Most Popular UI/Apps Framework For IVI on Linux

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

THE BUSINESS CASE FOR HYBRID HTML5 MOBILE APPS

WHITE PAPER on Flex to HTML5 The Migration Challenge. April 2014

Cross-Platform Software Considerations for Internet of Things

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

Integrating Mobile into Your Cross- Platform Strategy with Qt

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

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

Oracle WebCenter Sites Mobility Server Enabling exceptional mobile and tablet web applications and web sites without compromise

Development of mobile applications for multiple platforms

Considerations Regarding the Cross-Platform Mobile Application Development Process

Cross-Platform Mobile Application Development

Transcription:

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

What is cross-platform development? Cross-platform development produces a single code base that can be run across multiple operating systems such as Microsoft Windows plus Mac/Apple and/or Android. Cross-platform applications can reach your customers through whatever device they have in front of them, wherever they are: using a Windows* PC at work, an Apple* ipad* at the local coffee shop or an Android* phone on the go.

Advantages Consolidated Development Effort Using a single API /code base saves time on development, localization and maintenance of the code base. Decreased Development Time Cross-Platform tools (CPTs) not only provide one tool for multiple OSs, they can also simplify development with dynamic and comprehensive libraries. Code and Asset Sharing Most of the major frameworks have official repositories for sharing code and assets or purchasing them from other developers/vendors. Fewer Skill Sets The required technical skills sets can be focused around a single API to implement and support the project.

Disadvantages SDK Lock In Once you commit to a framework, you are dependent on the tool set and the availability of development resources who support it. Outdated API Risk Cross-platform SDKs may lag behind the latest and greatest features offered by native SDKs possibly making applications appear less up-todate and current. Testing Testing cross-platform apps may be more complicated since different platforms can exhibit slightly different behavior and subtle bugs. Limited Feature Set Cross-platform SDKs are an abstraction of the various platforms into one uniform interface; this abstraction may limit the feature set compared to the native API.

CPT Challenge: Dynamically Adapting to Screen Parameters Truly cross-platform means that the application provides a good user experience across a variety of screen sizes, resolutions, aspect ratios and orientations. Scaling Scaling components and fonts according to the screen dimensions is the simplest approach and optionally, adjust padding around UIT components to accommodate various aspect rations. Responsive Images and Layout Images may be cropped or optimized for different resolutions, also consider a fluid layout; rearrange sections based on available screen real estate. Managing Idiosyncrasies For example, all OSs have differences in the behavior of platform runtimes that complicate cross-platform development.

Top 5 Cross-Platform Tools* Qt Adobe AIR Appcelerator Apache Cordova Sencha * Developer Economics 2013 Q1 Report

Qt ( Cute ) Qt targets a number of embedded, desktop and mobile platforms. Developers write using QML, a CSS and JavaScript like language. Apps are backed by an extensive set of C++ libraries and utilize graphics/ui components written in C++.

Qt ( Cute ) Pros Provides a substantial set of libraries containing intuitive APIs for features like threading, networking, animations and more. Qt s IDE tooling (Qt Creator IDE & Qt Designer) are solid development tools, and code profiling is available in QML Profiler. Qt Linguist enables translation and internationalization in applications providing the support of multiple languages within an app (in a single binary). Cons Qt s tools are advertised as a complete tool chain, and QML is a proprietary language specific to Qt s stack. Committing to this approach could be viewed as platform lock-in, and may limit the re-use of existing developer skill sets when adopting a CPT. Pricing of the toolset /support may be higher than support cost for other CPTs.

Adobe Air Adobe Air allows developers to combine HTML, JavaScript, Adobe Flash and Flex technologies, and ActionScript + to deploy Rich Internet Applications (RIAs) on a broad range of devices including desktop computers, netbooks, tablets, smartphones, and TVs.

Adobe Air Pros Adobe AIR has impressive reach running on a wide array of desktop and mobile devices. In addition, if a more involved/animated UI is required (and a native approach is not utilized), using AIR over a HTML/JavaScript/CSS approach may work well. Most Flash/ActionScript developers consider the IDE tooling for these technologies as mature. Cons The elephant in the room for many mobile developers is the fact that Adobe purchased Nitobi (and the rights to the PhoneGap name), clearly signaling to many that AIR may not be a long term strategy for mobile development. This combined with the rapid decline of Flash erodes the confidence many developers might otherwise have in choosing AIR.

Appcelerator Appcelerator s Titanium provides a unified (across devices) JavaScript API, coupled with native-platform-specific features. Developers write JavaScript and utilize a UI abstraction (the Alloy MVC framework) that results in the use of native UI components, greatly aiding UI performance compared to other hybrid options.

Appcelerator Pros The use of native UI components is a performance win, and the Alloy framework attempts to normalize UI across platforms. The use of JavaScript to normalize code across platforms enables you to leverage existing skills on multiple target platforms. Appcelerator provides value-adds such as a Backend-as-a- Service (BaaS), app analytics and a marketplace for 3rd party components. Cons Normalizing the UI across platforms, while arguably a pro, is also a con in that the SW development team will need to have experience on a proprietary technology (skills that are not directly transferrable outside Titanium). Developers are required to manage target platform SDKs locally.

Apache Cordova Apache Cordova/PhoneGap supports creation of mobile apps using HTML, JavaScript and CSS. These assets run in WebView inside a native app container on the target platform. It is, conceptually a web app packaged within a native app container where JavaScript has access to device-level APIs that normal web apps would not access.

Apache Cordova Pros A significant number of developers have experience with HTML, JavaScript and CSS. Apache Cordova allows developers to immediately leverage these existing skills. Cordova apps install like a native application, and are able to leverage app store discoverability. Cordova follows a plugin architecture, which means that access to native device APIs can be extended in a modular way. Cordova is open source and free, so there are no licensing costs. Cons The performance of Cordova apps has often been criticized. Cordova is bare bones and maybe incomplete. The open source/ plugin architecture works well if the plugins needed are available or if your web developers are capable writing their own custom plugin(s) as needed.

Sencha Sencha Touch is an HTML5 mobile app framework for building web apps that look and feel like native apps. Apps built with Sencha Touch can be used with Apache Cordova or Sencha s native packager either will package the app in a native container and enable access to device-level APIs unavailable to traditional web apps.

Sencha Pros Includes a large set of interoperable products, from Sencha Architect (a visual HTML5 app builder) and Sencha Touch Charts (for data visualization) to IDE integration with Sencha Eclipse. Sencha Touch offers a library of UI components, an extensible API and UI themes among other features. Native packaging is possible via Apache Cordova/PhoneGap or Sencha s SDK. Cons Mobile apps written with Sencha Touch can exhibit performance issues if developers aren t disciplined in writing efficient JavaScript and DOM structure(s). Sencha s emphasis on its own stack is perceived as vendor lock-in. Many developers already have established experience with preferred frameworks for HTML5/JavaScript/CSS based apps.

Conclusion Cross-platform development is the way to go if it fits both the application requirements and the skill set of the resources. Carefully select the development tool/ SDK to make certain it supports all the required functionality of the application. Many of the frameworks support extensions that will allow the addition of native modules to fill gaps. Ultimately a crossplatform framework should reduce the development time-line and budget compared to a multiple code base approach developed with native frameworks.

Created by: ASHVINS Group, Inc. Email : sales@ashvinsgroup.com www.ashvinsgroup.com