我想要的Web框架

虽然我不是专业的Web后端开发人员,但是我也使用过很多Web框架,例如Java中的SpringMVC,NodeJS中的Express,Egg.js。我可能不精通后端开发,但是我却对自己理想的Web框架到底需要哪些东西有些自己的感想。

API文档

很显然文档对于一个持续迭代的项目而言是十分重要的,没有文档会让后期的接手人员就像在地狱中一样。业界已有了成熟的API文档方案——swagger,而如果我要使用这个Web框架,那这个框架必须由关于swagger的集成。

前置校验

后端的数据验证尤为重要,而如果我们每个校验都要写验证代码,这会造成相同的校验代码在不同的控制器中不停出现。我们需要前置校验框架,支持常用的校验模式,支持校验的扩展,支持校验代码的可复用(个人认为最好为Schema单独建立模块)。如果没有这种校验框架,我觉得是个遗憾。

ORM

对于关系型数据库而言,我们需要数据模型层,我们需要ORM,ORM可以让数据操作更加有简便。我对ORM框架有一定的要求,我希望这个ORM能支持对象生成数据表的功能,还希望ORM能够Auto migration,这样我们的数据库也可以进行迭代。

数据输出格式

我们有时候会为给前端提供的数据格式而烦恼,相比于自由书写输出格式,如果有数据格式的规范在,我是很乐意使用的。目前业界有一份 JSON API 的规范,我希望有后端框架能够对其有相关的支持。

提供测试套件

测试是应用质量的保障,我希望框架能够提供良好的测试套件,让我能够快快乐乐地写单元测试。

提供官方部署支持

部署是应用上线的关键一步,有时候我不得不去学习某些部署工具,这让我的注意力不停地转移。框架最好能够提供部署的良好支持(一个很棒的例子就是Egg.js,部署相当简单)

我的标准可能时时变化,目前想到的就这么多,后续如果变成专业的后端开发人员可能会有更多的想法。