Classic Informatics Blog | Complete Knowledge Sharing Hub

Top 5 Cross Platform Tools For Developing Mobile Apps

Written by Reetam Das | Jan 27, 2015 10:05:31 AM

Cross Platform mobile app development is exciting but requires understanding and readiness!

Cross-platform (CP) mobile app development is on the eyes of everyone nowadays, whether because of its many promises or just some FOMO. This has obvious advantages and in many cases, worth it as it expands the user base of mobile phones with almost no extra effort. Also, developers having CP skills are totally in-demand. Let’s get a little context and analyze this recent phenomenon.

We can say there are many CP frameworks and tools out there, each with their pros and cons, but the industry and the data is clearly showing us a trend with which we can pick the most “impactful” or “influential” or the ones preferred by the enterprises for the development of their production apps.

This post will explain the key features and highlights of each of the tools – looking at why they’re amongst the best, what you can expect by using them and what kind of applications are possible with them.

Cross Platform Mobile Development: Things To Know

In this section, we will discuss a few aspects of cross-platform development:

What is Cross-Platform Mobile Development?

Cross-Platform development, in short, is about developing mobile apps once and using it on more than one mobile device.

There are two aspects related to this in a mobile app in terms of the code to be developed; one is the native cross-platform apps development is achieved by specific API that establishes the link between the native OS and the developed app; the other is CP being achieved by using HTML5 (or even CSS & JavaScript) for app coding especially for Smartphones as they have browser capabilities.

 

Trivia: The cross-platform app market is expected to hit $7.5 billion by 2018.

 

The popular slogan of “Write once run anywhere” (WORA) perfectly applies to cross-platform app development. However, this approach may not be ideal for all platforms. So which ones are the best platforms, resources, and tools to develop the code for iOS, Android, Windows, and more Smartphone OS all at the same time?

What are the advantages of cross-platform development over native?

Cross Platform apps bring many advantages over native such as optimized development & testing capacity and efforts, potential reduction in development costs, and faster time to release.

It all depends on how well the whole effort is synchronized together and how well the practical aspects have been taken care of.

Why choose Cross-Platform Mobile Development?

Cross-Platform development is expected to bring in certain advantages; apart from these there are some more technical and business reasons why this is preferred; technologies are available off late making CP development possible; easier recruitment process due to skill sets being more flexible, easier market reach for popular mobile apps, wider market coverage and also increased number of partnerships.

Top 5 Tools for Cross-Platform Mobile Development

There are dozens of cross platform mobile app tools of repute out of which often top 5 or 10 are discussed. 

1. Xamarin

Overview: Xamarin is a C# based tool for mobile app development for multiple platforms. This platform can be used for almost any app capabilities on iOS, Android, Windows Phone and Windows Store apps.

Xamarin C# was available for release since July 2011 for iOS and Android. According to 2015 statistics, Xamarin is downloaded and used by 1 million developers.

Features:

  • C# is the programming language used for mobile app development.
  • Xamarin comes with a built-in Git integration for version control.
  • Xamarin IDE is available in Xamarin Studio (for Mac) or Visual Studio (for Windows). Free community edition is available and also a pro-edition included in the Microsoft MSDN licensing; the pro versions start at very competitive pricing.

Pros of using Xamarin:

  • There are many sample apps that can be used as a starting point.
  • An estimated 75% of the code can be used across major mobile platforms and with simple tests apps can be launched for most markets.
  • It offers an Android emulator and provides features for functional testing and quality assurance for numerous devices.

Cons of using Xamarin:

  • Open source libraries (useful for iOS and Android) cannot be used with Xamarin.
  • The free version is limited in capabilities for large professional projects.

2. React Native

OverviewReact Native is one of the most popular JavaScript Mobile app development tool owned by Facebook. Facebook and Instagram native applications are built with React Native; since these are used on a large scale, the mobile apps to be developed can be reliable from the platform and compatibility point of view.

React Native as a tool for mobile app development was released at the beginning of 2015. It has come with dozens of releases since its inception with the latest one being 0.57 in 2018.

Features:

  • React Native works on native JavaScript as the programming language and is open sourced.
  • React Native based apps are particularly suitable for iOS and Android and come with many API for these two OS.
  • Github integration provides a version control and IDE. This comes with regular updates to keep in tune with the frequent OS changes from Google and Apple.

Pros of using React Native:

  • React Native is invested into by Facebook and has the reputation and brand names of Facebook and Instagram for proven performance.
  • Some of the advantageous features are Simplified development, Modular Architecture, Solutions and Libraries, hot loading and great community/eco-system.

Cons of using React Native:

  • React platforms are generally not meant for complex applications, so is React Native.
  • Although it is JavaScript based, the interface is a mix of custom markup language and native UI.

3. PhoneGap

OverviewPhoneGap is a free open sourced development tool that can be used to develop mobile apps across 8 different mobile platforms including iOS, Android, Windows, and Blackberry.

PhoneGap was launched in 2009 by Nitobi and was purchased by Adobe in 2011. PhoneGap uses Apache Cordova as an engine and together they form the framework for PhoneGap; Apache Cordova is more CLI based whereas PhoneGap is more GUI based. With careful planning, 50-80% code reuse can be made with Adobe PhoneGap.

Features:

  • PhoneGap comes with HTML, CSS, and JavaScript for programming but does not come with an own IDE or Emulator.
  • It packages the apps within a native application container which allows JavaScript to access device level API.
  • Third party tools like AIDE can be used for IDE. This tool is from Adobe and is open sourced.
  • It is a hybrid tool that can also be used for native apps. Adobe provides with a GUI for this tool.

