June 24, 2014

HTML5-JavaScript Combo an Emerging Option for Cross-Platform Mobile App Development

Many mobile app developers face a dilemma when it comes to supporting different platforms. Writing two versions of the same app using Apple’s (News Alert) Xcode and the Android SDK means maintaining two code bases and dealing with double the number of configuration hassles. As CIO’s Paul Rubens points out, this problem will get more complicated if the market share of Windows Phone increases significantly.

Fortunately, there are options for mobile app development teams that want to support multiple platforms without maintaining a separate code base for each OS it supports.

If you are developing native apps, the solution is to use a cross-platform SDK. From the coding side, the language is the same whether you are writing code for Apple, Android (NewsAlert), Microsoft or anyone else. Behind the scenes, the SDK handles compiling the source into platform-specific binary. Xamarin provides an SDK that not only supports mobile platforms, but also desktop environments like Windows and Mac. Embarcadero’s RAD Studio XE6 also supports cross-platform native app development.

Another option for multi-platform support is the combination of HTML5 and JavaScript. Although both must run within a browser and do not have the speed of native binary apps, both are standards defined by the World Wide Web Consortium (W3C (NewsAlert)) and not platform-dependent. Web apps developed in HTML5/JavaScript can be launched from icons in the same way that native apps can be, so most users won’t notice much difference.

HTML5/JavaScript has several advantages over SDK’s like Xamarin’s or Embarcadero’s. The biggest one is cost. HTML5 and JavaScript by themselves only require a basic editing environment to create a web app. Xamarin’s SDK costs as much as $1899 per developer, per platform for an annual license. Just one developer with this deluxe option supporting three platforms would cost nearly $6000/year for a license. In fairness, Xamarin does offer a discounted program for startup and small companies, but even with the discount it probably still requires a significant investment.

Companies that rely on SDKs like Xamarin’s or Embarcadero’s are also at the mercy of those vendors. If Xamarin goes out of business and your development team has built a collection of apps using its SDK, you are going to have to scramble to find the next vendor who offers a similar product and face rewriting a significant portion, if not all, of your code base. HTML5/JavaScript won’t have that problem.

The choice between the different cross-platform methods is going to come down to the skillset of your development team, how compelling the need for native apps is and if you can justify what are likely to be costly licenses for SDKs. If your development team is well versed in C# as Xamarin is based on or C++ in the case of Embarcadero and it’s a matter of life and death that your apps compile to native binaries and money is no object, then cross-platform SDKs are the answer. Otherwise, HTML5 and JavaScript are likely to be the better option. 

Edited by Alisen Downey


HTML 5 Demos and Examples

HTML 5 experimentation and demos I've hacked together. Click on the browser support icon or the technology tag to filter the demos.... Learn More

HTML5 GAMES is the largest and most comprehensive directory of HTML5 games on the internet... Learn More

The HTML5 test

How well does your browser support HTML5?... Learn More

Working Draft (WHATWG)

This is the Editor’s Draft from WHATWG. You can use it online or print the available PDF version... Learn More

HTML5 Flip Book

Free jQuery and HTML5 flip book maker for PDF to online page turning book conversion... Learn More