文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python 之父:移动设备中的 Python 应用“又大又慢”!

2024-12-03 04:30

关注

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

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

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

[[402882]]

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 还颇有不足,属于一种“小众语言”。 

 

来源:马哥Linux运维内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