Pros of using PhoneGap:

  • Skill sets related to HTML, CSS, and JavaScript are widely available in the market.
  • Eight different platforms can be covered by one single code.
  • This is completely free to use and gets great support from the community and Adobe.

Cons of using PhoneGap:

  • Owing to its Graphic intensive use, the apps can be relatively poor in performance.
  • It uses a plug-in kind of architecture but some of the platforms may prove this outdated.

4. Sencha Touch

OverviewSencha Touch a product from Sencha, is also a tool based on HTML/CSS/JavaScript and supports 6 platforms including iOS, Android, Windows, and Blackberry. Sencha offers a variety of tools for cross-platform app development.

Sencha Touch was initially released towards the end of 2011 with version 1.0 and about 3 years ago (2015) the latest stable version 2.4.2 was released.

Features:

  • Sencha Touch is offered with Sencha Architect 2 as the IDE.
  • Touch is offered under General Public Licenses, free for commercial and paid for OEM and embedded systems.
  • Sencha’s tool EXT JS allows users to create HTML5 based apps and has over a hundred UI components.
  • Sencha integrates with other cross-platform tools like Cordova.

Pros of using Sencha Touch:

  • It offers built-in native-looking apps for almost every major platform.
  • It supports PhoneGap/Cordova integration for native API access and packaging.

Cons of using Sencha Touch:

  • Sencha platform license is not only expensive to acquire it is not easy to understand.
  • Sencha offers native-looking themes but the themes are limited in availability.

5. Apache Cordova

OverviewApache Cordova is much comparable with PhoneGap as both are from Adobe. Although PhoneGap was the starting point for Apache Cordova, PhoneGap was not discontinued and given to Apache foundation after Nitobi (founder of Phonegap) was sold into Adobe in 2011.

In a way, Apache Cordova project was started in 2011 as the PhoneGap after Adobe acquisition becomes two projects: Adobe PhoneGap and Apache Cordova. Because of the reliance of Cordova on the CLI for development, the speed of development is left to the skills of the developer; perhaps the reason why a large majority of developers dread working with Cordova.

Features:

  • The background of PhoneGap and Apache Cordova have the same engine and have much comparison in terms of potentials and capabilities.
  • Cordova is a CLI based development tool that also works with HTML/CSS/JavaScript to offer a hybrid mobile app development medium.

Pros of using Apache Cordova:

  • Its engine provides the build process for most of the open sourced cross-platform mobile app development tools, for even those that are sold at price.
  • Although Adobe maintains it with regular releases, it has contributions from Blackberry, Google, IBM, Intel, and Microsoft and is one of the best coordinated in terms of enhancements.

Cons of using Apache Cordova:

  • Cordova is basically a non-GUI app development tool. The design, architecture and the details are left to the developer.
  • Beginners may find it more difficult to work with.

Comparison of Top 5 Cross-Platform Mobile App Tools

The 5 cross-platform tools to develop mobile apps above are all excellent – and they all have different features that set them apart. View our table below to quickly distinguish between them:

 

CP Tool Features IDE Platform Supported Licensing
Xamarin
  • C#
  • Git Version Control
  • Android Emulator
  • Xamarin Studio (Mac)
  • Visual Studio (Windows)
  • iOS
  • Android
  • Windows Phone
  • Free Community Edition
  • Pro MSDN Microsoft licensing
React Native
  • JavaScript
  • A handful of Native API
  • Modular Architecture
Github and 10 others
  • iOS
  • Android
Open Sourced
PhoneGap
  • HTML/CSS/JavaScript
  • Adobe GUI tool
  • Plug-in type Architecture
  • Cordova integration
Third Party tools (eg, AIDE)
  • iOS
  • Android
  • Windows Phone
  • Blackberry
Free and open source under Apache license version 2.0
Sencha Touch
  • HTML/CSS/JavaScript
  • HTML5 apps by Sencha Ext JS
  • Cordova platform integration
Sencha Architect 2
  • iOS
  • Android
  • Windows Phone
  • Blackberry
GPLv3, free for commercial but paid for OEM and embedded systems
Apache Cordova
  • HTML/CSS/JavaScript
  • Plug-in type Architecture
  • CLI based IDE
  • Third Party tools like Visual Studio
  • iOS
  • Android
  • Windows Phone
  • Blackberry
Open sourced

Things to Consider Before Developing Mobile Apps

 

After you select a suitable tool for cross-platform development, there are some details to be considered before you take up mobile app development:

  • Establishing the requirement/concept: Ensure that the requirements are established and clear in terms of problem-solution or specific feature-set. The ones going for Enterprise mobility would have a different set of goals and strategies than startup owners looking to build B2C apps.
  • Definitive market: Ensure that your application has an audience and takers. Ensure also they will have something interesting in the app to be developed.
  • Mobile Platforms: Determine the target mobile platforms on which the apps will be delivered.
  • Native Vs Hybrid apps: Ensure your eco-system understands the choice between these two - react native vs native frameworks.
  • ROI and Budget: Determine your budget and ensure that you have ROI calculation done to fix criteria for the market performance.
  • Design: Ensure that you have all the elements to design all aspects of the app.
  • Other aspects: Consider the other important aspects of the app development such as native data, mobile app testing, security, integrating Payment gateways and such others which may be expected by default.
  • Future aspects: Ensure you have clarity about some of the future aspects such as MVP of the app, future roadmap, and expansions.

Summing Up

Cross-platform development for mobile apps, like any other development method, requires careful planning and selection of tool keeping in view your objectives; it may even require detailed discussion with an experienced partner in this field. With the right resources and advice, you’ll be able to move forward and create a CP app using the method that’s best for you.

If you’re looking for a partner to help you build your cross-platform web and mobile app contact us today.

 

<em>Last Updated on 4th October 2018</em>