前言
Python 本身并不是为前端开发而设计的语言,但确实有一些 Python 框架可以“变相”地用于前端开发,比如生成 HTML、控制前端页面逻辑,甚至可以直接运行在浏览器中。
目标
本文将对常见的使用python实现的前端框架,先做一个大概的学习总结,后续会有一系列的关于具体框架的详细介绍,各位看官可以先点击关注收藏。
前端框架/工具列表介绍
为了方便学习,这里整理了的常见 Python 前端框架/工具,包括它们的名称、类型、应用范围、默认端口、启动方式、启动命令等信息,具体列表如下,看看是否有你想要了解的,或者我没有整理的,也方便留言。
名称 | 类型 | 应用范围 | 端口/运行环境 | 启动方式/命令 | 特点/备注 |
---|---|---|---|---|---|
Streamlit | Web UI 框架 | 数据展示、仪表板、快速原型 | 默认 8501 |
streamlit run app.py |
极简前端,可快速构建数据应用 |
Gradio | Web UI 框架 | AI Demo、模型接口、前端交互 | 默认 7860 |
gradio.Interface(...).launch() |
简洁美观,适合部署 AI 接口 |
Dash | Web UI 框架 | 数据可视化、Plotly 图表展示 | 默认 8050 |
app.run_server() |
基于 Flask + React,强可视化支持 |
Flask + Jinja2 | 模板引擎 + 后端框架 | 网页生成、服务端渲染 SSR | 默认 5000 |
flask run or python app.py |
使用 Jinja2 模板生成 HTML |
Django + Templates | 模板引擎 + 后端框架 | 全栈网站开发、内容管理 | 默认 8000 |
python manage.py runserver |
集成完整功能,适合中大型项目 |
Anvil | 云端全栈框架 | 可视化 Web App、拖拽式 UI 构建 | 云端/浏览器 | 无本地端口,云端部署 | 拖拽式开发、支持 Python 全栈 |
PyWebIO | 纯 Python Web UI | 教学、小工具、交互式问答 | 默认 8080 |
pywebio.start_server() |
无需 HTML/CSS,类似命令行交互的 Web UI |
NiceGUI | Web UI 框架 | 简洁现代 UI,快速构建 Web 应用 | 默认 8080 |
from nicegui import ui |
类似 Streamlit,但组件更多样 |
Panel | 数据分析/科学可视化 | 可嵌入 Jupyter 或独立网页应用 | 默认 5006 |
panel serve app.py |
支持交互式小部件,适合科研可视化 |
PyScript | WebAssembly 工具 | 在浏览器中直接运行 Python 前端逻辑 | 浏览器 | 放入 HTML <py-script> 标签 |
可直接在 HTML 中嵌入 Python |
Brython | JS 替代工具 | 用 Python 编写浏览器端 JS 脚本 | 浏览器 | 嵌入 <script type="text/python"> |
替代 JS 的尝试,适合简单交互 |
Flask + HTMX/Tailwind | 现代 SSR 风格组合 | 服务端生成+前端增强交互 | 默认 5000 |
flask run |
利用 HTMX 做无刷新交互,保持前后端一致 |
Toga (BeeWare) | 桌面 GUI,也支持 Web | 跨平台 GUI 应用(Web/桌面/移动) | WebView | python app.py |
多平台运行,Web 使用时基于 WebView 或 HTML5 |
简要分类
简单分为六大类别,如下:
类别 | 对应框架 | 适合人群 / 应用场景 |
---|---|---|
Web App 快速开发 | Streamlit, Gradio, NiceGUI, Dash | AI Demo、数据看板、内部工具 |
服务端渲染网站 | Django, Flask + Jinja2, HTMX组合 | 内容管理系统、博客、门户网站 |
教学/交互工具 | PyWebIO, Panel | 编程教学、小工具开发 |
纯前端运行(浏览器中运行 Python) | PyScript, Brython | 简易交互、教学演示、JS 替代尝试 |
云端可视化平台 | Anvil | 小白拖拽开发、SaaS Demo、表单应用 |
多端 GUI 支持 | Toga (BeeWare) | 想用 Python 写跨平台 GUI 的开发者 |
详细介绍
后续会有一系列的篇幅来分别对这些框架做下详细的介绍
系列编号 | 标题 |
---|---|
第01篇 | Python开源库 Streamlit 详细介绍 |
第02篇 | Gradio 入门实战:几行代码部署你的 AI 模型界面 |
第03篇 | Dash 快速上手指南:用 Python 做炫酷图表网站 |
第04篇 | 待定。。。。。计划6/23/24日出 |