Write Once Run Anywhere (WORA) or Cross Platform Mobile Development Tools – a Comparison
To build and maintain applications required to reach out to you customer through Mobile & Smart phone is expensive.
Why? Because of platform proliferation. Because of quick technology obsolescence. (See this)
Management perception compounds the problem.
Anybody, not intimately familiar with this technical challenge, perceives that the effort of developing a mobile application should be proportional to the size of the screen. In other words, since mobile screen is much smaller than a PC or a Laptop screen, the effort required for developing application should also be proportionately less.
Hence the budget for developing and maintain mobile channel becomes small!
What is the way out?
Only way out is to use a tool or a framework which can support multiple platforms. However, as of today, there isn’t any “one size fit all” tool. There are many tools available in the market – each has its own strength and weakness.
Good news is that most of the tools are available for you to try them out. Some of them are …
- …available under open source license – AppMobi, iUI, jQuery, jQTouch, MoSync, Mono (Touch/Droid), PhoneGap, Quick Connect, RhoMobile, Sencha Touch, Sproutcore, Titanium (Appcelerator), XUI
- …free or have a free version – Netbiscuits, OpenPlug, Unreal
- …offering a trial or an evaluation version – Corona (Ansca), DragonRad, Flex (Adobe), Marmalade, Livecode (RunRev), Unity 3, Worklight
- …paid only – Bedrock (Metismo), Kony, Pyxis Mobile
Some of them have recently been acquired and their status may change in the near future:
- PhoneGap by Adobe
- OpenPlug by Alcatel-Lucent
- Bedrock (Metismo) by Software AG
So, how do you go about selected the tool which is right for you?
Questions you should ask yourself
- Do you really need an installable native application? Why not just stick to a mobile website?
- If an installable native application is really needed – which platforms should you target now? One year down the line?
- What is the expected life of the application? Will you be ready to scrap it in a couple of years’ time?
- If you make a native iPhone application which does not feels like a true iPhone application – would it be acceptable? What about similar Android application?
After you have realistically answered these questions you might decide one of the following paths:
- Stick to a generic mobile website
- Build an iPhone application only
- Native application needs to feel truly like a native application
If so then you need only to look at the first of the five categories of the tool given below.
5 Categories of WORA Tools
- Visual Tool: They provide a visual interface where elements / widgets are dropped into the screen and the internal application plumbing is taken care by the tool. The resultant (depending on the tool) is either a native application or a mobile website. [Here is a comparison of 5 such tools]
- App Generator: In this category you have tools where you write your application in a specific language but the tool translates it into a deployable native application for different platforms. The deployable application may include a runtime engine or a virtual machine. The programming language varies from tool to tool. [Here is a comparison of 6 such tools]
- Hybrid App: This category of tools provide a platform specific shell application which has the capability of rendering prepackaged HTML pages and extends the HTML capability through APIs which allow access to device specific features. Some of them include libraries to render platform specific UI. [Here is a comparison of 5 such tools]
- Game Builder: This is similar to the previous category but these tools are primarily targeted for game development. They have much richer UI library and may even have 3D graphics capability. Some of them use special languages like Lua or LiveCode. Their cross-platform capability may extend beyond just mobile devices. (Bedrock (Metismo), Corona (Ansca), Livecode (RunRev) , Marmalade, Unreal, Unity 3) [Here is a comparison of 9 such tools]
[Update: Here is one more platforms - from Dojo]
Home page: Link
Next >> Mobile Web Tools