在跨平台移动开发方面做了哪些工作?

是否有针对 iPhoneBlackberryAndroid的文档化或开源项目?还有其他更适合这种努力的平台吗? 请注意,我特别询问的是客户端软件,而不是网络应用程序,尽管任何有关在多个移动平台上使用网络应用程序的困难的信息也很有趣。

20172 次浏览

The iPhone uses Objective C, the Blackberry Java SE with RIM functionality and Android another custom version of Java. I could possibly see how you could combine the latter two but there is no functionality (without jailbreaking) of running Java applications on an iPhone.

The best bet I've seen so far is something like Qt that will run on Windows CE, almost certainly shortly Symbian, some Java platforms and the three major desktop OSs.

For the iPhone there's currently no such notion as Open Source as the Apple iPhone SDK NDA forbids publishing code. They also forbid posting code on any non-Apple site or even non-Apple discussion forums on iPhone development. As soon as the NDA expires (will it ever?) we'll start having Open Source iPhone apps.

Well BlackBerrys don't really have Java SE, they have Java ME, with a lot of additional librarys provided by RIM. Same goes for Android. The only cross-platform apps you'll ever see on mobile devices are probably written in strict Java ME, which runs on most devices. However, just like JavaScript between different browser, Java ME has is quirks across different devices, so source code changes may be necessary.

I started to use a really cool cross-platform SDK called EdgeLib. It allows you to use a simple API and you can compile your projects to a variety of platforms: Windows Mobile Pocket PC, Windows Mobile Smartphone, Symbian Series 60, Series 80, Series 90, Symbian UIQ, Gamepark Holdings GP2X, Gizmondo and Windows desktop. I know iPhone, Blackberry, and Android are not on that list but the developers mentioned that these platforms are on their roadmap.

EdgeLib looks promising and has an iPhone beta announced but not open yet.

S60 on Symbian OS has alot of interesting projects happening relating to desktop/server languages to move applications mobile. Some interesting ones:-

Python: sourceforge
Ruby: ruby-symbian
Mozilla: mozilla
S60Webkit: S60browser
POSIX: openc_cpp

redfivelabs have implemented the .Net compact framework for the S60 platform

Titanium Mobile from Appcelerator looks interesting. You develop your app in HTML & Javascript and upload to their server where it is compiled into a native application of the target platform (currently iPhone & Android)

I think there best chance for cross-platform mobile success is the Web. Just write a very simple Web application for what you want to achieve. It should work on the Nokia S60browser, Iphone and Android.

That's already a lot of mobile devices...

There are 2 [newish] solutions to exactly this issue:

rhomobile

and

phonegap

XMLVM (via Coke and Code) and EdgeLib currently seem to be the most mature options. EdgeLib is aimed primarily at game developers, and according to Coke and Code, the XMLVM developers are difficult to contact.

We have a cross platform mobile development platform called RAMP. It covers both feature and smart phones from midp 1 to Android. The platform is mostly aimed at secure commercial applications but it is pluggable so you can do almost anything with it.

For more information and access to the platform have a look at:

virtual mobile tech

Phonsai is new in the market for cross-platform mobile develeopment "without coding" It is mixture of do-it-yourself mobile development and content management You can customize all applications. No templates. It is SaaS. Totally web based with java web start. Work with 2000 mobile phone models. Very simple GUI and no coding. Just copy and paste. It has create, send and report modules. And at last it has 4 emulators inside so that it is a WYSIWYG concept. You can reach Phonsai at http://phonsai.com

The HTML5 standard has support for releasing stand-alone HTML5 apps. Essentially a HTML5 app is a bundle of HTML5, JavaScript and CSS files that will run stand-alone in the browser of the desktop or device. You can distribute them like any other program, including selling them on the iStore for the iPhone.

The support for this is patchy at the moment but is likely to improve tremendously in the next year or two.

Google for HTML5 apps for information and resources. A good introduction to HTML5 is the online book "Dive Into HTML5" by Mark Pilgrim. This is a work in progress, but sufficiently complete to be useful.

I found one game engine for dat MoMinis games are available for distribution and are supported on Android, Blackberry, Symbian and J2me devices. MoMinis games include a wide range of casual games – including arcade, puzzle, time management, strategy and brain-training mobile games.

mominis

Suprised MoSync hasn't been mentioned here already.

Update (2014 January - present): the project is abandoned.

Appcelerator, PhoneGap (acquired by Adobe, plus it's now standardized as Apache Cordova), Intel XDK (formerly called appMobi) and Rhodes (acquired by Motorola Solutions) are all open source and create hybrid apps (natively packed with html ui, with the possibility to add some of your native controls).

If it's a game, your only professional choice for a free engine that can be used for commercial development is Unity3D. For 2D games, cocos2d-x is also available. Additionally, Vuforia can be used for AR and LiquidFun for physics.