引言
轻舟定位为一个快速 JAVA WEB 应用开发平台,将基础通用的功能做好,让使用者能快速实现一个JAVA WEB 应用。基于以上目标,在技术选型方面遵守大众化、轻量化、简单化的方针。
后端
Spring Boot 作为 JAVA WEB 生态届最为流行的框架之一,当然是首选。其内嵌 Servlet 容器,打包启动方便。自动管理依赖,无需复杂的配置,就能快速集成各种框架。自带应用监控,可满足简单监控需求。优点很多,总结来说就是部署简单、配置简单、监控简单、编码简单。
Spring MVC 是属于Spring Web里面的一个功能模块(Spring Web MVC)。专门用来开发 Spring Web 项目的一种 MVC 模式的技术框架实现。用来写 HTTP 接口比原生 Servlet 方便的多,基于 Spring Boot 框架的 WEB 应用,Spring MVC 就是标配。
Spring Security 基于 Spring 开发,与 Spring Boot 无缝集成。其功能丰富强大,社区活跃。虽然配置上较同类型框架复杂,但得益于 Spring Boot 的自动化配置,配置难度已大大降低。
Mybatis 和 Mybatis-Plus 搭档。在国内,Mybatis 的热度很高,其灵活的使用方式得到国内广大程序员的喜爱,鉴于此,选择了 Mybatis 作为轻舟操作数据库的框架。灵活的代价就如同汽车的手动挡和自动挡。手动挡一切由你操控,但在拥挤的城市道路走走停停时就非常繁琐。而自动挡就简单的多,但有时又不够灵活。就没有办法解决这个问题吗?Mybatis-Plus 的出现解决了以上矛盾,如同手自一体,兼顾自动挡与手动挡的优点。
Jackson 和 HikariCP 的选择是因为 Spring Boot 的默认依赖。Spring Boot 提供了一份默认依赖清单,一般情况下以此默认清单为准,而无需替换为其它依赖。Jackson 和 HicariCP 能被 Sping Boot 选为默认依赖,自然是有其优点。其中Jackson 是最为流行的 json 解析器(没有之一,基于 Github 数据统计)。HicariCP 数据连接池以快著称,俗话说,天下武功唯快不破!HicariCP 一出,其它数据库连接池望尘莫及。话虽如此,但速度快并不是选用 HikariCP 的重点,重点仍然是 Spring Boot 的默认依赖优先。
以上就是轻舟后端的主要框架技术选型。可以看出,我们的选型标准就是基于 Spring Boot 生态,在满足当前需求和未来扩展的同时,大众化、轻量化、简单化。今后新加的技术框架将持续遵守该标准和方针。
前端
在前端领域,我是个新手,只能先从大众化的技术方案找起。通过搜索比对发现( Github ),Ant Design 拥有非常好的流行度。除此以外,我发现一个基于 Ant Design 的中后台解决方案:Ant Design Pro。通过官方的文档,我试用了一下,让我这个新手感觉非常不错。
虽然在前端技术领域我很陌生,但仍然做了一些了解,在此介绍一下轻舟的前端技术选型。首先当然是 React 库,由 Facebook 公司打造,并于2013年开源。许多大型企业使用该库构建核心产品的前端应用界面,如阿里巴巴、腾讯等知名企业。然后是 Ant Design Pro,这是一个组合技术解决方案,基于 Ant Design 组件库,包含 Umi 等框架,由蚂蚁金服开发并开源的项目。CodeMirror (react-codemirror2 )是一个网页代码编辑器,用于轻舟代码生成器。
结束语
本文介绍了轻舟的技术选型,也描述了选型中做的一些考量。技术发展千变万化,在这抛砖引玉,希望各位读者有好的建议,愿不吝赐教。
参考文献
[1] Spring [EB/OL].https://spring.io/.2021-04-24
[2] Mybatis-Plus [EB/OL].https://mybatis.plus/.2021-04-24
[3] HikariCP [EB/OL].https://github.com/brettwooldridge/HikariCP.2021-04-24
[4] Ant Design Pro [EB/OL].https://pro.ant.design/.2021-04-24
[5] CodeMirror [EB/OL].https://github.com/codemirror/CodeMirror.2021-04-24