python iv 多指标 python指标框架_python

最近有人抓取了 Github、Stack Overflow、PyPI 上的数据,根据开发者在这些平台上的实际使用行为,对目前的 Python Web 框架进行了排名。这个排名不是基于性能来排序的,但整体我认为其实更综合一些,是大家“用脚投票”选出来的。

在今天的文章里,我想和大家分享这份榜单,以及从中获得的一些启示。

一、具体名单

排名前十五的框架名单如下:



python iv 多指标 python指标框架_python iv 多指标_02


二、排名算法

框架得分计算方式比较简单:

1、首先逐一计算每个指标的得分,具体方法如下:

1)抓取框架对应指标的数据;

2)将该指标的数据从低到高排序

3)指标得分就是框架的序号

2、将每个指标的得分相加,并除以指标的数量,简单说就是求平均值

3、最后将得分转换成百分制,就得到了最终分数

二、榜单启示

我没有太细究数据背后的一些原因,这里仅仅跟大家分享3点观察和启示。

1、Django 仍占主流,但在被 Flask 和 aiohttp 追赶

从最新抓取的数据可以看到,在开发者使用率(PyPI项目主要依赖数,即该框架被多少项目引入作为主要依赖)、社区活跃度(SO问题数、Github星标数、Github贡献者数)方面,仍然排在首位。

这里当然有 Django 功能强大、完备这方面的因素,但是我认为,发展早这个也是它能有如此积累的一个重要原因。

Flask 作为后起之秀,在PyPI项目主要依赖数和Github星标数这两个指标上,已经基本上和 Django 不相上下了。尤其是后者,是最近几年迅速增长起来的。

而且 Flask 和 aiohttp 的下载量远远超过了 Django。

2、异步框架逐步受到大家的欢迎

aiohttp、sanic 等都是原生支持异步调用的,aiohttp 在各项指标上的表现都不错,排在前列,尤其是 PyPI 上的下载量超过了2500万;sanic 目前看上去在开发者中的接受度较一般,在 SO 上的问题数偏少,不到 200 条。

另外,Django 老大哥在 3.0 版本中也加入了 ASGI 的支持。

3、Web 框架中垂直类开始崛起

这里的垂直类框架,我指的是 FastAPI 和 Dash。

FastAPI 是专门用于开发 Rest 服务的框架,国内有很多 Python 自媒体都发文推荐过,性能表现非常优秀,可以媲美 NodeJS 和 Go。

Dash 是 Plotly 出品专门用于开发数据可视化应用的框架,基于 Flask、Plotly.js 和 React.js 打造,但是在编码的时候,可以只使用 Python 来实现。

这两个框架的排名都比较靠前,数据表现很好。

尤其要说明的是 Dash 的势头很强,最近一个月仅靠 4 名贡献者就更新了超过 10 万行代码,背后一个重要的原因是它背后有商业化力量在推动。Dash 是 Plotly 公司基于 Plotly.js 打造的,虽然开源,但是还提供了针对企业的私有部署服务。所以它有很强的动力来推广 Dash。

整体来说,我觉得 Python Web 框架生态是越来越繁荣了,对于广大的开发者来说是特别棒的一件事情。

上面也只是我一些不成熟的看法,欢迎大家留言一起分享自己的观点。如果你有用的不错的Web 框架,也欢迎在留言里向大家推荐。

—END—