The tradeoffs of native app vs. cross platform development

Answer: That depends. The choice of whether to develop native or leverage a cross-platform toolset is a question of costs and benefits, and there’s no one-size-fits-all answer. The latest generation of toolsets means developers have a truly viable option to build once without significantly compromising HTML5 hybrid apps.

In the beginning, the vision of cross-platform mobile development seemed like an ideal solution. Instead of hiring separate developers to build different apps for different platforms, one developer or team could write code that would become an app for multiple mobile platforms. However:

  • Developers faced compatibility problems, security issues, and bugs that make the cross-platform mobile app development approach just as hard as building multiple native platform-specific versions.
  • Finished applications rarely measured up to the quality that could be achieved with native development.

New advances, however, have made cross-platform mobile development more attractive. The latest generation of tools may finally be able to deliver on the promises that have been made for so many years.

It seems like only yesterday that HTML5 made the question of native vs. cross-platform mobile app development irrelevant, when mobile web apps developed with HTML5 were wrapped into a simple native app to “hybrid” mobile apps.

“The promise of HTML5 is you write once, run everywhere and this is not happening because of the divergence of browser features,” said Michael King, Appcelerator director of enterprise strategy, adding that HTML5 does not offer the performance and access to native features that a native app can.

Appcelerator expects the gap between HTML5 and native mobile apps will continue to grow.

Where the distinct UIs of iOS and Android once presented challenges, tools are now tailoring the UI of apps to each platform.

These tools include:

  • The Xamarin framework. Xamarin generates code that is functionally identical to that of a natively developed application, maximizing performance concerns. The framework can be used to build apps and deploy them to many devices.
  • Phonegap, which is open source and has a huge community for help, many plugins and flexibility to develop apps with basic HTML, CSS and JS skills.
  • iFactr and Appcelerator. Both enable  companies to build prototypes and production applications quickly and intuitively while offering a variety of functionalities that help developers create mobile apps tailored to users’ needs.

 Extra advantages that these tools provide include:

  1. A common language. HTML5’s limitations disappear when you can build native apps with superior performance by using a common language that many developers already know and understand. Because these apps are developed with standard native user interface controls, apps look and behave the way users expect them to. These apps are also compiled for native performance and leverage platform-specific hardware acceleration, enabling capabilities such as iBeacon and Android Fragments. Xamarin, for example, utilizes C#, the primary language used for development on the Microsoft platform. This allows for rapid development and iteration and supports newer patterns in C# to help create cleaner, more readable, and more reliable code
  2. A single team. While one cross-platform team can build apps for three mobile operating systems at once, purely native mobile apps would need three different teams. This means that cross-platform apps can be launched more quickly than native apps.
  3. Low maintenance costs. Once cross-platform apps go live, the maintenance costs are low because you only need one team with a common knowledge set to maintain them. Additionally, cross-platform development tools such as Appcelerator Titanium, Xamarin, and PhoneGap offer support for web/backend technology that you might not get with native app developers who may only specialize in a single OS.

When choosing a cross-platform mobile app development approach, start UX and UI design in the early stages of the project to weigh any potential tradeoffs and incorporate them into the timeline. Know which platforms you’ll target and at what stages in your development cycle you want to bring on different mobile operating systems.

 But back to your question: Can apps be developed once to run on every platform? The short answer is yes. But remember to explore the different tools available to make sure you select the best approach for your application. And keep in mind that the solution you select could be obsolete with the next technology iteration tomorrow.

Laura Shumaker is the Marketing Director of Menlo Technologies.