使用PySide / PyQt进行移动开发

23

我正在考虑使用PySide进行移动应用程序开发。我已经完成了一些使用Pyside创建桌面应用程序的教程,非常喜欢它。我了解PySide / PyQt是Qt的端口或映射,并且通常会滞后于Qt,因为PySide / PyQt的开发人员必须跟上Qt中发生的任何变化。

我特别想为Android、BlackBerry和iOS开发应用程序。我还了解到,Qt最近增加了对Windows 8以及较新的BlackBerry 10 OS的支持。

我的问题:PySide / PyQt在当前状态下进行跨平台移动应用程序开发方面了解如何?

它通过WebKit组件实现移动开发,允许使用日常HTML、CSS和JavaScript吗?

对于移动应用程序开发,PyQt或PySide哪个更好?

1个回答

18
我认为使用PySide/PyQt和Python制作适用于所有这些平台的应用程序是不现实的。首先,您要开发的平台应支持您的编程语言(Python)以及图形框架(Qt)才能使其正常工作。这主要是由第三方开发人员实现的。如果Python在您的移动操作系统上运行,这并不意味着您可以开始开发,反之亦然。
移动开发通常使用QML(Qt建模语言)。这使您可以在许多平台上制作非常酷和花哨的界面。您可以将其连接到自己的Python代码以制作真正的工作应用程序。
目前,Qt正在为移动设备提供支持。大多数移动操作系统(如iOS和Windows Phone)尚未支持Python/Qt组合,而且与操作系统的首选语言相比,对工作项目的支持大多不是很大。
以下是支持Python/Qt组合的移动操作系统列表:

Android: PySide for Android(适用于Android的PySide)

或者,如果你喜欢使用“webviews”而不是PySide:SL4A

Blackberry 10: BB-py(适用于Blackberry 10的BB-py)

Meego: Python/Harmattan Project(适用于Meego的Python/Harmattan项目)

SailFish OS: Harmattan apps (Meego) run without any problem(SailFish OS可以无问题地运行Harmattan应用程序(Meego))

对于您的其他问题,我有一个简短的答案。 Webkit组件旨在作为内容查看器组件。它不是用于构建完整HTML 5应用程序的组件。

经常有人问哪种Qt绑定更好。你需要知道的是,旧版本的PyQt与PySide几乎相同。主要区别在于许可证!然而,PyQt现在支持Qt 5,而PySide则不支持,所以请自行选择。我认为你可以用它们中的任何一个制作出漂亮的应用程序。

2
@josef.van.niekerk 最近的消息:“使用Qt,您可以开发真正跨平台的应用程序,这些应用程序将在桌面、嵌入式和移动平台上运行。Qt 5.2引入了对Android和iOS平台的全面支持,从而实现了创建跨平台移动应用程序,这些应用程序可以从一个代码库打包和部署到Google Play和App Store。您不必使用两种不同的技术编写相同代码的两个版本,只需使用Qt编写一次即可!”来源:https://blog.qt.digia.com/blog/2013/12/10/cross-platform-applications-in-ios-and-android-stores-with-qt/ - MountainX
@MountainX 很好的消息是,Qt 5现在支持Android和iOS。不幸的是,这个问题也涉及到Python,我还没有看到与Qt5结合使用的良好移动支持。如果您知道一个适用于移动设备的Qt5+Python解决方案,请告诉我。那么我会更新我的答案。 - Ecno92
1
哦,那iOS没有吗? - Dave
2
@supertwang 我没有看到在iOS上运行组合Qt和Python的情况。如果你真的想在iOS上使用Python,你应该了解Kivy项目(http://kivy.org/)。 - Ecno92
1
我希望我们能够得到一个更近期的答案来回答这个问题。自2013年以来发生了很多事情。 - R. Navega
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接