Python 发展趋势:与 Rust 深度融合、更易于编写 Web 应用

开发 前端
Rust 目前的热度极高,未来它将融入到更多 Python 相关的项目和工具中。Python + Rust 的组合在未来的就业市场上,也可能有很高的需求。

作者 l 豌豆花下猫  

来源 l Python猫(ID:python_cat)

大家好,我是猫哥,好久不见!

2022 年末的时候,我不可避免地阳了,借着身体不舒服就停更了,接踵而至的是元旦和春节假期,又给自己放了假,连年终总结也鸽了,一懈怠就到了 2 月中旬……

现在是我家娃出生的第三个月,全家人大部分的时间和精力都在他身上,结果是幸福与疲累共存。新生儿是那么的可爱,又是那么的“吵闹”,影响着我们的情绪和生活节奏。这三个月的基调跟过去的日子完全不同,它是新一年的开始,是未来日子的底色,引导着我们的生活重心偏移。

在过去的两年时间里,我工作上的任务与 Python 基本无关了,转向了 Java 的阵营。然而,在业余时间里,我对 Python 的热情一直不灭(尽管有退减),直到近期,懒怠的念头变多了。

身心状态与家庭节奏是这段时间停更的主要原因吧。

今年的这第一篇文章,就当作给大家问声好,给自己打个气吧。唯愿 2023 年,家庭、工作与兴趣都能顺顺利利,不留遗憾,相信前方有美好的未来!

最近的 Pycoder‘s Weekly 中有一篇《Three Python trends in 2023》,它介绍了当下较为热门的三个话题。我简略翻译/摘录出来,分享给大家。

趋势一:Python🤝Rust

Rust 对 Python 技术生态的影响越来越大了。关键的赋能者是  PyO3,它为 Python 提供了 Rust 绑定。有了 PyO3 后,Python 可以轻松调用 Rust 代码,同时 Rust 也能执行 Python 代码。

另外,下面的工具在进一步加深这两门语言的友谊:

  • pydantic-core:pydantic v2 的校验核心。pydantic 的作者 Samuel Colvin 将在 Pycon 2023 上发表相关演讲。
  • ruff:速度极快的 linter。它拥有几乎与 Flake8 相同的功能,包括一些流行的插件。此外,它具有与 autoflake、isort、pydocstyle 和 pyupgrade 等工具相同的功能。因此,它基本上是检测 Python 代码的瑞士军刀。
  • polars:更快的 DataFrames,是超级广泛使用的 pandas 的性能竞争对手。
  • Robyn:带 Rust 运行时的异步 Python web 框架。这有一篇博客关于《Robyn 的 2023 年路线图》。

Rust 目前的热度极高,未来它将融入到更多 Python 相关的项目和工具中。Python + Rust 的组合在未来的就业市场上,也可能有很高的需求。

趋势二:Web 应用

从历史上看,用户界面并不是 Python 的强项。然而,最近机器学习和数据应用的兴起,催生了一批”使用纯 Python 的 Web UI”框架,例如 Streamlit、NiceGUI 和 Pynecone。这样的框架为 Pythonistas 提供了构建 Web 应用的快捷方式,不再需要学习 JavaScript+HTML+CSS 技术栈。

另一条线路是浏览器中的 Python。通过 Pyodide、PyScript和相关工具,这已经实现了。它的基础推动者是与所有主流浏览器兼容的 WASM (WebAssembly)。在写本文时, CPython 源码库中已经有了对 CPython 的 WASM 构建的实验性支持。如果你想深入了解,可以查看 Python 3.11 in the Web Browser,这是 Cristian Heimes 在 PyConDE 2022 上的演讲。

WASM 的故事还处于早期阶段,但它有着巨大的潜力,将使 Python 更容易访问并支持新的使用场景。我希望在不久的将来这个领域会有大量的创新。

趋势三:类型安全

CPython 对类型的支持在不断发展。例如,Python 3.10 发布了 4 个与类型相关的 PEP, 3.11 发布了 5 个。此外,PyCon 还有专门的 Typing Summit。与此同时,与类型相关的工具已经成熟化和多样化。例如,现在有一大把静态类型检查器可供选择(例如 mypy、Pyright、pytype 和 Pyre)。此外,一些包(例如 pydantic)可以在运行时巧妙地利用类型信息。

*args, **kwargs 的时代即将结束,它们将被带有类型注释的签名所取代。类型极大地提高了代码可读性。当可读性与便利的 IDE 相结合,阅读庞大的 Python 代码库将变得相对容易。另一方面,在习惯了类型信息带来的超能力之后,无类型的代码库会更让人感到难受。

无论现今和未来的趋势如何,Python 比以往任何时候都更受欢迎。在写本文时(2023 年 2 月),PyPI 中有 431k 个项目和 665k 个用户。在“how often language tutorials are searched in Google”中,Python 以 27.93% 的份额领先(来源)。Reddit 上的 r/Python 话题有 1.1 万订阅,r/learnpython 有 68 万订阅。

[1] Three Python trends in 2023: https://blog.jerrycodes.com/python-trends-in-2023/

[2] PyO3: https://github.com/PyO3/pyo3​

[3] pydantic-core: ​https://github.com/pydantic/pydantic-core​

[4] 在 Pycon 2023 上发表相关演讲: ​https://twitter.com/samuel_colvin/status/1615044553425424384​

[5] ruff: ​https://github.com/charliermarsh/ruff​

[6] polars: ​https://github.com/pola-rs/polars​

[7] Robyn: ​https://github.com/sansyrox/robyn​

[8] Robyn 的 2023 年路线图: ​https://sansyrox.medium.com/robyns-plans-for-2023-7eda52011563​

[9] Streamlit: ​https://github.com/streamlit/streamlit​

[10] NiceGUI: ​https://github.com/zauberzeug/nicegui​ [11] Pynecone: ​https://github.com/pynecone-io/pynecone​

[12] Pyodide: ​https://pyodide.org/en/stable/​

[13] PyScript: ​https://pyscript.net/​

[14] Python 3.11 in the Web Browser: ​https://youtu.be/oa2LllRZUlU​

[15] 来源: ​​https://pypl.github.io/PYPL.html​

作者简介 ▽

豌豆花下猫,生于广东毕业于武大,现为苏漂程序员,有一些极客思维,也有一些人文情怀,有一些温度,还有一些态度。

责任编辑:武晓燕 来源: Python猫
相关推荐

2009-10-26 21:07:10

无线网络融合

2022-10-24 15:51:13

人工智能深度学习发展趋势

2017-04-17 13:05:20

CDNSDN网络

2021-01-15 13:33:31

智能机器人智能感知网络协同

2015-01-13 09:58:35

Web发展趋势

2013-03-26 09:14:54

网络安全SDN

2021-08-26 20:18:56

区块链区块链技术

2010-11-19 16:53:14

桌面虚拟化虚拟机

2010-12-13 16:05:32

万兆应用

2011-07-28 14:27:46

电力光纤入户三网融合

2023-04-07 15:29:55

物联网就业前景

2009-03-17 18:01:43

服务器多核测试

2009-08-03 18:04:43

.NET发展趋势

2020-12-25 11:48:45

人工智能AI深度学习

2015-06-16 13:08:45

2018-10-20 16:19:45

Cloud FoundKubernetes云计算

2009-05-26 16:53:20

2016-10-26 13:45:45

云计算IaaS趋势

2023-10-07 07:51:56

2009-08-03 16:13:36

C#与.NET的发展
点赞
收藏

51CTO技术栈公众号