开发完成后,本专栏所有项目源码会以MIT协议开源!
门户网站建站及CMS选型
选型原因分析
目前比较成熟好用的开源内容管理系统基本都是PHP写的,经过对比考虑后选择了使用Java开发的若依,虽然有使用若依开发的CMS,但前后端分离的还未见出现,于是决定在RuoYi-Vue中集成CMS。若依确实是少见的强大且开源的后台管理系统。
对于门户网站,由于需要快速响应并支持SEO,于是选择使用Nuxt.js进行后端渲染,同时使用Egg.js做数据获取及简单的数据处理。为便于后序开发使用,计划构建NPM库存放使用Vue.js开发的门户网站组件。
具体比较
在继续之前我希望明确一下前端、后端、前台、后台的概念。
- 前端:可见部分的代码(UI层),比如你可以看到的网站页面
- 后端:代码基本上是提供给前端调用的,主要对逻辑、数据进行处理
- 前台:针对用户编写的前端。游客、用户能够看到的页面
- 后台:针对系统管理者编写的前端,游客、用户看不到的页面
至此就可以继续介绍为什么这么选型了
这里对比几个方案:
- 前端:Vue.js
后端:SpringBoot - 前端:Vue.js + Nuxt.js
后端:SpringBoot - 前端:Nuxt.js
后端:Egg.js(Node.js) - 前端:Vue.js + Nuxt.js
后端:SpringBoot + Egg.js(Node.js)
需求:门户网站高响应速度,支持SEO,微量信息提交;后台管理支持内容管理,高稳定性,高安全性。
综合需求及个人技术栈,方案4为最快速,学习成本最低的方案,并且后序团队解耦最为方便。