The writing is on the wall and it has been read.
The importance of mobile devices, and by association mobile apps, is well established for businesses today.
Consumers are adopting Internet connected smartphones and tablets inrecord numbers, and the venerable PC is starting to show signs ofweakness against this increasingly powerful insurgent computingplatform. Any business serious about enabling worker productivity orconnecting with customers is actively considering how to address appsfor phones and tablets.
Unfortunately, for businesses deciding to build apps for mobile devices, it is not a yellow brick road, clearly marked and devoid of potholes. Quite the opposite is true. Mobile app development today is fragmented and full of challenging decisions.
The Demands of Multiple Platforms
For starters, unlike the simple Windows-dominated desktop world, the mobile app landscape is decidedly multi-platform. Depending on the metric you use, mobile devices -- particularly phones -- are dominated by iOS, Android and dwindling numbers of Windows Phone and Blackberry devices. There is no clear front-runner that businesses can safely target while ignoring the rest of the field.
This means that building for mobile means building for a multi-platform world. Businesses cannot realistically choose a single platform if they want their apps to reach the devices carried by their employees and customers.
This leads to the second problem for businesses building mobile apps: supporting a multi-platform world requires many different technologies. Android uses Java. iOS uses Objective-C. Windows Phone uses .NET. Natively hitting all of these environments requires a decision to build multiple versions of an app and to bring multiple technology platforms into an organization (which then requires teams skilled in those technologies).
How to Translate Between Technologies
It’s untenable. Despite the advantages native SDK apps can deliver, businesses cannot approach a multi-platform mobile world and tolerate the cost and overhead of building and maintaining many different versions of the same app. Fortunately there is a solution in HTML5.
As a term, “HTML5” is a convenient way to quickly refer to the rapidly evolving state of HTML, JavaScript and CSS. As a technology, it is the only stack that can run natively on all of the major mobile platforms as well as desktop platforms. And with the new capabilities and improved performance the “HTML5 wave” is delivering to HTML/JavaScript runtimes, these technologies are increasingly capable of tackling complex app scenarios.
There are two ways businesses can build for mobile devices with HTML5: mobile sites and mobile “web” apps (sometimes called Hybrid Apps).
Mobile sites are typically mobile-optimized versions of traditional websites. They do not focus on providing an “app experience,” but rather try to reformat web content to make it easy to consume on different mobile devices.
Responsive design, or layout that changes in response to a device’s capabilities (such as resolution, screen size or orientation), is often associated with mobile sites. Mobile sites are best delivered with the assistance of an intelligent CMS, like Sitefinity, and are suitable if businesses are not trying to deliver an app experience to users.
Mobile web apps, on the other hand, try to deliver an app experience while leveraging HTML and JavaScript for broad device compatibility. These experiences are built specifically for devices and are not simple adaptations of existing content.
Learning Opportunities
Mobile web apps can be delivered through a device browser or, when combined with tools like Cordova (the open source version of Adobe’s PhoneGap), packaged and delivered through a traditional app store (the so-called Hybrid Apps). Done properly, a mobile web or hybrid app can be nearly indistinguishable from a native SDK app.
Clearly, HTML5 is not a silver bullet and it is not the right choice for every mobile app. But for many business apps, especially those where the mobile app is a “value add” to the core business, HTML is more than sufficient. In fact, according to recent Gartner research, 80 percent of all mobile app development will be done in this mobile web/hybrid app model by 2015.
The Native Challenge
The biggest challenge for mobile hybrid apps is achieving a native look and behavior on different devices. If a business adopts the hybrid app model to reach more users, they still face the daunting task of making their application blend in to the native UI styling on iOS, Android and similar devices. Failure to make an application look native on each device destroys the “native” illusion hybrid apps aim to deliver.
Fortunately, tools that solve the problems of mobile development with HTML and JavaScript are rapidly evolving to eliminate this last hurdle, freeing developers to focus on the core app features while letting aframework handle the essential task of making everything look right forall mobile users.
Without these solutions, businesses building mobile apps using HTML andJavaScript must manually work to make apps look and behave natively.They provide that essential level of productivity that businesses needto start adopting HTML today to build mobile apps.
The Decisions Ahead
Businesses cannot ignore mobile. That much is clear. As they address mobile, though, they must make some important decisions. Do they want to reach all mobile users? Do they want to maintain multiple versions of the same app for different platforms? Do they want to try to maintain a development team skilled in all native mobile SDKs?
If the goal of the business is to reach all users while maintaining an efficient development process that minimizes waste, HTML mobile apps are a clear winner. And with tools available today to support the productive business developer, businesses can solve the problems of mobile and start delivering apps to all of their users without thinking -- or developing -- twice.
Editor's Note: You may also be interested in reading: