Deciding how to go cross-platform on mobile apps : Compare and contrast seven different ways

Dynamics of smartphone and tablet market

As a technology decision maker for your company it is tricky to pick and choose mobile platforms to support for your offerings. With so many smartphone platforms available in the market, supporting every additional platform adds significantly to the IT cost of the company.

Chart below indicates that android holds nearly 80% of the smartphone market. So, should you really be worried about the other platforms?

Figure 1: Source – Wikipedia

Well, 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. However, this wasn’t the case always. Before arrival of iPhone in 2007 there was little competition to Symbian and it looked invincible while Windows Mobile was the choice of corporates. This started to change soon after, RIM became choice of corporates and iOS signified the shift in era. The scenario was further shaken with the arrival of Google’s Android. With its open approach with limitless customization possibilities, Android has seen rapid adoption by OEMs and consumers.

Now, 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.

Thus, going by the recent history of this struggle of the mobile platforms for market share, it can be said that market dominance of a platform is not predictable and certainly not permanent.

How to decide the platform support

Coming back to the question: As a decision maker, should you really be worried about supporting platforms other than the top two?

To decide you can ask a few questions to yourself:

  1. 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. Some businesses such as weather services and travel services are critically dependent on the mobile enablement. In such cases investment in wide range of platforms can prove beneficial. Because if you will not support a certain platform somebody else would. On the other hand, if you are planning to build a solution for your field workers and if you don’t have immediate plans for BYOD support, you can stick to one platform.
  2. What is the vision for the mobile offering?
    Activity timeframe of the mobile offering is an important factor in defining platform support. For example, if you are planning to launch an app to aid marketing of a new product and you don’t expect to support it for long term then you may choose to support top platforms to cover most of the market. Another example is if you are launching an offering which is unique and innovative you may choose to build a strong presence on one of the platforms and port the work on other platforms.
  3. What are my target markets?
    The market share numbers in above figure doesn’t give the whole picture. Different markets follow different trends. For example, 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, however, native applications always have advantage when it comes to execution speed and quality of user interface capabilities.
    In addition, HTML 5 based solutions may not be able to support all the capabilities of the device.

