Dev Watch

Blog archive

Doubts About Cross-Platform Mobile Development

It's like a week doesn't go by without multiple PR pings to my inbox announcing the latest cross-platform mobile app development tool release.

Everybody is getting in on the act, even companies you wouldn't expect, like Facebook, Oracle, IBM, Amazon, Intel, Cisco -- even Microsoft. I alone have recently reported on tools like Xamarin, RhoMobile, Appcelerator, Appmethod, AppGyver, PhoneGap, RAD Studio, Icenium and many more.

So cross-platform is the way to go, right? The benefits are well-known: Save time and expense by mostly using one code base to target iOS, Android, Windows Phone and so on. Even traditional concerns about lower performance and less native device functionality were seemingly being addressed by the emergent class of tools for building hybrid apps. Unlike Web-based apps just using HTML5, CSS and JavaScript, the hybrid tools use different types of wrappers -- or containers -- to access native resources such as cameras and accelerometers, usually through JavaScript API calls. The vendors claim this method provides native performance -- or nearly so. It also gets you into the app stores -- unlike Web apps -- and reportedly provides other benefits.

Developer awareness of cross-platform tools is growing.
[Click on image for larger view.] Developer awareness of cross-platform tools is growing.
(source: research2guidance)

The message is that only under special circumstances would you want to spend your time and effort on multiple projects for platform-specific native development.

Maybe not so much.

'Struggling With Limitations'

"Developers are still struggling with the limitations of cross-platform development," I was surprised to learn in a recent report from Research and Markets, a "market research store." The firm's main premise is that growth of the cross-platform mobile development tools market is slowing dramatically because of a variety of factors. One of those factors is "the increased popularity of native apps" because of the aforementioned struggles with cross-platform tool limitations.

"The performance of Web technologies and access to device-level functionality are cited by developers as significant challenges, pushing them toward native app development," the report stated.

Another factor is "diminishing productivity returns." That's because "developers are reporting less efficiency gains when using cross-platform mobile development tools compared to previous years," the report stated. "The drop is eroding the perceived value of tools."

Well, you know as well as I do to add a grain of salt to any ingestion of hype from research vendors hawking their for-sale reports. The report even contains contradictory statements like, "A shortage of native developers within the enterprise is continuing to help drive growth for cross-platform mobile development tools." Huh?

But that report isn't all that caught my attention.

Devs Target 1.75 Platforms

Another recent report -- this one from VisionMobile Ltd. -- indicates that non-game developers target an average of 1.75 platforms. It seems this number would be higher if cross-platform development was really the craze I thought it was. The research also found that cross-platform tools was listed as the fourth-most popular category of third-party tools, behind ad networks, cloud computing and push notifications.

Furthermore, VisionMobile said, "It might seem counter-intuitive, but there are 26 percent of CPT [cross-platform tools] users who only target a single platform. They are most likely using the CPT to avoid learning the native platform rather than for greater reach or cost efficiency; a decision to help the developer rather than the customer."

The company's "Developer Economics Q3 2014: State of the Developer Nation" report quoted Conny Svensson, an exec at CGI Sweden, as providing one possible explanation for these findings.

"The gap between HTML and native is widening," Svensson said. "The native SDKs introduce new APIs at a faster rate than HTML5 can keep up with. To harness the power of these new APIs, native is the only viable option."

In a section titled, "To Go Native Or Not To Go Native, That Is The Question," the report indicated that among primary platforms, Android is outpacing iOS globally, garnering loyalty by 42 percent of developer respondents as opposed to 32 percent going with iOS. VisionMobile noted that Apple introduced the Swift programming language to make native iOS development more accessible (it also subsequently signed on with IBM).

"Google's strategy, on the other hand, would really like everyone using Web technology so they can more effectively track users for ad targeting purposes," VisionMobile added. "Their latest design and technology moves blur the lines between native apps and the Web."

More FUD

Further adding to my FUD about cross-platform development is yet another brand-new report, this one by the appFigures "reporting platform for mobile app developers."

"Most App Developers Stick With One Store," an appFigures blog post recently reported. It announced that there were about 272,000 developers targeting the iOS App Store and some 293,000 developers targeting the Android-centric Google Play store. The overlap among those audiences amounted to about 58,000 developers, or roughly 11 percent of the total group. That provided "a strong indication that developers prefer to stick with one store," the report said.

So what's the real story? Is cross-platform mobile app development taking the world by storm or not?

I found it curious that the first two reports I quoted noted the advantages of native development over Web-based technologies, but didn't take into account the burgeoning market of tools to build hybrid apps, which are supposed to close the performance and native functionality gaps.

Yes, It Can Be Done

Brandon Satrom, for one, claims this is possible in an article the Telerik exec penned for VentureBeat titled, "How To Build A Hybrid App That Performs Like Native -- Yes, It Can Be Done."

I'm intrigued by the hybrid approach and the different means that vendors use to supposedly match native performance and functionality, and I've been researching the issue. But I've found little in the way of hard facts, metrics or benchmarks. There are a lot of performance claims by vendors but little supporting evidence.

For example, yet another new report, this one by research2guidance, stated that, "For the vast majority of app developers, the use of CP [cross-platform] tools does not come at the cost of app quality." It went on to say, "81 percent claim that the quality of the apps developed with CP tools is as good as or even better than apps developed with a native IDE."

So please clue me in. If you've read this far, you must be a mobile app developer (or yet another PR person right now typing my e-mail address into your database). What's your experience? Are you going cross-platform or not? Do hybrid apps really match native apps? Comment here or drop me a line. Let's get to the bottom of this.

Posted by David Ramel on August 1, 2014