Developers are now finding themselves having to author applications for a diverse range of mobile platforms (iOS, Android, Windows Phone, …), each of which have their own ‘native’ development languages, tools and environment.
There is an ever growing list of cross-platform frameworks that allow you to minimise the cost and effort of developing mobile apps, but which to choose?
To help solve this problem PropertyCross presents a non-trivial application, for searching UK property listings, developed using a range of cross-platform technologies and frameworks. Our aim is to provide developers with a practical insight into the strengths and weaknesses of each framework.
|Intel App Framework *|
|jQuery Mobile *|
|Kendo UI *|
|Sencha Touch 2 *|
The APK and XAP files for the Android and Windows Phone versions of each framework are available within the project download. For iPhone you will have to build and sign the projects yourself in order to deploy them onto your own device.
Some of the frameworks deliver a native user interface, whereas others construct a native-like interface using HTML5 technologies. When selecting a framework it is important to test the end-user experience that the framework delivers and ensure you are happy with any compromises.
The code-sharing which can be realistically achieved with each framework varies considerably. To aid in this comparison there is a build script which produces code metrics for guidance. Although, as developers I am sure you are aware that lines-of-code metrics are flawed.
It is also worth investing quite a bit of time familiarising yourself with tools provided by each framework. The cost and quality of these varies considerably.
The app, which is implemented by each framework for each mobile platform, is a tool for searching UK property listings. This application was selected because it is non-trivial, multi-screen and makes use of a number of device capabilities including page navigation, geolocation, storage and web services.
It would be great to see the app implented in more cross-platform frameworks. If you’re interested in contributing, a good place to start would be the list of implementation requests, or maybe you’d be interested in adding implementations of the currently supported frameworks for other platforms? It’s all on GitHub at the link above, so fork away! For more detailed implementation notes see the PropertyCross specifications.