Monday, July 16, 2012

Top ten cross platform tools

Cross-platform tools are software development frameworks that allow one to develop software on a single platform and deploy on multiple platforms.

Cross-platform tools have had a long and tortuous history in the world of software development.  From complete development environments to UI tools, cross-platform tools have helped countless companies release the same product on multiple platforms simultaneously.  Based on my experience, I am tempted to say same sub-standard product, but that may be a little too harsh.  However, it is undeniable that cross-platform tools, as they need to cater to the least common demoninator of all the platforms supported, are not able to provide the same great experience that software natively developed for a particular platform can provide. Having said that, some of the ones listed below are working hard to go as close to native as possible by providing platform specific libraries to go with their framework.

The latest crop of cross-platform tools are the ones that help developers build apps for the major mobile platforms such as Android, iPhone, Windows, Blackberry, Symbian, Palm and others.  Given below are the top ten cross-platform development tools.   If you have used one or more of these and would like to share your experiences, please do leave comments.  If you are building or have built a cross-platform tool that you think should be covered in this column, please leave a comment and we will get in touch with you.

Here goes:

1.  PhoneGap.
Earlier called Apache callback, this is an open source Mobile development platform.  It lets people develop apps using javascript, HTML5 and CSS3. Basically, like most other similar tools, PhoneGap wraps a typical web app into a native app with a native browser embedded.  Since all browsers on the major mobile platforms support javascript, HTML5 and CSS3, the app will (almost) work on all platform.  The clever bit here is that the native wrapper helps by providing hooks to standard phone facilities such as contact details, camera, etc so that these facilities can be accessed from within javascript. Extremely popular.

2. Rhodes/Rhomobile.
Rhodes is an open source Ruby-based framework to rapidly build native apps for all major smartphone operating systems (iPhone, Android, RIM, Windows Mobile and Windows Phone 7). These are true native device applications (NOT mobile web apps) which work with synchronized local data and take advantage of device capabilities such as GPS, PIM contacts and calendar, camera, native mapping, push, barcode, signature capture, Bluetooth and Near Field Communications (NFC). Free.  Support is charged.

3. Titanium from appcelerator.
Another free, open source application development environment.  Apart from supporting Javascript, HTML and CSS, this framework also supports programming in python, Ruby and PHP.  You can produce native apps with this tool.  You can add in native code components written in Objective-C (iPhone) and Java (Android).

4. NS Basic/App Studio
This is VB for mobile according to their tagline.  Basically, it allows you to write in BASIC a language very similar to Microsoft Visual Basic and then internally it converts to javascript, HTML and CSS. Not free.

5. Sencha Touch.
Another javascript library that can be used to produce mobile web apps.  This is based on EXT.js, a very extensive javascript library used for website development.  EXT.js was very heavy and the code that needed to be written was also pretty heavy.  Performance used to be a problem.   Based on our experience, the same is largely true for the mobile version as well.

6. MobileReflex.
This development platform is targeted towards enterprises wanting to get some of their applications available on the mobile. Requires the MobileReflex client engine to be running on the mobile device.  Definitely not for you if you are building a consumer app.  Not available for Android yet! Not free.

7. Worklight.
This is VC funded company providing an IDE that lets you build HTML5 based, Hybrid and Native apps.  It lets you use javascript libraries such as jQuery and like most others allows integration with PhoneGap in order to provide access to native device features. Not free.

8. Application Craft.
Another open source framework. This lets you build web apps for all platforms using javascript, HTML5 and CSS3.  If you require hooks to native device features such as contact details and camera, you need to integrate this with PhoneGap.  All the information on how to tightly integrate with PhoneGap is available on their site.  This tool also lets you write server side code and helps you deploy it on your own servers or on the cloud.

9. MoSync
This lets you create HTML5 based applications. What is different is that they have a C/C++ library called Wormhole that lets you access native srevices through javascript (something that you cannot do with typical HTML5 apps).

10.Quickconnectfamily
Nothing special here.  HTML5, CSS3, Javascript based cross-platform development tool.  Added here to make it an even ten.

No comments: