跨平台移动开发

时间:2010-11-08 20:22:09

标签: qt cross-platform smartphone

有大量的跨平台移动开发框架。所有互不兼容的主要平台是:

  • iOS(iPhone,iPad和iPod Touch)
  • 的Android
  • 黑莓
  • Windows Mobile
  • Windows Phone 7
  • 的Symbian
  • MeeGo(Maemo和Moblin的合并)
  • webOS的

还有许多不同的移动开发框架支持各种智能手机平台阵列,包括但不限于:

  • 罗德
  • ELIPS
  • RAMP
  • 的PhoneGap
  • MoSync
  • 点播
  • 基岩
  • Qt的

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版本的应用程序需要维护很多,但智能手机上跨平台开发的解决方案现在看起来并不那么好。

8 个答案:

答案 0 :(得分:9)

更新根据热门请求,指向Qt 5.2发布版Android support page的链接,因为它现已正式集成并且已“生产就绪”。


嗯,Qt可以通过新集成的内部Lighthouse项目和个人开发人员的工作来支持Android,他们可能会忙于将他的代码集成到Qt代码库中:

期望通过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移植到这些新平台上呢?

Qt for Android Project

Qt for iPhone Project

答案 7 :(得分:0)

您的列表中遗漏了一些可能值得一提的内容...... JUCECoronaMoai。所有这些都支持iOS和Android。 Corona主要用于游戏,但也正在进入一般应用领域 - 它有一个非常活跃的社区。 Moai主要用于游戏和交互式图形。 Moai和Corona专为Lua脚本而设计。 JUCE是一个优雅且结构良好的基于​​C ++的跨平台UI库。