赞
踩
过去,Android和iOS上的移动应用程序开发不是Python的强项,但情况可能会发生变化……
使用Python进行移动应用开发怎么样?从历史上看,在编写移动GUI应用程序时,Python并没有很强的故事。
实际上,仅使用纯Python时,Android和iOS开发几乎是不可能的。真可惜
值得庆幸的是,近年来出现了许多进展,极大地改善了使用Python编写移动应用程序的前景。
在本文中,我们将介绍一些使用Python开发移动应用程序的现代选项。我想特别提到两个框架:Kivy和BeeWare项目。
Kivy –跨平台的Python GUI
Kivy是用于开发跨平台GUI应用程序的开源Python库。它允许您编写在主要桌面平台(Windows,Linux和macOS)以及iOS和Android上运行的纯Python图形应用程序。
现在,每次我听到一个新的GUI工具包时,我总是想知道它的“本机”感觉-我相信出色的GUI应用程序应该发挥它们所运行平台的优势。
例如,当我使用iPhone时,我希望所使用的应用程序保持一致。使用以其他平台的用户界面模式设计的应用程序感觉很烦。
Kivy附带了一个定制的UI工具包,该工具包提供了按钮,文本标签,文本输入表单等的自身版本。这意味着这些窗口小部件不会使用本机平台UI控件呈现。这有优点和缺点:
一方面,这确保了您的应用程序从一个平台到另一个平台的一致性和可移植性。但是,另一方面,这也意味着您的Android应用不会真正看起来像Android应用…
但是,根据您所考虑的应用程序类型,这可能根本不是问题。例如,对于大多数游戏而言,UI的“本土性”不是很重要。对于某些类型的利基应用程序(例如用于制作音乐的图形MIDI控制器)也是如此。但是对于其他类型的应用程序,这会对可用性产生巨大影响。
因此,如果您可以在应用程序中使用非本机UI工具包,那么Kivy是一个不错的选择。它使您可以使用Python编程技能来编写移动应用程序,而不必学习另一种特定于平台的语言,例如Apple的Swift。
您可以在https://kivy.org上了解有关Kivy的更多信息。
BeeWare项目–原生Python移动应用
我想向您介绍的第二个Python GUI和移动开发框架称为“ BeeWare”项目。它为您提供了一组工具和一个抽象层,可用于使用Python编写看上去本机的移动和桌面应用程序。
Kivy和BeeWare之间的主要区别是BeeWare程序使用其运行平台的本机UI工具箱,而Kivy应用程序使用自定义UI工具箱,该工具箱在所有平台上使用相同的控件。
使用BeeWare,您的应用程序所使用的UI控件将是底层操作系统提供的按钮,复选框和表单元素。这意味着您可以构建外观和感觉上对于每个特定移动(和桌面)平台都是100%本机的应用程序。
听起来不错,对吧?
唯一的缺点是BeeWare项目仍是一个相对较新的项目,目前由Pythonista Russel Keith-Magee领导着大量的开发工作。与任何已经多年没有机会成熟的框架一样,由于(可能经常)API更改,错误和缺少功能,这意味着您作为开发人员需要做更多的工作。
但是,我鼓励您阅读BeeWare,这是一个非常令人兴奋的项目。您可以在此处了解更多信息:https : //pybee.org/project/using/
Pythonic移动应用程序开发–结论
现在,如果要使用Python构建移动应用程序,应该选择哪种方式?Kivy和BeeWare都值得考虑。就成熟程度而言,Kivy似乎是目前更为成熟的平台。
对于我个人最感兴趣的用例(使用Python制作具有本机外观的移动和桌面应用程序),我认为BeeWare最终将获得优势,这归因于“本机UI控件”的优势。
但是,我相信这种情况将来会改变。在移动开发领域中,Python的未来一刻看上去更加光明。随着Python的日益普及,使用它进行移动应用程序开发存在着很大的争议。
就个人而言,我喜欢有的跨平台移动应用与Python,只是因为Python是这样一个令人愉快的语言一起工作的能力。
我非常高兴地看到从现在开始一年后可能会发生什么。因此,如果您正在寻找一个很棒的开源项目,请考虑Kivy和BeeWare项目。
您将为我们所有人创造更美好的未来
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。