之前用NodeJS+Express来写后端的REST API,但是随着项目规模的扩大,项目功能越来越复杂,加上后期可能有协作开发的需求,JS作为弱类型语言就慢慢体现出来了一些弊端。为了让项目结构变得更清晰,并且尽可能提高代码重用,规范数据模型,我还是转向了使用Java来开发后端。之前不愿意选择Java作为后端语言也是因为Java Web的运行时环境部署相对来讲比较复杂,SSH框架用起来也很重,当然当时对于Java也不甚了解,存在许多误区,所以选用了轻量快速的NodeJS。因为在这个项目过程中我也一直在做Android客户端的开发,所以决定使用Java作为新的后端语言,我决定寻找一个轻量化的、方便部署的REST API框架。
查阅了一些资料,发现了两个选择:spring-boot 和 dropwizard 。简单概括一下两者的特点,spring-boot 基于 spring 框架,配置上更加灵活,更加适合具有 spring 开发经验的人员;而 dropwizard 完全脱离了对 spring 的依赖,基于约定优于配置的思想,约定使用了一些非常成熟的库,灵活程度不如 spring-boot,但是省却了一些配置上的麻烦。重要的是,dropwizard是一款对运维友好的框架,它使用内置的 Jetty 引擎,不依赖外部的Tomcat等容器环境,可以方便地打包成单一的 jar 包运行。
所以我选择了使用 dropwizard 来开发新的后端。这里只是安利一下这款框架,后续我会继续安利一些项目中使用到的优秀的库以及它们的文档翻译。现在,一大波 Dropwizard 的文档即将来临!
网友评论