13
Compare and contrast seven approaches to go cross platform Cross platfor mobile apps

Deciding how to go cross platform by atidan

Embed Size (px)

DESCRIPTION

Compare and contrast seven different ways to go cross-platform

Citation preview

Page 1: Deciding how to go cross platform by atidan

Compare and contrast seven approaches to go cross platform

Cross platform mobile apps

Page 2: Deciding how to go cross platform by atidan

Dynamics of smartphone and tablet market

• The landscape of mobile platform market is ever changing

• Today Android is dominating the world market, iOS being distinct second and rest of the platforms trying to reach a combined 15% market share

• With arrival of Windows Phone OS and other platforms such as Tizan and Firefox OS peeping around the corner, Blackberry is struggling for existence, Symbian is destined to a slow death and WebOS is doomed already

• It can be said that market dominance of a platform is not predictable and certainly not permanent

Page 3: Deciding how to go cross platform by atidan

Cross-Platform Mobile Tools

Page 4: Deciding how to go cross platform by atidan

How to decide the platform support1. How important is the mobile enablement for the business?

• As support for every additional platform means cost to your company it is important to perform a cost benefit analysis

• For businesses like weather and travel services, investment in wide range of platforms can prove beneficial

2. What is the vision for the mobile offering?• Activity timeframe of the mobile offering is an important factor in defining platform support• If you plan to launch an app to aid marketing and don’t expect to support it for long then you

may choose to support top platforms to cover most of the market

3. What are my target markets?• Different markets follow different trends• If your offering is focusing India you may give Windows Phone priority over iOS• Thus is important to consider this trend in the market segmentation analysis

4. What kind of user experience is expected?• With HTML 5 based tools very usable and responsive interfaces can be built• Native applications have advantage when it comes to execution speed and quality of user

interface capabilities• HTML 5 based solutions may not be able to support all the capabilities of the device

Page 5: Deciding how to go cross platform by atidan

Xamarin

• What is Xamarin? Cross-platform tool that enables a developer to reuse the same business

logic for different mobile platforms

• When can we use Xamarin? Extensive business logic is required Performance cannot be compromised Platform specific UI with common business logic

• Pros: Allows reuse of Business logic over iOS, iPhone & Windows Phone Gives native user experience Provides dozens of pre-built components that can help build apps faster

• Cons: Cannot reuse the UI for various platform High license cost

Page 6: Deciding how to go cross platform by atidan

PhoneGap

• What is PhoneGap? Free and open source framework that allows you to create mobile apps

using standardized web APIs for a lot of mobile platforms

• When can we use PhoneGap? Common UI across all platforms is needed Performance is not a major concern

• Pros: Allows to create reusable UI design that can be shared across platforms It provides an API to access many of the device dependent functionalities

like Camera, GPS, etc. Free and open source

• Cons: Cannot build platform specific UI Performance is less than apps written in their native language

Page 7: Deciding how to go cross platform by atidan

mGage

• What is mGage?Mobile web development platform that allows brands and agencies to

create deploy, host and measure mobile sites that can be dynamically rendered on most devices in the market

• When can we use mGage?Advertising/marketing app or sitesMarketing apps that don’t need long term support

• Pros: Allows to create a mobile campaign site that can be run on any mobile

deviceProvides features to monitor user participation in the campaign

• Cons: Not very useful for apps that involve large business logicPerformance is less than apps written in their native language

Page 8: Deciding how to go cross platform by atidan

5ml

• What is 5ml? Used to build rich media ads for mobile applications, mobile web and

standard online advertising that leverage advanced device functionality (gyroscope, accelerometer, GPS, etc.) and unique HTML5 features as supported on each platform

• When can we use 5ml? Rich advertising/marketing apps Need support for basic native features

• Pros: Allows to create rich media ads that can be run on any mobile device Allows access to device features like GPS, gyroscope, accelerometer, etc. Provides simple drag & drop features. Thus reducing development effort

• Cons: Not very useful for apps that involve large business logic Performance is less than apps written in their native language

Page 9: Deciding how to go cross platform by atidan

Moovweb

• What is Moovweb? Cloud-based mobile platform that empowers companies to leverage all of their

existing web investments to deliver responsive mobile experiences in a short period

Desktop sites get transformed, in real time, into mobile sites or apps that work beautifully on any device, anywhere, any time

• When can we use Moovweb? Convert existing desktop site to mobile site

• Pros: Allows reuse of business logic, already in present in the desktop site, for the

mobile site Transforms existing UI elements to support responsive mobile design Delivers high performance mobile experiences

• Cons: Performance is less than apps written in their native language Cannot be used to create a separate site only for mobile

Page 10: Deciding how to go cross platform by atidan

Adobe Air

• What is Adobe Air? Enables developers to use HTML, JavaScript, Adobe Flash software, and

Action Script to build web applications that run as standalone client applications without the constraints of a browser

• When can we use Adobe Air? Mobile & desktop apps that require extensive animations Developing flash mobile games

• Pros: Extensive support for animations that can be easily achieved via Flash Enables developers to package code to native apps that run on most devices

• Cons: Does not support multi-threading Does not allow making native calls to the underlying operating system APIs Does not permit loading native libraries (e.g. DLLs / C libraries etc.)

Page 11: Deciding how to go cross platform by atidan

JQuery Mobile

• What is JQuery Mobile? Unified, HTML5-based, touch-friendly web UI development framework that lets you develop

highly-branded mobile web sites or apps that work across all popular mobile device platforms.

• When can we use JQuery Mobile? Simple content display and data entry-type apps Want to build a touch friendly mobile web site for smartphones with 3G or faster

• Pros: The design is themable and customizable. No need for any knowledge of JavaScript, CSS or API. AJAX calls are made automatically to load dynamic content.

• Cons: Cannot access native device features Works slow on slower networks(2G) Still in beta version

Page 12: Deciding how to go cross platform by atidan

Quick reference tableArea Xamarin PhoneGap mGage 5ml Moovweb Adobe Air JQuery Mobile

Supported Platform Type Native Apps Hybrid Apps Web Apps Web Apps Mobile Site Native Web

What can be reused? Business Logic UI & certain device dependent logic

All All Business Logic (between desktop & mobile)

All UI

Supported Mobile Platforms

iOS, Android, Windows Phone & Windows 8

iOS, Android, Blackberry, WebOS, Windows Phone, Symbian, Bada

Most mobile platforms Most mobile platforms All mobile platforms Most mobile platforms Most mobile platforms

Can access native device features?

Yes Yes No Partial No No No

Performance High Performance as code is compiled into native

Performance is less when compared to native apps

Performance is less when compared to native apps

Performance is less when compared to native apps

Performance is less when compared to native apps

High Performance as code is compiled into native

Slow

Development Speed Very mature design tools, faster development

Good development toolset. Customizations can take more time

Fast development. Customizations can take more time

Provides controls for faster development

Fast development Customizations can take more time

Provides controls for faster development

Fast development

Licensing Paid (https://store.xamarin.com/) Free Basic(Free) & Premium (http://www.fiveml.com/registration.html)

Basic(Free) & Premium Free for developer (http://www.moovweb.com/product/pricing)

Free Free(still in Beta)

Usage Scenarios Has heavy business logic

Need good performance

Need to create platform specific UI

Need common UI across platforms

Performance is not a major concern

Advertising/marketing app or sites

Rich advertising/ marketing apps

Need support for basic native features

Convert existing desktop site to mobile site

Apps that require extensive animations

Flash mobile games

Simple content display and data entry-type apps

Need support for maximum mobile platforms