10 cross-platform mobile development tools for enterprises

With so many mobile devices proliferating in the enterprise, organizations that want to create applications to boost their workers' productivity can find the task challenging. Curating cross-platform mobile development for any number of systems is no treat for a company's cadre of developers.

That's why the market is growing development tools that can create apps capable of running across mobile platforms. Demand for those tools is expected to jump in the coming years. Forrester estimates that more than 60 percent of enterprises are already engaged in cross-platform development, and IDC forecasts that the market for cross-platform development tools will increase at a compound annual growth rate of more than 38 percent, reaching $4.8 billion by 2017. Meanwhile, Gartner expects more than 20 million enterprise apps to be developed by 2018.

"The enterprise most definitely likes the idea of building one version of mobile apps through a single workflow," said IDC analyst Al Hilwa. "Cross-platform tools enable this approach."

Testing in the Agile Era: Top Tools and Processes

Device proliferation

Convenience isn't the only reason companies are cozying up to cross-platform mobile development tools. "Given the exponential increase in the cost of per platform development and the need for rapid time to market, cross-platform development is the way to go for the enterprise," noted Gautam Agrawal, senior director of product management at Sencha, maker of a web application development platform.

Without a doubt, cross-platform development tools can make life a lot easier for enterprise developers. "There are big differences between the basic Android and iOS SDKs," explained Flybits CEO Jerry Rudisin. "But these tools artfully hide the details specific to Android and iOS, allowing developers to tackle issues at a higher level of abstraction and let the tool worry about getting the OS details right."

Enterprise coders need only apply

As appealing as cross-platform development tools are to enterprise developers, they're less so to code warriors working on consumer apps. That's because cross-platform tools don't allow a developer to take advantage of the native nuances found in modern mobile operating systems. "Consumer developers want to take advantage of every flashy capability on a platform," said Morgan Reed, executive director of ACT|The App Association, which represents 5,000 app and information technology companies worldwide.

"Developers make native apps because they're trying to win a market segment," Reed continued. "They're going to mine that platform for that one extra feature that might help them win the marketplace for their app."

Those market concerns aren't important to internal app developers, so neither are all the native extras found in an OS. "If you're building an internal app for a corporation, you've already won the market, the market for the inside of your company," Reed explained.

"If you're a company with 60–70,000 employees and you want them to access point of sale tools or inventory control tools or customer databases, you want something that works on everything and has a more generic set of features," he added.

Inside a corporate environment, where you're trying to cope with a bring-your-own-device (BYOD) world, cross-platform development tools help deal with the challenges of device diversity, but their approach has limitations. "They can't take advantage of some of the latest capabilities of a device because the app has to be made for the lowest common denominator," Reed said.

Performance matters

In addition, cross-platform apps face performance challenges. "There's a constant fight to get the performance as close as possible to native," Reed observed.

Parashuram Narasimhan, a senior program manager for Microsoft Open Technologies and also involved in Apache Cordova—an open source software project used as the basis for a number of cross-platform development products—acknowledges the limitations of the cross-platform approach. "Cross-platform development is good for certain types of apps," he said. "Writing games is pretty hard, but if you're writing applications for displaying content or calendar apps, mail apps or to-do lists, they're good for that."

In addition, cross-platform apps share unsettling problems with their native cousins. "One thing that developers who are using this 'write-once run-everywhere approach' need to be aware of is that it doesn't necessarily apply to security," cautioned Kevin Watkins, chief architect and founder of Appthority, a mobile application risk management company. "We've found vulnerabilities in the underlying platforms that translate their code, which means insecure programming practices will carry over to all the platforms as well."

Companies getting into cross-platform mobile app development range from old hands to newcomers. Here are 10 standouts in the field, in no particular order.

1. Adobe

Adobe's cross-platform development offerings include PhoneGap Build, which is based in the cloud, and PhoneGap, an open source solution. PhoneGap is based on Apache Cordova.

Cordova is an open source set of device APIs that allow developed applications to access specific, native device functions across a variety of device platforms. Using Cordova's APIs, as well as cross-platform plug-ins, developers can build and code applications using CSS3, HTML5, and Java Web languages. Those languages are hosted locally in the app and are presented in multiple device platforms. The end result is that instead of using multiple native software development kits (SDKs), such as Android SDK, Windows SDK, and Xcode for iOS, developers can use a single codebase to create an app that functions across various platforms.

