news Many performance and functionality-minded application developers, who are shifting back to proprietary mobile apps after growing disillusioned with the limitations of HTML5, will find solace in today’s launch of a new cross-platform development tool that allows Windows, Mac OS X, iOS, Android and Windows RT apps to be written using the popular C++ and Delphi development languages.
Glenn Stephens, founder of Brisbane-based development house Orchard ebusiness, is one of the developers becoming increasingly disaffected with what was supposed to be a unifying standard for Web-based applications. For 18 months, he’s been building mobile apps for not-for-profits, educational institutions, individuals, and other organisations – and he’s increasingly found HTML5 just doesn’t offer the kind of data integration capabilities his clients are demanding.
“Over the last year I’ve pretty much made the decision that I don’t want to do Web-based apps,” he told Delimiter. “People just don’t find them engaging, and you end up having one that has the lowest common denominator functionality. For simple apps, that’s workable – but not for the complex stuff that I do.”
Stephens estimates his development workload is around 70% iOS apps, 20% Android apps, and the rest HTML5 “because that was the only option, or the client specifically wanted that option. I’m not a fan of HTML5, and am pretty much going native as much as I can. Sometimes people have limited budgets and say they want HTML5 only, but that comes with its own compromises.”
Although focusing on the iOS market is generally a safe bet for developers, this approach can create headaches for companies keen to launch wide-ranging marketing campaigns: retail giant Westfield, for one, brought its iOS app to last year’s London Olympics and found it needed an alternative because the iPhone was the number-three device amongst its target demographic.
Enter cross-platform development tools such as Embarcadero Technologies’ RAD Studio XE4, which has been launched today after a beta period that included extensive testing by a global and Australian community that included Stephens, healthcare developer Medical-Objects, sports-app developer Lachlan Gemmell, and others.
With a heritage that traces back to the days of erstwhile development-tools giant Borland Software, RAD Studio promises to help developers target both iOS and (shortly) Android mobile platforms, with support for Windows RT-based Surface Pro tablets also mentioned. SQLite, IBLite, and InterBase Embedded To Go databases are supported, as are a host of enterprise databases.
RAD Studio XE4, which purports to automatically support a range of device resolutions and capabilities with native code, is far from the first cross-platform mobile application tool to hit the market: alternatives like AppCelerator Titanium, the Corona Labs SDK, and others offer similar capabilities – although many favour HTML5 as a common platform for various devices, even though it shifts code interpretation to the client device.
Malcolm Groves, Embarcadero’s senior director for Asia Pacific and Japan regions, believes the ability to generate native mobile code, from a single code base, will help developers like Stephens step back from HTML5 if they want more sophisticated functionality than it provides.
“Many cross-platform tools push responsibility for cross-platform functionality to being a runtime thing,” Groves explains, “and all the work of making it cross-platform happens at runtime. That’s where you lose performance – and that’s where we took a different tack by doing compiles on a beefy desktop machine that can handle the requirements to generate code for different platforms, rather than expecting that hard work to be done on an iPad.”
Not everyone is down on HTML5: the latest HTML Adoption Survey, conducted by Telerik division Kendo UI, claimed that HTML5 was in fact on the rise. The findings from its most recent survey suggested that nine in ten of more than 5000 surveyed developers plan to build HTML5 apps this year, compared with half of developers in 2012; within Australia, the figure was 60%.
Just 36% of developers were building using native code, while only 15% said they would use a native-only approach to developing apps on more than one platform. HTML5 had a heavy desktop bent, with 87% of developers using it for desktop apps and just 53% using it for mobile Web sites. And, interestingly, iOS and BlackBerry were rated as the most difficult mobile platforms to build for, with Windows 8 and Android pipping the results for ease of use.
The results do support Stephens’ assertion that HTML5 falls down for more complex business and integration-based applications: while 54% of Telerik-surveyed developers were building productivity apps using HTML5 and 38% were building utility apps, just 22% were building line-of-business tools; less information-demanding consumer (35%), social networking (18%), entertainment (17%), lifestyle (12%), travel (9%), and games (8%) rounded out the uses for HTML5.
Stephens, for one, sees cross-platform development as a way of easily covering both major platforms’ markets without the headaches of maintaining separate code bases for each – particularly Android, which is often specified as a tick-the-box exercise rather than a primary delivery platform.
“When I do Android work, it’s not because clients want to sell the Android app,” he explains. “The numbers we’ve seen suggest Android users typically don’t buy apps, whereas iOS people do. Android is really only for services, like software as a service – and clients want an additional product line for people that have those types of phones.”
That, he says, makes a cross-platform development tool particularly appealing since it avoids the extra effort required to build and maintain a separate code base for a companion Android app.
“The difference between iOS and Android, from a development point of view, are quite significant – not only in the native display but how they work behind the scenes. The ability to compile an app and put it on an app store with one click is compelling – whereas you often have to work harder than on a native app to keep HTML5, which can be quite fragmented, maintained. Development is all about having the right tool, at the right time, for what you’re trying to do.”