Cross-Platform Mobile Development [closed]

ⅰ亾dé卋堺 提交于 2019-12-03 04:50:18

问题


There are a great deal of cross-platform mobile development frameworks around. The major platforms, all mutually incompatible, are:

  • iOS (iPhone, iPad & iPod Touch)
  • Android
  • Blackberry
  • Windows Mobile
  • Windows Phone 7
  • Symbian
  • MeeGo (merger of Maemo and Moblin)
  • webOS

There also exist many different mobile development frameworks that support various arrays of smartphone platforms, including but not limited to:

  • Rhodes
  • ELIPS
  • RAMP
  • Titanium
  • PhoneGap
  • MoSync
  • airplay
  • Bedrock
  • Qt

Qt is a great framework for cross platform desktop application development, and takes care of several mobile platforms - Windows Mobile, Symbian, MeeGo. There are community ports for iOS and Android (and webOS?). Blackberry and WP7 are on their own for now.

MoSync also looks quite good, supporting a great number of platforms, including Java-based ones, from C++. However it's not very well known AFAIK and has its own issues.

So my question is: is there ANY cross-platform mobile development framework actually worth using? Every one I've found has one disadvantage or the other that makes it unsuitable for use.

At least if Qt supported iOS and Android you'd need at most three versions of an app to support all platforms (Qt, Blackberry and WP7). The community ports that are around are not well supported at all though, and are far from complete. Plus, even if they are completed, would Nokia ever support them anyways or would that be seen as a bad business strategy?

Should I just bite the bullet and write native ports for each smartphone platform? Qt + iOS + Android + WP7 + Blackberry + webOS? 5-6 versions of an application is quite a lot to maintain, but the solutions for cross-platform development on smartphones don't look that great right now.


回答1:


UPDATE By popular request, a link to the Qt 5.2 release's Android support page, as it's now officially integrated and "production-ready".


Well, Qt can support Android, via the freshly integrated internal Lighthouse project and the works of an individual developer, who will probably be busy integrating his code in the Qt codebase:

  • http://code.google.com/p/android-lighthouse/

  • http://tamss60.tamoggemon.com/2010/03/18/qt-on-android-the-bogdan-vatra-interview/

  • http://labs.qt.nokia.com/2010/10/29/lighthouse-is-integrated/

Expect to see Qt 4.8 with Android support through Lighthouse.

iOS has a similar drive behind it, but the projects are only starting:

http://forums.internettablettalk.com/showthread.php?p=865264#post865264

Lighthouse provides a tiny abstraction layer for the gui/core operations of Qt, providing a very easy way of porting the framework.




回答2:


Another open source cross-platform framework Kivy




回答3:


V-Play (v-play.net). It's a cross platform game engine based on Qt/QML. (API reference) It already supports iOS, Android, Symbian and MeeGo. BlackBerry and Windows Phone support will be added soon.




回答4:


You can find almost every tool for Cross Platform Development here - http://www.riaxe.com/blog/top-cross-platform-mobile-development-tools/




回答5:


Blackberry now supports QT, so you will only need to write two versions. See http://press.rim.com/release.jsp?id=5230




回答6:


It looks like mobile web development is converging on pure html5/javascript, except where native code would give an essential performance boost.

Last night I attended a presentation by the Hyves dev team on their cross-platform mobile app. Some graphically intensive features (animated smileys, it's a social website after all) are disabled on slower platforms. They use Phonegap to fill in the gaps.




回答7:


This is obviously a subjective question - you're asking us to guess at Nokia'a business strategy.

However, my own personal guess is that Nokia won't port Qt to the iOS, but the community will (in fact, the work has already started). I suspect that a port to android is much easier than a port to iOS, and will happen soon enough.

But then again, that's just a guess.

Why not put your energy into helping port Qt to these new platforms?

Qt for Android Project

Qt for iPhone Project




回答8:


There's some that are missing from your list which possibly deserve a mention ... JUCE, Corona and Moai. All of these support iOS and Android. Corona is mainly for games but is pushing into the general app area as well - and it has a very active community. Moai is mainly for games and interactive graphics. Moai and Corona are designed for Lua scripting. JUCE is an elegant and well structured C++ based cross platform UI library.



来源:https://stackoverflow.com/questions/4127708/cross-platform-mobile-development

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!