各種SmartPhone上的跨平台開源架構的總結
目前SmartPhone的開發語言
Apple iPhoneObjective-C
C/C++
Google AndroidJAVA
可以使用NDK進行C/C++的開發
Windows PhoneC#
VB.net
Windows Phone7是全新的平台,和以前的不相容,目前不支援C/C++
SymbianC/C++
這個架構還是比較複雜的,而且介面開發對C++的使用也有一些特別的約定
RIM BlackBerryJAVA
Palm webOSJavaScript
由上可見,由於不同的平台使用不同的語言和架構,因此如何把一款應用在多個平台上發布,工作量還是很大的
特別是現在的各種Market如果使用Native的程式發布,還需要通過這些開發商的審批,周期也是個很長的時間
這種情況下,垮平台的方案是個重要選擇,基於Web使用,當然收費模式和現在的軟體也不一樣了,比如註冊收費或者廣告整合收費(iAD架構等)
下面列舉了一些網上列舉的一些開源架構[由於SmartPhone的各種文檔大部分是英語,因此下文就不翻譯了],可以作為方案發布的選擇。
the native crossplatform framework
Ø 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/
frameworks to create HTML, CSS, and JavaScript for mobile web applications.
Ø 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/p/ciui-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/