Cross platform development

Mobile App Development

Hybrid applications

Mobile web applications

First, there were PCs and phones – then came the smartphones, tablets, smart TVs, game consoles, in-car devices and other smart devices. As the users of these devices demand access to the apps, the publishers will want to get their app in front of these target groups. Within these platform types there are multiple operating systems, versions and form factors to consider. The need for leveraging the software development effort across these targets has given rise to the cross platform tools. These tools allow for the write once – run anywhere code. The following discussion will help you understand some of these options and help drive the decision towards using a cross platform tool.

Types of Cross Platform Tools

Mobile applications can be developed as mobile web, native or hybrid applications. There are cross platform tools available for each of the different types of mobile application development.

Mobile Web Apps

Mobile web applications are mobile web sites written primarily in HTML5 and Javascript. These run in the browser and cannot access much of the device hardware. Mobile web apps cannot be published to the app store but can be ‘installed’ on the device by creating a short cut to the URL on the device home screen.

The cross platform tools for mobile web apps leverage HTML5 and Javascript. Some of the tools that can be used to create a mobile web application are as follows: jQuery Mobile, Appcelerator, Sencha Touch, Unity 3D and Marmalade.

Native Apps

Native applications are developed in a language and environment native to the target device. For example, Objective-C is used for iOS devices and Java for Android devices. These apps have access to the device hardware and can be published to their respective app stores. The native applications also have superior performance compared to the mobile web or hybrid applications. Xamarin, Telerik and RhoMobile provide tools to create cross platform native applications.

Hybrid Apps

Hybrid applications are developed using HTML and Javascript and then embedded into a native web container, lending them to be published to the app store much like the native applications. The hybrid cross platform tools provide access to the device hardware through Javascript libraries. So, this solution provides the best of both worlds in certain scenarios.

PhoneGap is the leader among the cross platform tools for hybrid applications. appMobi and Telerik’s AppBuilder are other examples of tools in this category.

The Need for Cross Platform Tools

There has been a growing trend towards developing native applications to conform to the native user interface and to improve performance. While the case for cross platform tools is best made for native applications targeting multiple devices, most of these arguments will hold true for the hybrid and mobile web application development as well.

Developer Resources

Developing native applications requires disparate skill sets, often times not overlapping. This often requires enterprises to hire developers for a particular platform that is outside their core development competencies. Many cross platform tools predominantly leverage a single development technology such as .Net in case of Xamarin.

Code Reuse and Management

While the cross platform tool use implies code reuse, there are varying degrees to which this happens. The mobile web applications can be written once and used across all platforms. The hybrid applications share most of the code. There is device specific code required to wrap the HTML and Javascript into each platform’s individual web-view container, to be packaged and deployed as a native application. The cross platform tools for native application development provide the most value. Xamarin, for example, allows for up to 80 percent of code re-use.

Lower Development and Maintenance Costs

As a result of shared codebase among the various platforms, it costs less to develop an application using a cross platform tool. As the application matures, it is easier to manger releases and is cheaper to develop new features and bug fixes.

Summary

The field of cross platform tools is evolving rapidly with new challengers entering the fray quite often. There are definitive benefits of going with a cross platform tool when targeting more than one platform, both in consumer and enterprise application space. Choosing the right development approach and cross platform tool is an exercise in optimizing for application’s functionality and user experience, the cost of tool and the cost of development and long term maintenance.

Share this content:

Related