spring + VUE 前后端分离绕不过去的技术栈

首先感谢Spring在框架层面实现了多年构件重用的夙愿,不仅如此还有Spring Boot 这样的大大大红包,java成就了Spring, 目前有点像Spring反哺Java, 让Java看起来仍然活力四射。
另一方面Vue的出现,以及Vue基础上构建的Element-UI终于让一个手残党也能实现头脑中出现的界面,出现的操作,出现的动画等等,Vue的动态绑定数据让JS代码走出了代码管理的泥沼,终于JS代码看起来有模有样,template, script + style这种清晰结构才真正符合架构设计理念(分解问题,合理分层-敲黑板,重新复习)。

下面详细汇总一下spring + VUE前后端分离产品一般早晚都会涉及的技术:
1 CLI 别小看这个工具,在我边看spring in action 4的时候,几百个jar文件彻底考验了我的底线,书中提到的每一个jar几乎都包含几十个甚至上百个版本,为了调通书中的代码,为了找到适合的jar文件经历了很多个呕心沥血的日夜,在跑通所有书中的代码后,我特别发了一个帖子,将书中涉及到的jar文件打成一个压缩包进行分享。这个压缩包下载的人还不少,为此获得不少C币。完成这个艰苦任务后,我终于碰到了CLI, 一口大血喷出,比前面呕心沥血的血总和还多。CLI把程序员从jar的海洋拯救出来。

2 Vue, Vue router, Vue store, 父子组件消息传递。。。不细数
3 axios Vue推荐的ajax消息传递工具,无论是API, 拦截器都无可挑剔

4 webpack, 前面提到Spring涉及几百个jar文件, 前端开发涉及的node module大概要几千个,说句公道话,前端开发看起来技术含量低其实是打包工具太好,就比如webpack
5 node.js/Git 获取node module文件的大杀器,没它们活不了

6 有了以上2,3,4,5前端程序可以在node服务器上启动并可以通过浏览器进行访问,然后你想让界面变得好看点,或者更加结构化,bootstrap, 还有Vue + bootstrap哺育的孩子Element-UI就会出现,很早我就发过朋友圈说饿了么是个良心企业,Element-UI是由原饿了么团队开源的代码,饿了么95亿被阿里收购也算终成正果。
7 手机程序的流行让你不得不关注到mint-UI, 为手机开发的控件,Github有海量的组件等待你去发现,npm run dev的神一样的存在让你不费吹灰之力可以让Github每一件作品轻而易举运行在本地,随心所欲去调试,去做改变,去学习

8 前面重点提到axios, 它是前端和后端的桥梁, 无论是消息对象传递,还是安全认证它就是桥头堡,好消息,坏消息,假消息都可以由它来处理,配合后端Spring REST以及MVC 完美实现以json的媒介的前后端分离,既然提到了spring,不得不说Spring Boot是程序员不可多得的大红包,犹如 webpack里面配合package.json文件的一键生成项目, Spring Boot配合pom.xml文件一键下载所有jar包,区区三个starter, boot starter,mvc starter, jpa starter, 爽到爆!
9 由于有了fat jar部署也变成一件有意思的事情, 如同exe文件,双击就可以启动服务,独立并且独立,第一个独立是fat jar本身包含了应用程序所需的所有相关依赖jar包, 第二个独立是fat jar本身包含服务容器。微服务的概念被贯彻得很彻底。

10 我喜欢Spring MongoDB, 无需建表语句,无需定义表头, 面向对象的数据结构免掉了hibernate等中间件,大大降低程序开发的复杂度,同时也提供了新的舞台, 唯一缺点就是MongoDB数据库云服务器真心贵!!
11 再次强调一次Element-UI, form的validation,以及message,当然还有MenuBar, navbar, transform, table, 吃透这些组件90%以上UI开发可以满足。

12 对于一个程序,功能是建立在安全基础之上的,security谁也绕不过,而且通常复杂度超乎寻常,我感觉这块是除了css以外最难处理的。如果能及时开始接触JWT, Auth0, 情况会有所好转。
13 Spring 的 @RestControllerAdvice 很好的提升了exception处理,并能够融洽配合前端的错误信息显示,通过axios拦截器可以对不同的error code做出相应信息表达。
14 有了这么好的基础,别浪费这个大好机会, JUnit绝对不能再错过了, 花点时间给test case,它会以十倍回报给你。Spring 的maven build过程中首先运行你的test case, 人家spring都这么大力推行,肯定是个好事儿。

15 .fasterxml.jackson 在开发代码自动生成的功能时这个工具用来解析或者由json转换为java对象都十分完美,它也是Spring中用来解析Json的
16 一个商业软件,保护用户信息十分重要,最基本一点用户的密码不能显示保存在数据库,Spring 的BCryptPasswordEncoder为此而生。
17 当这一切让你觉得对每个单元都还舒服的时候,是时候找一款UML designer工具,它可以总结整理你的所有单元,它还能够让你在整体架构设计上提高自身的生产力,让蚂蚁站起来走路,乐享三维风景。对了, UML designer就是一款这样的工具, 它虽然可以作为eclipse的plug-in方式进行安装,但是几次失败的尝试以后,乖乖的下载了UMLDesigner-win32.win32.x86_64.zip
18 独乐乐不如与众乐,你要让你的程序运行在云里,买一个弹性云服务器如何?弹性表示一切可以增减, 数据盘,操作系统,带宽,等于买了一台电脑,华为云服务正在如狼似虎的抢占市场,三年6M带宽100G数据盘 4700.。。。需要这方面建议的给我发邮件[email protected], 免费体验了一个月,服务令我非常满意。

19 貌似万事大吉了?no, no, no这才刚刚上路, activiti前面还不支持spring 5, 现在支持了, BPM走一拨吧,老铁
20 kafkar event source必须尝试一下, 可以任意时间结点,任意状态恢复业务流程

21 i18n Vue, Spring已经在底层做好了一切准备, 上路吧少年
22 logging, audit该美美的体验一下spring的看家本事AOP了

23 最烦人,最折腾程序员的报表系统,看看mongoDB能不能玩出什么新花样

冬日里摩拳擦掌,外加跺脚, 夏日里挥汗如雨, 忘却寒暑,体会你的美,心甘情愿被你折磨,心有涕零,不知所云!

你可能感兴趣的:(Java,Javascript,Spring,Vue,ElementUI)