Choosing Cross Platform Development Tool

It’s a good practice to share code across platforms in order to save the cost of development and maintenance. Apps on different platforms can have similar functionality, but the look and feel (i.e. UX) should be compliant with the platform. At the same time, the app should be able to use device specific features such as Touch ID on iPhone. From that perspective, it is important that the development tool has ability to share common code as much as possible, but also provide platform specific functionality and UX when required.

There are several tools available for cross platform development such as PhoneGap, Ionic, Titanium, Xamarin etc. They can be broadly classified in two categories, ones that run an app in a shell (e.g. PhoneGap, Ionic) and others that generate Native Code (e.g. Xamarin, Titanium).

In case of apps that run in a shell, the shell attempts to make controls appear like native controls for the platform. However, this does not exhibit a 100% native look and feel. When an app is run as bundled JavaScript, it is interpreted at the runtime rather than being run as binary code. This certainly leads to sluggishness in the app. These tools can be used when users are OK with generic UX and not many platform features are required. The cost of such tools is relatively low/free.

Tools that generate platform specific UX maintain the native look and feel of the platform. This gives a familiar UX to the users and reduces the learning curve. At the same time, the app delivers the performance of the binary code and avoids sluggishness. These tools come with a price tag.

Titanium generates native code from JavaScript. However, it lacks third party libraries. It has difficulty in developing complex applications. It can be good for small applications where developers are more comfortable with JavaScript than with C#.

Xamarin supports variety of design patterns. There are several third party libraries and plugins available for Xamarin (e.g. Telerik, Infragistics). Over the time, Xamarin has stayed current with trends in technology in each platform. So new features can be easily incorporated in the apps. The price tag associated with it provides good return on investment when accounted for developer productivity. This would be a good tool to build complex applications with a native look and feel.

To view or add a comment, sign in

More articles by Sameer K.

  • Functional Testing of Business Logic Workflows

    Problem Ever had this happen? Unit tests pass. Integration tests pass.

  • Getting Started With IoT using Python

    Python is an easy to learn language. If you use Python and want to get started in IoT, this series will help you get…

  • One Year After Rejoining Microsoft

    I rejoined Microsoft a year ago after working at other companies for 7+ years. The Microsoft that I rejoined is very…

    2 Comments
  • Build 2019 – New and Upcoming in Xamarin

    This is what I gathered from the talk “The Next Transformation in Mobile Development with Xamarin” from Build 2019. It…

  • Upgrade .csproj File

    Historically format of .csproj file has been complex and the developers dread to edit it.

  • Reflecting on 2018!

    Here is a brief reflection on 2018! Keeping it short and sweet. What I accomplished 100K+ downloads of secure storage…

  • Android download analysis using U-SQL

    When a developer obtains the reports of an Android App, it comes as a set of CSV files. "Downloads" file contains…

  • Resurrection of Netduino

    With the latest acquisition of the Netduino by Wilderness Labs, there is an attempt to resurrect Netduino. My…

    1 Comment
  • Unit Testing View Models that use Xamarin Plugin(s)

    Xamarin Plugins provide a wide range of cross-platform functionality libraries. The platform-specific functionality is…

  • What’s new in Secure Storage 2.0?

    Secure Storage NuGet package was created to provide a cross-platform library to store sensitive data. It has easy to…

Others also viewed

Explore content categories