移动设备上 Python 应用不成功的原因

发布时间:2021-06-16 10:32:23 作者:chen
来源:亿速云 阅读:382

这篇文章主要介绍“移动设备上 Python 应用不成功的原因”,在日常操作中,相信很多人在移动设备上 Python 应用不成功的原因问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”移动设备上 Python 应用不成功的原因”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置大量机器学习算法,Python 在开发者中逐渐流行起来。

尽管如此,我们却很难在移动设备中看见用 Python 开发的应用程序。

基于此,Python 之父 Guido van Rossum 和部分 Python 开发者都希望未来有天能看见用 Python 编写的应用能在 iOS 和 Android 设备上运行。其中 Russell Keith-Magee 发起了BeeWare 项目,该项目旨在将 CPython 移植到 Android,即用 Python 编写的应用可以在 Android 上本地运行。

按理说,在 BeeWare 项目取得了初步成功后应值得庆贺,但 Guido van Rossum 却清晰地认识到:Python 在移动设备和浏览器领域中都存在“痛点”。

1、在 Android 上运行纯 Python 应用障碍重重

BeeWare 项目成立的目标是让开发者能用 Python 编写应用程序,而在去年 2 月,这一目标初步实现了第一个里程碑:一个纯 Python 应用程序在可以在 Android 设备上运行!

彼时,Russell Keith-Magee 就指出:“这不是项目的结束——而是开始。”如他所说,BeeWare 项目的追求,绝对不仅仅是 Python 应用可以运行在 Android 上就满足了。

BeeWare 的目标是让开发者能用 Python 编写的应用程序,在包括 iOS、Android、Windows、macOS、Linux、浏览器和 tvOS 上都能很好地运行。但问题在于,Python 无法像台式机系统那样应用于移动设备。

为了解决这个缺点,Python 软件基金会去年向 BeeWare 项目给予了 50000 美元的资助,以使其对 Android 的支持水平有所提高,而 CPython Android 端口必须支持运行 4.4 或更高版本的大多数现代 Android 设备。 

对此,MongoDB 工程师兼 Python 贡献者 A Jesse Jiryu Davis 表示:“BeeWare 的策略是将 Python 编译为 Java 字节码,但如今 Android 设备足够快,并且 Android 内核足以运行 CPython 本身。”

不过 Davis 指出这项计划的一个主要障碍就是用 Python 编写的 Android 应用程序的规模。因为 Python 应用需要自己的运行环境副本,所以这就意味着 Python 需要缩小规模以顺利运行在移动设备。对此,有些人建议可以通过创建一个简化内核版本的 Python 以解决该问题。

另外,构建 Python 应用程序对普通的 Python 开发者而言也是完全陌生的领域。Davis 解释道:“没有子进程;套接字和信号行为都与常规 Unix 有所不同;并且禁止许多 syscall。”

除此之外,资金和人才也是一大难题。Python 软件基金会中的 Ned Deily 认为,相比许多其他 Python 计划,提供移动支持需要更多的资金和人力。Davis 也表示,由于 Python 不支持移动设备,因此没有公司为移动设备上的 Python 提供资金,也没有人愿意依靠移动设备来为 Python 筹集资金。

2、Python 在浏览器和移动设备上不成功的原因

对于 Python 在移动设备上艰难的发展,近日 Python 之父 Guido van Rossum 也给予了正面回应:“许多人都觉得,如果移动应用程序可以用 Python 编写,那就太好了。实际上也有一些人在为此努力实现,但 CPython 已有 30 年的历史了,它最初是为工作站、台式机和服务器环境而诞生的。”

他补充道:“但那些设法让 CPython 能在移动设备上运行的人们发现,Python 消耗了太多的资源。”

Guido van Rossum 指出,与期待中在移动操作系统运行的情况相比,Python 又大又慢:运行 Python 编写的应用会迅速消耗电池电量和内存。

不仅如此,他还承认 Python 在浏览器中可能也没有前途。

“虽然 Python 在后端 Web 开发中很流行,但的确 JavaScript 在前端 Web 开发中占主导地位。”他表示,越来越多的 Web 开发人员都在使用微软的 JavaScript 超集——TypeScript。

Guido van Rossum 总结为:“Python 是一种非常流行的后端语言。在谷歌,我从事的项目都基于 Python 构建;在 Dropbox,整个 Dropbox 服务器都是基于 Python 构建的。但你如果看浏览器中运行的是什么代码,那必然是 JavaScript 的世界。”

不过对此 Guido van Rossum 并不气馁,他认为 Python 应该专注于有利的应用领域,包括后端网络和科学数据处理。

除此之外,Python 之父也对 Julia(一种可能在科学计算和机器学习领域跟 Python 竞争的编程语言,但没有如 Python 那般丰富的机器学习和数据科学库)发表了一些看法:Julia 是一种非常像 Python 的有趣作品。

他认为,Julia 在很多的细节上与 Python 非常相似,并且在其编译器优化代码方面更胜 Python 一筹。但总体看来,Julia 还颇有不足,属于一种“小众语言”。

到此,关于“移动设备上 Python 应用不成功的原因”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. 如何在Windows上使用Python进行开发
  2. centos7上搭建jenkins+ansible的server

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:如何理解Vue3的事件处理和相关几种修饰符

下一篇:centos php.ini不生效的解决方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》