有大量的跨平台移动开发框架。所有互不兼容的主要平台是:
还有许多不同的移动开发框架支持各种智能手机平台阵列,包括但不限于:
Qt是跨平台桌面应用程序开发的理想框架,可以处理多种移动平台 - Windows Mobile,Symbian,MeeGo。 iOS和Android(以及webOS?)有社区端口。 Blackberry和WP7目前都是独立的。
MoSync看起来也很不错,支持来自C ++的大量平台,包括基于Java的平台。然而,它并不是一个众所周知的AFAIK并且有自己的问题。
所以我的问题是:是否有任何实际值得使用的跨平台移动开发框架?我发现的每一个都有一个缺点,或者另一个使它不适合使用。
至少如果Qt支持iOS和Android,你最多需要三个版本的应用来支持所有平台(Qt,Blackberry和WP7)。周围的社区端口根本没有得到很好的支持,并且远未完成。另外,即使它们已经完成,诺基亚是否会支持它们,或者这会被视为糟糕的商业策略?
我应该咬紧牙关并为每个智能手机平台编写本机端口吗? Qt + iOS + Android + WP7 + Blackberry + webOS? 5-6版本的应用程序需要维护很多,但智能手机上跨平台开发的解决方案现在看起来并不那么好。
答案 0 :(得分:9)
更新根据热门请求,指向Qt 5.2发布版Android support page的链接,因为它现已正式集成并且已“生产就绪”。
嗯,Qt可以通过新集成的内部Lighthouse项目和个人开发人员的工作来支持Android,他们可能会忙于将他的代码集成到Qt代码库中:
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/
期望通过Lighthouse获得支持Android的Qt 4.8。
iOS背后有一个类似的驱动器,但项目才刚刚开始:
http://forums.internettablettalk.com/showthread.php?p=865264#post865264
Lighthouse为Qt的gui / core操作提供了一个微小的抽象层,提供了一种非常简单的移植框架的方法。
答案 1 :(得分:6)
另一个开源跨平台框架Kivy
答案 2 :(得分:4)
V-Play(v-play.net)。它是基于Qt / QML的跨平台游戏引擎。 (API reference) 它已经支持iOS,Android,Symbian和MeeGo。黑莓和Windows Phone支持将很快添加。
答案 3 :(得分:3)
您可以在此处找到几乎所有跨平台开发工具 - http://www.riaxe.com/blog/top-cross-platform-mobile-development-tools/
答案 4 :(得分:2)
Blackberry现在支持QT,因此您只需要编写两个版本。见http://press.rim.com/release.jsp?id=5230
答案 5 :(得分:1)
看起来移动网络开发正在融合纯粹的html5 / javascript,除非本机代码能够提供重要的性能提升。
昨晚我参加了Hyves开发团队在他们的跨平台移动应用程序上的演示。一些图形密集的功能(动画表情,毕竟它是一个社交网站)在较慢的平台上被禁用。他们使用Phonegap填补空白。
答案 6 :(得分:0)
这显然是一个主观问题 - 你要求我们猜测诺基亚的商业策略。
然而,我个人的猜测是,诺基亚不会将Qt移植到iOS,但社区将(事实上,这项工作已经开始)。我怀疑android的端口比iOS的端口容易得多,并且很快就会发生。
但话说回来,那只是猜测。
为什么不把精力投入到帮助将Qt移植到这些新平台上呢?
答案 7 :(得分:0)