"The idea behind Cordova is pretty simple," Microsoft's Narasimhan said. "You write an app once and you'll be able to run it on all your devices, like Android, iOS, BlackBerry, and a whole suite of devices."

Not only does that simplify the rollout of enterprise mobile apps, but it's a great resource saver, too. "Enterprises have invested a lot of effort in development skills, and those skills can be quickly transferred to Cordova," Narasimhan explained.

2. Xamarin

Xamarin is another cross-platform development tool that lets developers build native iOS, Android, and Windows apps, using a single shared C# codebase. Apps developed with the platform can be tested on hundreds of devices through the company's cloud service. Xamarin offers its own interface development tool and online classes through its Xamarin University program. Some features of Xamarin's offerings include native API access, forms interfaces for sharing code, ability to add components directly from an interface, and integration with backends, such as Microsoft Azure, Parse, and SAP.

3. Appcelerator

Appcelerator focuses on speeding the time-to-market for cross-platform apps. Its offering uses a single JavaScript codebase for its apps and supports real-time mobile analytics. The Appcelerator environment is open and extensible, and can produce apps for iOS, Android, and BlackBerry, as well as HTML5 and hybrid apps. It includes an open-source SDK with support for more than 5,000 devices and OS APIs, the Eclipse-based IDE Studio, and the MVC framework Alloy.

4. iFactr

iFactr is also designed for speedy delivery of apps. The solution can be learned with minimal spending of sweat equity. Developers can start hammering out apps after just two or three days of training, according to iFactr. Prototypes can also be rapidly created for quick feedback from employees. iFactr uses Xamarin to create iOS and Android apps, and the solution also supports Adobe PhoneGap.

5. Kony

Kony's products sprawl across the entire software development life cycle. The platform's services can be delivered through an on-premise solution, in a hosted private cloud, or in the public cloud. Cloud services are scalable and can be adjusted on demand. Testing tools and analytics are embedded in the platform.

Offerings include Kony Visualizer, which integrates design capabilities into the development environment; Kony Studio, which has visual development tools and allows developers to add cross-platform JavaScript code and to connect to backend APIs; and Kony Management for deploying and administering mobile device apps.

Kony can be a good fit for organizations dealing with large populations of diverse devices and needing apps that integrate with SAP and Oracle backends.

6. SAP

As one of the older players in the market, SAP's cross-platform development offerings have grown confusing over time. However, the company set out to rationalize things last year with version 3.0 of its SAP Mobile Platform, with which cross-platform enterprise apps can be built from a single HTML5 codebase.

The company has also allied itself with Cordova. "SAP made the strategic decision to heavily leverage Cordova," said SAP Senior Vice President for Mobile Development Holger Fritzinger. "This gives our customers massive benefits. They can leverage the hundreds of SAP Fiori apps—not only on mobile devices but also on the desktop—and optimize them for mobile usage with Cordova."

7. Alpha

Alpha Anywhere focuses on the enterprise and can be used to produce cross-platform apps for major mobile operating systems, as well as for PCs and Macs. It uses JavaScript and HTML5. A recent addition to the platform allows developers to create apps that can be used offline.

8. 5app

Like other players in the market, 5app's development platform allows cross-platform apps to be created for Android and iOS using HTML5 and JavaScript. However, it also offers an enterprise app store service, which lets IT departments operate curated app stores for employees.

9. FeedHenry

Recently purchased by Red Hat for about $82 million, FeedHenry offers a mobile-as-a-backend service as well as cross-platform app development. Apps created for Android and iOS with the platform can be offered either through the cloud or on-site. Scalable network apps can be created with the platform using Node.js and MongoDB.

10. Sencha

Sencha's main product for enterprise users is Ext JS. Developers can use it to create apps in HTML5, then convert them into cross-platform apps with Adobe PhoneGap. The HTML5 approach has the added benefit of allowing apps created with the platform to run on browsers as well as mobile devices.

Although cross-platform mobile apps are largely filling an enterprise need now, can they usher in an age where native mobile operating systems become redundant? Probably not.

"I think we live in a world of diverse approaches to mobile app development," IDC's Hilwa said. "Going native may be the only way to reach certain platform-specific features and capabilities, and for many indie developers a single platform-focused approach makes sense to experiment with new apps and games."

ACT's Reed added: "Developing for native platforms will always be there because the device makers need to constantly be improving what they offer the consumer. If they don't, no one will buy a new device."

Topics: Dev & Test