Petya Petrova - Fotolia

How to choose cross-platform mobile development tools

Cross-platform development tools help organizations build apps for a variety of users and devices. But where to start? Learn what types of tools fit which situations.

Companies no longer rely on a single device type, such as Windows desktops, to carry out business. Enterprise IT must support a wide range of devices, including smartphones, tablets and emerging technologies, like smartwatches and wearables. Some organizations must even account for IoT devices.

In today's multi-device climate, IT teams must figure out ways to develop mobile business apps as quickly and efficiently as possible, a process made more difficult if they intend to support both iOS and Android devices. For this reason, many organizations turn to cross-platform mobile development tools, which let them create apps for iOS and Android from a single code base.

The goal of this article is to showcase cross-platform mobile development tools to help organizations determine which option is the best fit for their team.

The state of enterprise cross-platform app development

In the late 1990s, Java was released with the tag line, "write once, run anywhere." The concept was simple: use one development tool for multiple environments. Today, organizations need development tools that support iOS, Android and other platforms.

A number of vendors now offer cross-platform mobile development tools that support multiple OSes, helping to simplify development and speed up delivery. Companies can divide the tools into two general categories:

  1. Cross-platform hybrid: These tools rely on common technologies, such as JavaScript, CSS and HTML5, to build web apps that run inside a native container on the target devices. Most of the code splits between platforms, making development quicker, easier and cheaper than native approaches. However, the apps do not perform as well as native apps and cannot take full advantage of the device's built-in capabilities.
  2. Cross-platform native: These tools provide a compromise between the hybrid approach and true native app development. Developers can build apps for multiple platforms using an intermediate language, such as JavaScript or C#. Unlike the hybrid approach, the apps use native UI controllers, which enable them to take better advantage of device features, while offering better app performance. But development is not as quick and easy as it is with hybrid apps, and cross-platform native apps still don't perform as well as true native apps.

In addition to cross-platform mobile development tools, IT teams should evaluate their needs for web-based apps. Progressive web apps are essentially beefed-up web applications that rely on plugins to access native features on mobile devices, providing the flexibility of web-based applications, while still supporting advanced device capabilities.

In some cases, IT teams might also consider no-code or low-code development tools to help simplify the development process. This can be especially useful for smaller organizations with limited development resources or for teams in larger organizations that have specific requirements. Some cross-platform tools support low-code capabilities, but the power of these tools lies in their more comprehensive set of features.

The benefits of cross-platform mobile development tools

Although companies should exercise caution when managing cross-platform environments, organizations still have good reasons for choosing them:

  • A single development team can build an organization's platforms regardless of the mobile device type.
  • It is easier to learn how to use just one development tool, and it keeps costs down.
  • Most cross-platform tools are maturing quickly; many of the features companies require in enterprise mobile apps, such as bar code scanning, image recognition, forms, data connection and text-voice, have long been included in the core of the cross-platform tools.

Cross-platform mobile development tools help developers create apps that they can deliver quickly. This benefit is especially important for SMBs that lack the budget to support both Android and iOS development. Indeed, even large companies can supplement smaller project development with cross-platform tools.

These days, there are plenty of cross-platform tools from which to choose, for both hybrid and native development, including these popular hybrid tools:

  • Apache Cordova
  • Adobe PhoneGap
  • Framework7
  • Ionic
  • Sencha Ext JS

Cordova is a particularly important development tool because it is used by or related to many other cross-platform hybrid tools, such as Ionic, Ext JS and Framework7. In fact, Cordova and PhoneGap share common roots, originating from a single project started in 2008 by engineers from the Nitobi web development company. After Adobe acquired Nitobi, it divided the project into two, with Cordova becoming the open source Apache product and PhoneGap the Adobe-branded product. Despite the split, the two platforms remain similar in many ways.

Products such as Cordova and PhoneGap make developing mobile apps via simple languages like HTML and JavaScript easier. As a result, organizations already invested in web development infrastructures can transition to mobile app development with much less effort. In addition, developers can use these tools in conjunction with integrated development environments, such as Xcode, Eclipse and Visual Studio.

Cross-platform hybrid tools also offer other important features. Ext JS comes with an assortment of tools for end-to-end app building, such as Sencha Architect, which provides drag-and-drop capabilities. In addition, Ext JS offers the ExtGen command-line tool for app generation, ExtBuild for building and transpiling apps, and Sencha Cmd for lifecycle management.

Cross-platform native tools are just as versatile, if not more so. Some commonly used native tools and frameworks include the following:

  • Appcelerator Titanium
  • Flutter
  • NativeScript
  • React Native
  • Xamarin

Although the tools all support cross-platform native development, they vary in important ways. Many of them use JavaScript for app development, while Flutter uses Dart and Xamarin uses C#. The tools can also vary in terms of development effort, maturity, availability of libraries, amount of custom coding required and, most importantly, app performance. For example, Flutter is quickly gaining a reputation for building high-performing apps, but it is also a young technology that many third-party services and other platforms do not support. Understand how each product works and how they differ.

Which tools work best

Organizations vary in both type and size, and they have their own individual requirements when it comes to mobile applications. Organizations must choose cross-platform mobile development tools that fit their specific circumstances. The following guidelines can help with this process:

  • Small companies (fewer than 50 people): When companies have a small team working to deliver value to clients, they should focus on mobile apps that can launch quickly without having to support the cost of an expensive development team. To this end, companies should use options already available in public app stores or commercial off-the-shelf (COTS) products.
  • Midsize companies (up to 500 people): These organizations face the challenge of having to build apps for both iOS and Android due to a mix of staff and consumer needs. Cross-platform technologies, such as Xamarin or Titanium, work well in this type of environment. The use of C# in Xamarin will make it easier for .NET-based teams to migrate to mobile. Midsize companies should also consider low-code development options.
  • Large companies (500-plus people): The demands for these organizations are more complex than SMBs because of their sizable back-office systems and the need for sophisticated security in their apps. For this reason, a multi-tiered approach to app development should be useful. Organizations can use a cross-platform tool for small teams. But they should turn to native tools for both mission-critical apps and consumer-facing public apps.
  • When security is a high concern, developers should build native apps. If the apps are for internal use, a mobile application management platform can help with app deployment.
  • When speed of delivery is the highest concern, organizations should use a combination of COTS products and cross-platform tools that support frameworks such as NativeScript, Framework7 or Xamarin. They should also consider low-code development options.
  • When cost is the highest concern, open source technologies such as Cordova or React Native are good options.

The tools for mobile development are maturing rapidly. It is worth reviewing the available tools every six to 12 months to see which ones might work best.

What to watch out for

Cross-platform mobile development tools are great for proofs of concept, but developers must take into account several important issues:

  • Developers still need access to a macOS environment to build iOS apps, at least in most cases. Anywhere Software claims that its B4i platform is the only development tool that lets developers build iOS apps without a local Mac.
  • Cross-platform app development tools are always playing catch-up to rapidly changing mobile OSes and the mobile industry as a whole.
  • Cross-platform tools have a history of performing badly when the apps become more complex.

Robert Sheldon contributed to this report.

Dig Deeper on Software design and development