目前SmartPhone的开发语言
Apple iPhone |
Objective-C C/C++ |
Google Android |
JAVA 可以使用NDK进行C/C++的开发 |
Windows Phone |
C# VB.net Windows Phone7是全新的平台,和以前的不兼容,目前不支持C/C++ |
Symbian |
C/C++ 这个框架还是比较复杂的,而且界面开发对C++的使用也有一些特别的约定 |
RIM BlackBerry |
JAVA |
Palm webOS |
JavaScript |
由上可见,由于不同的平台使用不同的语言和框架,因此如何把一款应用在多个平台上发布,工作量还是很大的
特别是现在的各种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/