What multi-platform options you have?

  1. Xamarin:
    What is Xamarin?

    Xamarin is a cross-platform tool that enables a developer to reuse the same business logic for different mobile platforms. Xamarin offers a single language – C#, class library, and runtime that works across all three mobile platforms of iOS, Android, and Windows Phone, while still compiling native (non-interpreted) applications that are performant enough even for demanding games.

    When can we use Xamarin?

    • Xamarin is useful for reusing code and logic when we have extensive business logic in the app
    • Xamarin can be used when performance cannot be compromised as it converts the code into native code which enhances the performance
    • Xamarin can also be useful when we need to make platform specific UI with common business logic
      Xamarin provides native user experience
    • Pros:
    • Allows to write reusable business logic that can be shared between iOS, Android & Windows Phone
    • Compiles into native code thus giving performance equivalent to apps written in their native language
    • Provides dozens of pre-built components that can help build apps faster
    • Can build platform specific UI
    • Cons:
    • Cannot reuse the UI for various platform
    • High license cost

     

  2. PhoneGap:
    What is PhoneGap?

    PhoneGap is a cross-platform HTML5 based tool that enables a developer to reuse the same UI design for different mobile platforms. PhoneGap is a 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?

    • PhoneGap is useful for reusing UI
    • PhoneGap also provides interface to perform basic device dependent tasks like camera
    • PhoneGap can be used when performance can be compromised for a common UI branding on all platforms
    • PhoneGap provides hybrid user experience
    • Pros:
    • Allows to create reusable UI design that can be shared between iOS, Android, Windows Phone and other mobile OS
    • It provides an API to access many of the device dependent functionalities like Camera, GPS, etc.
    • PhoneGap is free and open source
    • Cons:
    • Cannot build platform specific UI
    • Runs as a hybrid app. Thus performance is less than apps written in their native language

     

  3. mGage:
    What is mGage?

    mGage is a cross-platform HTML5 based tool that enables a developer to create and manage a common advertising/marketing app or sites across multiple mobile platforms. mGage is a 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?

    • mGage is useful for creating advertisement applications which can be easily rendered on most mobile platforms.
    • As it is a mobile marketing platform, it can be very useful when we make advertisement/marketing app for particular events/campaigns.
    • It also provide means to track user participation in the campaign
    • mGage provides web user experience
    • Pros:
    • Allows to create a mobile campaign site that can be run on any mobile device
    • Provides features to monitor the number of clicks, etc.
    • Cons:
    • Not very useful for apps that involve large business logic
    • Runs as a web app. Thus performance is less than apps written in their native language

     

  4. 5ml:
    What is 5ml?

    5ml is a cross-platform HTML5 based tool that enables a developer to create and manage a common mobile sites and rich media apps across multiple mobile platforms. 5ml is 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?

    • 5ml is useful for creating mobile web applications which can be easily rendered on most mobile platforms
    • It is useful when we make rich advertisement/marketing apps for particular events/campaigns as it takes less effort
    • 5ml provides web user experience
    • 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
    • Runs as a web app. Thus performance is less than apps written in their native language

     

  5. Moovweb:
    What is Moovweb?

    Moovweb is a cross-platform HTML5 based tool that enables a developer to create and manage a common mobile UI across multiple mobile platforms for existing desktop site. Moovweb is a 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?

    • Moovweb is useful for creating mobile web sites for existing desktop sites by reusing the business logic and just modifying the UI
    • It is useful for reusing business logic of desktop sites.
    • The UI modification is achieved via CSS transformation
    • Moovweb provides web user experience
    • 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:
    • Runs as a web app. Thus performance is less than apps written in their native language
    • Can be used only when you have a desktop site already present

     

  6. Adobe Air:
    What is Adobe Air?

    Adobe Air is a cross-platform HTML/Flash based tool that enables a developer to create and manage a common mobile apps that run across multiple mobile platforms. 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?

    • Adobe Air is useful for creating mobile & desktop apps which require extensive animations that can be easily achieved via Flash
    • It is useful in terms of mobile flash game development
    • It allows quick development of apps via Flash tools like Dreamweaver, etc.
    • Pros:
    • Has extensive support for animations that can be easily achieved via Flash
    • Adobe Air Runtime enables developers to package code to native apps that run on most devices
    • It allows quick development of apps via Flash tools like Dreamweaver, etc.
    • Cons:
    • AIR does not support multi-threading
    • AIR does not allow making native calls to the underlying operating system APIs
    • AIR does not permit loading native libraries (e.g. DLLs / C libraries etc.)
    • Limited Database support (no drivers for diverse databases)
    • Limited Networking support (Raw network socket manipulation not available)

     

  7. JQuery Mobile:
    What is JQuery?

    JQuery Mobile is a unified, HTML5-based, touch-friendly web UI development framework that lets you develop highly-branded mobile web sites or applications that work across all popular mobile device platforms. JQuery mobile framework allows you to design a single highly-branded web site or application that will work on all popular smartphone, tablet, and desktop platforms.

    When can we use JQuery?

    • For simple content display and data entry-type apps (as opposed to very rich multimedia/gaming applications) it can be a great force multiplier compared with native.
    • Use jQuery Mobile when you want to build a touch friendly mobile web site for smartphones with 3G or faster
    • Pros:
    • The design is themable and customizable.
    • Only non-intrusive semantic HTML5 code is used, without the need for any knowledge of JavaScript, CSS or API.
    • AJAX calls are made automatically to load dynamic content.
    • It is lightweight
    • Cons:
    • Slower than native apps
    • Cannot access native device features
    • Works slow on slower networks(2G)
    • Still in beta version
    • Limited Networking support (Raw network socket manipulation not available)

     

Quick reference table

Multi-Platform Mobile

About these ads


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.