Multiplatform Development — Holy Grail Or Bad Idea?

Competition in the mobile space is usually great for consumers. It helps inspire more innovation and fuel more affordable products, but when it comes to developers, having multiple options out there is a real headache.

Traditionally, if  you have an app idea that you want to reach the largest number of users, you are committed to spending the time and effort to port your work to each and every platform out there. This is no simple task, as each platform has its own unique capabilities, features, and behaviors. Not only is this difficult for the developer, but it often leaves the less popular platforms (*cough* Windows Phone, WebOS *cough*) last on the list for releases and updates or not on the list at all.

In steps multi-platform development tools.

Almost two years ago, I had the pleasure of speaking with someone from Whoop Creative Studio, a proposed solution to this very problem. Whoop uses a WYSIWYG editor to simplify app development and offers the ability to output a native app for a variety of devices including iPhone, Android, and Blackberry. The best bit is that they gear their visual interface to be easy enough for even a non-developer to use.

The problem with this sort of concept, however, is that whenever you use tools to make it “easy”, you also sacrifice something. Apps may suffer in performance or bloat because you’re not in control of the code. Also, sometimes you’re simply not presented with the ability to do something exactly the way you want. If you’ve ever tried to edit a web page using MS Word and looked at the mess of HTML that comes out of it, you know what I mean. You always have cleaner and more efficient results, as well as the ability to make it look and work exactly the way you want if you code the hard way.

Recently, it has come to my attention that more code-centric cross development tools exist.

Engadget recently mentioned PhoneGap, an open source tool of this kind. PhoneGap received some acclaim at the Web 2.0 Expo San Francisco’s 2009 Launch Pad event, and is based on web development languages like HTML and JavaScript. Before you dismiss the app as running in a browser, realize that PhoneGap gives the developer access to hardware like the GPS, camera, accelerometer, and more. Your finished app can then be exported to the platform of your choice as a native app.

While this gives the developer a great deal more control than Whoop’s visual interface, it is still essentially a Web 2.0 app on steroids and not as efficient as developing the hard way.

PhoneGap isn’t alone in this arena either. There are at least three other multi-platform mobile app tools that I’m aware of, including rhomobile, Appcelerator, and MoSync. There was actually another similar tool known as WidgetPad; however, they seem to have disappeared and taken their domain down with them.

Here’s my take on all this: I’m a fan of not taking shortcuts to do something the right way. When Android first announced that they were basing their development tools on Java, a lot of hardcore coders were critical of the decision. Java is a virtual machine and is less efficient by nature. Google has  been working hard to keep code running as smoothly as it can, enabling performance tools like JIT, but the bottom line is that it’s already taking a slight performance hit. If a runtime environment like PhoneGap needs to exist on top of that, further removing the developer from the hardware, I fear the difference will be noticeable. That’s especially true with the limited resources on a mobile device to begin with.

I’m all for getting apps out there to as many people as possible on as many platforms as possible, but I have to wonder whether if tools like this might end up being the crutch that allows developers to become lazy in the long run.

, , , , ,


One Response to Multiplatform Development — Holy Grail Or Bad Idea?

  1. mastersoftwares August 13, 2014 at 11:30 PM CDT #

    well written blog regarding cross-platforms for developing apps.there are many platforms available in market of apps like titanium,xamarin and whoop.it has endless list so talking about titanium i can say Titanium is an open-source software development kit for cross-platform
    mobile development, and the Appcelerator Platform which is an enterprise
    software suite for mobile app development, testing, deployment, and
    analytics.it allows you to create world class apps with very less
    resources and coding time.

?>