Remember back in the good old days when developers only had to create applications for one, maybe two different platforms? In the last ten years, this has changed dramatically: the number of form factors – smartphones, tablets, phablets, PCs, etc. – has absolutely exploded corresponding with the number of operating environments, making the job of a developer markedly more difficult. That’s where the need for cross-platform development comes in.
The user is the target
Chasing the latest form factor can be a bit of a wild goose chase. However, keeping the user in mind when deciding which development platform to work from can be very helpful. One writer at App Developer Magazine puts it quite succinctly:
“When it comes to the debate about mobile development platforms, perhaps the most important of these contextual questions is, what is your target audience? While some points in the great platform debate are subject to a high degree of personal preference, there is little argument to be had that certain platforms have an inherent advantage when it comes to certain target audiences. To be clear, I’m referring here to the device upon which your app will be consumed. If you are strictly targeting iOS as your distribution vehicle, it makes little sense that you would intend to use a Windows PC platform for your development. Likewise, if you are targeting Windows based mobile devices like the Surface or Windows Phone, a Windows development platform is likely the best (if not only) choice for developing a native mobile app.”
The computing world has changed forever: PCs are shipping with the same touch and sensor input capabilities as mobile devices, and developers can’t design apps the same way they always have in the past. Developers who have created apps primarily for PC platforms need to think about building apps that will work across devices (cross-platform), since users are not interested in the platform they are using; they just want to use the software.
PCs are shipping with the same capabilities (touch, sensors, etc.) that mobile devices have, and it is no longer cost-effective to develop for just one platform; developers must consider cross-platform design. It’s no longer a mobile vs. PC world: there are design considerations and usability frameworks that developers have to be thinking about that are not just for PCs, but cross-platform across many different operating systems.
For the most part, consumers aren’t really interested in platforms, hardware, specs, or other details of the computing framework. What they want to know is how they can use apps to accomplish a task, on whatever form factor they might pick up. An app that offers simple usability, cross-platform support, and transparent use of information will be the one that consumers will keep around. For developers, the resources dedicated to developing a single product for a single platform can be substantial, which makes for fewer resources dedicated to developing multiple apps across multiple platforms.
Intel® XDK New
A sobering from Flurry offered some intriguing sample figures on the amount of form factors developers need to be thinking about when developing apps. Here’s just one sobering stat: in order to reach just 80 percent of the devices in Flurry’s data, developers would have to deal with 156 different devices. How about just aiming for 60 percent? You’re looking at 37 different devices for which to account for. That’s a little bit discouraging.
One of the ways that Intel is working to make developers’ lives a little more streamlined is with the Intel® XDK New, a development system for developers that want to use their HTML5 expertise to build hybrid HTML5 apps for mobile devices and other platforms that host HTML5 web apps. As one Intel user writes: “Our goal with getting into the HTML5 tools business is to help promote and enable cross-platform HTML5 app development – for all platforms, not just Intel’s. It’s very important to us that HTML5 reaches its promise of a true cross-platform, responsive, run-anywhere language and runtime, and which is based on standards. We found that to fully enable that goal, we needed to extend the Intel XDK’s abilities in the app “creation” (UI design and editing), testing and debugging (emulation, on-device testing and debugging), device API support, and build targets – pretty much everything.”
The real advantage of using a cross-platform development tool (such as Intel XDK New) is simply time. Instead of having to specialize in a plethora of different programming technologies, users can take advantage of cross-platform HTML5 languages and tools to make time really count. Rather than porting code from one platform to the next, developers can focus their efforts on the things that really matter: developing the right features for apps and perfecting the user experience. Plus, because code is written using HTML5, these apps work on new devices as they hit the market. A recent survey showed that of the polled developers, most prefer to work with HTML5:
“According to a new survey commissioned by Telegram’s Kendo UI, the majority of developers now prefer to work with HTML5 instead of native apps for their cross-platform development. Half of the 5,000 developers surveyed in the company’s Survey also said that they developed apps using HTML5 in 2012 and 90% of them plan to do so in 2013. Only 15% of developers said they would prefer to use a native-only approach.”
Instead of having to produce multiple apps for different platforms, developers should be able to focus their abilities on one great app that ports seamlessly from platform to platform. The basic principles inherent in cross-platform development – cross-platform support, usability, and security – will give developers the edge they need in a very competitive market.