重温Web开发及技术选型

一、前端架构:

方案 技术 优点 缺点 案例
MPA-前后端不分离 1、传统MVC架构,后端主导
2、服务端通过模板引擎渲染,如jsp、Freemarker
SEO 1、服务端渲染压力(可以通过缓存静态页解决)
2、前后端职责不清晰
CicadasCms
MPA-前后端分离 AJAX、jquery、vue等新兴前端框架 1、前后端分离职责清晰
2、减轻服务端渲染压力
3、做简单SEO
4、首屏加载速度适中
1、页面间数据传递麻烦
2、页面转场动画无法实现
3、页面资源不重用
renren-fast
SPA vue、react、AngularJS、webpack 1、前后端分离职责清晰
2、减轻服务端渲染压力
3、统一管理页面状态
4、转场动画
1、做SEO困难(可以通过SSR)
2、首屏加载慢(可以通过拆分解决)LsLoader拆分缓存
vue-element-admin
SPA+Node SPA、Node服务端渲染、Java服务端提供数据 1、需要SEO的页面使用Node服务器渲染(前端人员维护Node.js工程) 重温Web开发及技术选型

总结:SPA适合后台系统、移动Web项目等非内容型、非强依赖SEO型的网站应用。

二、后端架构:

最近在写 无线交付平台 后端代码,起初使用nodejs、express,后来有朋友问我Springboot的问题,我在刚毕业的时候研究过Struts2、SpringMvc,但Springboot却还没有接触过,最近一段时间通过renren-fast了解了Spring Boot、Shiro的开发流程,并将其修改为gradle构建,使用Intellj作为IDE进行开发。

以前仿站的经验看,国内还是Discuz比较方便,模板插件比较多,java版的bbs 或cms没有找到跟Discuz媲美的。所以建议做外包或者SideProject的朋友可以考虑如下搭配:

  • Discuz:发挥其擅长的前台模板和交互插件。
  • renren-fast:作为java后端系统,提供数据接口,也可以做Discuz的辅助后端,如文章采集、定时任务等。
  • vue-element-admin:作为后台管理系统,提供后台UI交互。

参考链接

https://github.com/lifesinger/blog/issues/184