Compare and contrast seven approaches to go cross platform
Cross platform mobile apps
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
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
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
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
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
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
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
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.)
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
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