FastAPI 与 Flask 对比

概述 Flask 和 FastAPI 都是 Python 生态里常用的 Web 框架,适合写 REST API 和小型后端服务。Flask 出现更早、生态成熟;FastAPI 更年轻,主打类型注解、自动文档和高性能。两者都不是「全栈 MVC 框架」(那是 Django 的领域),选型时往往是在「轻量 API 框架」之间做取舍。 核心对比 维度 Flask FastAPI 首发年份 2010 2018 维护方 Pallets Sebastián Ramírez 及社区 核心定位 微框架,灵活可扩展 现代 API 框架,开箱即用 路由与视图 装饰器 @app.route 装饰器 @app.get 等,按 HTTP 方法拆分 请求/响应校验 需自行集成(如 Marshmallow、Pydantic) 内置 Pydantic,类型即契约 OpenAPI / Swagger 需扩展(flask-smorest、apispec 等) 内置,访问 /docs、/redoc 异步支持 2.0+ 支持 async def,但生态仍以同步为主 原生 async,基于 ASGI 默认服务器 Werkzeug(开发),生产常用 Gunicorn + WSGI Uvicorn / Hypercorn(ASGI) 性能(粗略) 中等,够用 通常更高(尤其 I/O 密集、高并发) 学习曲线 平缓,文档与示例极多 需熟悉类型注解和 Pydantic 生态与插件 非常丰富(登录、ORM、Admin 等) 增长快,常与 SQLAlchemy、SQLModel 搭配 Flask 简介 Flask 是「微框架」:只提供路由、请求上下文、模板(Jinja2)等核心能力,数据库、认证、序列化都靠扩展拼装。这种设计让项目可以极简起步,也适合已有架构的团队按需引入组件。 ...

Created 21216-05-21 · Updated 21216-05-21 · 2 min · 323 words · -