It seems like a fairly straightforward question: As a developer, business and enterprise, do I develop Web apps, native apps or some combination thereof? Answers to that question are anything but simple. Who is your target audience? What is the purpose of the app? There are a series of diverse questions that must be answered before jumping right into development.
Research firm Forrester, as is its wont to do, attempts to answer the question. Forrester’s answer? It’s complicated. The firm’s answer to Web v. Native has evolved since the middle of 2011 though. Last year, Forrester said to do both native and Web-based apps. At the beginning of 2012, the firm has changed its tune.
The Choice Between Native Code and HTML5 is a False One
Forrester is right with its assertion that native v. HTML5 is a false choice, as anyone who reads ReadWriteMobile on a regular basis can readily tell you. Foremost, there are really four different tracks mobile developers can take as opposed to the basic notion of Web or native.
Here are the options and the strengths/weaknesses of each choice:
Native development: Native gives the best user experience, performance and access to device APIs (camera, contacts, phone state etc.). The problem with native is that it is difficult is fragmented between the four major mobile platforms (iOS, Android, Windows Phone, BlackBerry) because each uses a different code base. Forrester says that enterprise development shops that plan on writing distinct native apps for each platform should plan on a budget 150% to 210% higher than what might be reasonably expected.
Web Apps With HTML5 & JavaScript: The browser is ubiquitous. New HTML5 tags have evolved for < audio > and < video > and device access APIs have dramatically increased the capability of Web apps. Yet, JavaScript is still not as fast as native code, the user experience is often left wanting and liquid (or “responsive”) design is not yet at the point where the average enterprise development department can easily format Web apps for various smartphone and tablet screen sizes.
Hybrid: HTML5 + JavaScript with a wrapper that gives it native capabilities. This is how Facebook does it variety of mobile apps and precisely what solutions like PhoneGap are designed for. To a certain extent, this is the best of both worlds. Develop for the Web, where Forrester says you will find more knowledgeable coders, and wrap for native. In the future we are likely to see a majority of apps built in this fashion.
Mobile Middleware: These are the various Integrated Developer Environments that are used to develop apps on client and server-side components. This is more common in enterprise development studios that use established systems such as Oracle or SAP.
Think About Costs & Resources
Forrester recommends a Web approach for developers and enterprises. In today’s environment, it is more likely that development studios will find talented coders that are well-versed in Web technology while the run-of-the-mill coder is not specifically an expert on the variety of languages it takes to create and app for the four major platforms. From Web apps, Forrester recommends moving to a hybrid approach. While native apps are often more visually attractive and have powerful device access APIs, the cost to develop across platforms may be prohibitive.
“As firms move from two to three platforms and even contemplate adding Windows Phone 7, they will find that native development becomes increasingly untenable from an economic point of view. Add in multiple releases a year as the mobile platform vendors update their operating systems, and most shops simply aren’t prepared to spend that much more on their custom application development efforts,” Forrester writes.
Developers: Do you agree with Forrester’s assertions? It certainly seems clear that the hybrid approach will soon come to dominate the mobile landscape. Hybrid is the perfect blend for cost-conscious studios that also need to be represented on the various app repositories such as the Apple App Store and Android Market. Let us know what you think in the comments.