Cross Platform Frameworks

In the past few years, many cross-platform frameworks have emerged. There has been an explosion of activity in this area as mobile devices become faster and more widely adopted, and particularly with a fast-growing market for applications. This book covers many of the popular frameworks that are focused on application development. The frameworks fall into two categories: those that let you create a native mobile application using cross-platform APIs, and HTML/CSS/Javascript frameworks that let you build cross-platform interfaces that run in a web browser. It is common practice to combine these to create cross-platform native applications. This book covers the native cross-platform frameworks of Rhodes, PhoneGap, and Titanium. These are listed below along with a number of frameworks that are not covered in this book.

■ Rhodes and RhoSync from Rhomobile. Use Ruby for cross-platform business logic in this MVC framework and leverage HTML, CSS, and JavaScript for the UI. The optional RhoSync server supports synchronization of client-server data. With Rhodes, you can build applications for iPhone/iPad, Android, BlackBerry, and Windows Mobile. The client framework is MIT License; their RhoSync server framework is GPL with a commercial option. http://rhomobile.com/

■ PhoneGap from Nitobi. Use HTML, CSS, and Javascript along with projects and libraries that support native application development to create applications that run on iPhone/iPad, Android, BlackBerry, Palm, and Symbian. Open-source MIT License. http://www.phonegap.com/

■ Titanium Mobile from Appcelerator. Use JavaScript with custom APIs to build native applications for iPhone and Android. Titanium is an open-source framework, released under the Apache 2 license. http://www.appcelerator.com

■ QuickConnectFamily. Use HTML, CSS, and JavaScript to build an application that runs on iPhone/iPad, Android, BlackBerry, and WebOS. The QuickConnectFamily templates give you access to behavior normally restricted to "native" apps. You can have full database access across all the supported platforms. http://www.quickconnectfamily.org/

■ Bedrock from Metismo. A cross compiler converts your J2ME source code to native C++, simultaneously deploying your product to Android, iPhone, BREW, Windows Mobile, and more. Bedrock is a set of proprietary libraries and tools. http://www.metismo.com

■ Corona. Develop using the Lua scripting language for native iPhone, iPad, and Android apps. Corona is a proprietary framework. http://anscamobile.com/corona/

■ MoSync SDK. Use C or C++ to develop using MoSync libraries to build for Symbian, Windows Mobile, j2me, Moblin, and Android. MoSync is a proprietary framework. http://www.mosync.com/

■ Qt Mobility. Use C++ and Qt APIs to target S60, Windows CE, and Maemo. Qt (pronounced "cute") is a cross-platform application development framework widely used for the development of GUI programs. The Qt mobility project moves it to mobile platforms. It is distributed as open source under the LGPL. http://labs.trolltech.com/page/Projects/QtMobility

■ Adobe Flash Lite. Use ActionScript, a JavaScript-like proprietary scripting language, to build cross-platform application files (SWF) that will run as applications on a variety of devices that support Flash Lite. Adobe Flash Lite is a proprietary platform. http://www.adobe.com/products/flashlite/

■ Adobe AIR. Adobe is working toward having the full features of Flash Player 10 work across a wide array of mobile devices; however, those efforts seem to be focused on web-based applications rather than native applications. Adobe AIR (as of this writing, in beta for Android) allows developers to run Flash applications outside of the mobile browser as stand-alone applications. http://www.adobe.com/products/air/

■ Unity. A popular game development platform which allows you to deploy to Mac, Windows, or iPhone. Unity supports three scripting languages: JavaScript, C#, and a dialect of Python called Boo. They have announced support of Android, iPad, and PS3 to be released in Summer 2010. http://unity3d.com/

In addition to these frameworks for developing native applications, there are also many frameworks to create HTML, CSS, and JavaScript for mobile web applications. Many of these frameworks are little more than a collection of commonly used styles and graphical elements; however, when developing cross-platform applications using the techniques discussed in this book, these cross-platform HTML frameworks are essential time-savers. The last section of the book introduces Sencha, jqTouch, and iWebKit. These and others not covered in this book are listed as follows:

■ Sencha Touch. A JavaScript framework that allows you to build native-looking mobile web applications in HTML5 and CSS3 for iOS and Android. Sencha Touch is an open-source framework available under the GNU GPL license v3, with a commercial license option available. http://sencha.com

■ JQTouch. A JQuery plug-in for making iPhone-like applications that are optimized for Safari desktop and mobile browsers. Released under the MIT License. http://jQTouch.com

■ iWebKit. An HTML5 and CSS3 framework targeting iOS native and web applications. iWebkit has been released under the GNU Lesser General Public License. http://iWebkit.net

■ iUI. A JavaScript and CSS framework to build mobile web applications that run on iOS. iUI has been released under the New BSD License. http://code.google.com/p/iui/

■ xUI. A lightweight JavaScript framework currently being used by PhoneGap. Currently targeting iOS applications with tentative future support for IE mobile and BlackBerry. Currently released under a GNU GPL license. http://xuijs.com

■ Magic Framework. An HTML, CSS, and JavaScript framework. Used to make fast and smooth iPhone-feeling apps with native-feeling widgets, lists, and so forth. Also provides an easy HTML5 db storage interface. Currently released under the Creative Commons Attribution 3.0 United States License.

http://www.jeffmcfadden.com/projects/Magic%20Framework

■ Dashcode. A Framework developed by Apple to make simple, lightweight, dashboard widgets for OSX and mobile safari applications for iOS that utilize HTML, CSS, and JavaScript. Currently available under the Creative Commons Attribution-ShareAlike License. http://developer.apple.com/leopard/overview/dashcode.html

■ CiUI. Developed by tech news site CNET.com to make an iPhone-friendly version of their web site. Released under the MIT License. http://code.google.com/pZciui-dev/

■ Safire. An open-source web application framework written in HTML, JavaScript- and CSS-targeting iOS. Released under the MIT License. http://code.google.com/p/safire/

■ iphone-universal (UiUIKit). An HTML and CSS framework for iPhone web development. Contains the iPhone-like Chat Balloons just like SMS on the iPhone. Released under GNU General Public License v3. http://code.google.com/p/iphone-universal/

■ WebApp.Net. A lightweight, JavaScript framework to build applications that can take advantage of a WebKit browser control; namely, iOS, Android, and WebOS. Released under the Creative Commons Attribution-ShareAlike License. http://WebApp.net

■ The Dojo Toolkit. A flexible and extensible JavaScript framework, primarily used to build web applications. http://www.dojotoolkit.org

■ Jo. A lightweight JavaScript framework for HTML5 apps, built with PhoneGap in mind. Copyright 2010 Dave Balmer, Jr. this framework has a custom license ("as is" with attribution) http://grrok.com/jo/

There are more cross-platform mobile frameworks, libraries, and tools than are listed here. This list is provided to give you a sampling of what is out there.

Living With Android

Living With Android

Get All The Support And Guidance You Need To Finally Be A Success At Using Android. This Book Is One Of The Most Valuable Resources In The World When It Comes To Playing With the Hottest Android Tablet.

Get My Free Ebook


Post a comment