头图

最近在为一个 openeuler 社区开发一个 FAQ (Frequently Asked Questions) 服务模块, 开发语言我选择了 Python. 这也是我第一次使用 Python 编写 Web服务. 之前我一直习惯用 Java 来进行 Web 后端开发, 而我熟悉的一套最基础的 Java Web 技术栈是这样的:

  • Spring X: 整个应用的框架, 这里的 'X' 包括 'boot', 'cloud', 等等
  • Mybatis/Mybatis-plus: 数据库 ORM
  • Mybatis-plus-generator: 逆向工程, 即由数据库生成 DAO. 但它能做的不止于此, 它还可以生成整个目录结构
  • fastjson/gson/jackson: json 解析
  • Maven/gradle: 依赖管理. 使用一个 pom.xml/build.gradle 文件使得项目可以快速构建环境

而与之对应的, Python 中的一套最基本的技术栈:

  • Flask: 整个应用的框架
  • Flask-SQLAlchemy: SQLAlchemy 在 flask 中的插件. 用于数据库 ORM. 相比 Java, 它提供了更灵活的接口, 尤其是对于复杂关系
  • flask-sqlacodegen: 针对 SQLAlchemy 的逆向工程
  • jsonschema: 用于 json 请求体的校验
  • pip: 依赖管理. 对于 Web 开发来说, pip 已经足够了

当然还有其他选择,毕竟工程问题,没有真理。比如同样很火的框架 Django 也很值得一试,但我个人更习惯 flask 的轻量灵活性

Ok~下面是接下来的文章内容,开始阅读吧:

目录:


Petrickstar
4 声望1 粉丝

不想单纯只会编码。。