…we are relaxing all restrictions on the development tools used to create iOS apps, as long as the resulting apps do not download any code. This should give developers the flexibility they want, while preserving the security we need.As one of a small (but enthusiastic) set of app developers striving to make cross-platform apps, this is a HUGE deal.
Apple is not against cross-platform apps per se, but until recently they were very against Adobe & Flash, and their previous stance was to a large extent an attempt to block several different technologies that allowed Flash apps to be automatically disassembled, and automatically re-assembled into an App.
Ignoring the Adobe vs Apple squabbles for a moment, there was another group of developers who were being caught in the fallout. Those are the app developers using one of a few choice systems (many open source, collaborative frameworks) that allow you to code once, and deploy to iPhone, Android, WinMob, Blackberry …..
The smallprint of the Apple restrictions, also restricted this sort of App. And an increasing number of them started getting refused across all of the frameworks
The fundamental technical problem is that it is not possible to write one piece of native software that plays on iPhone, Android, WinMob, etc. They all use different languages. The only way to do this is to use a computer to generate multiple different versions for different platforms. And it is this interim computer intervention that caused the trouble.
But – today this has changed. And all the cross-platform app developers around the world are heaving a sigh of relief
So – good news for cross platform mobile apps!
(Another equally interesting development, is Apple going public with their developer guidelines – previously us developers had no way of knowing the criteria used to decide whether to accept, or reject an app!)
For a quick synopsis of the top tools for building cross platform apps read on …
Appcelerator Titanium - http://www.appcelerator.com
The system builds apps. But you also get access to the converted (native) source code which allows for a second round of platform specific tweaks - if you know what you are doing
Initially Titanuim started as fully open source, but now a “free” and better supported “pay” version.
Nice review here: http://labs.thesedays.com/2010/02/04/review-of-appcelerator-titanium/
PhoneGap - http://www.phonegap.com
Like Titanuim, developers code their app in web coding. Unlike Titanium, the final app that is built still contains the original web coding, but buried within the app. Fully Open Source, all the app code is available, and can be customised for your own needs
We use both of these two quite a bit, and they are both great. Lightweight native apps embedding web-apps that can be both online, or offline.
Although not really “app building”, special mention needs to go to JQTouch (http://www.jqtouch.com/) and Sencha Touch (http://www.sencha.com/products/touch/), 2 AJAX frameworks that you need to use if you want web-apps to look and feel like native apps
Rhodes / RhoMobile - http://rhomobile.com
Rhodes is a harder-core techie solution, which tries to do without the browser, giving you tools to build cross platform native apps. Free to use (MIT license) plus premium support options
it is good – but uses Ruby as a programming language. Ruby has a cult-like following, unless you are already a Ruby developer, you may be better to stick to one of the other options
One of the big advantages of Titanium over RhoMobile is that with RhoMobile you don’t get any source code – only the finished (and un-alterable app). But it does support more phones (iPhone, Windows Mobile, RIM, Symbian and Android)
These three are the main players. They have very technical arguments with one another about exactly how “native” each other’s apps are – but in all cases they use the same basic trick – embedding a web-browser into the app, and using that to deliver web-esque layout and features in an app
Others worth looking at include
Grapple Mobile - http://www.grapplemobile.com
Grapple are not Open Source. They recently hit the news with some (untrue) speculation that the 7 month old startup was bought for £15m! They use a similar approach as the previous systems, as well as a secondary system to support older phones. (On iPhone and Android, it uses Webkit. On Blackberry and Symbian it compiles to J2ME.)
Most commercial engagement with them seems to be from marketing and advertising companies
MotherApp - http://www.motherapp.com
Like rhomobile, motherapp tries to build native apps without needing to include a browser in your app. We have only recently found out about MotherApp, so don’t know much about it apart from the fact that you use a special subset of html to define your app, then upload to motherapp who will render it into native apps for different devices, passing any calls for data back to your website (supports iPhone, Android, WinMob)
Corona (by Ansca) – Corona is specifically for building games. You need a Mac to develop in it, but you can build apps for iPhone, iPad & Android. It uses the unusual Lua language, which is purpose built for describing 3-D type games (like World of Warcraft!)
Free 30day trial, then fairly inexpensive developer license (currently $99)
If you want to find out more, there is a very considered, and well presented comparison on AMLCode’s site
There are also A LOT of offerings that help you build apps automatically. These are not developer tools as such, but do allow non-technical people to auto-generate apps. Examples include AppBaker, App Inventor, AppMakr, AppBuilder, MyAppBuilder, Wapple and more appear every day.
If you would like me to post a bit more on these apps, either the developer ones or the others, leave me a comment