前后端分离,我怎么就选择了 Spring Boot + Vue 技术栈?
前两天又有小伙伴私信松哥,问题还是职业规划,Java 技术栈路线这种,实际上对于这一类问题我经常不太敢回答,每个人的情况都不太一样,而小伙伴也很少详细介绍自己的情况,大都是一两句话就把问题抛出来了,啥情况都不了解,就要指出一个方向,这实在是太难了。
因此今天我想从我学习 Spring Boot + Vue 这套技术栈的角度,来和大家聊一聊没有人指导,我是如何一步一步建立起自己的技术体系的。
线上大家看我经常写文章,线下我其实比较宅,跟人交流比较少,我也很少问别人职业规划或者技术规划这些问题,因为这种学什么的问题,我喜欢自己把握,我不太喜欢被别人牵着走。
Rome was not built in a day
,刚开始接触 Spring Boot + Vue 时,我甚至都没有一个明确的想法,只是觉得该学点什么,不能让时间浪费,没有告诉我 Spring Boot 要火了,也没有人告诉我 Vue 要超过 React 了,都是我自己一直在摸索摸索,一步一步,直到构建起这套技术大厦。
Spring Boot
先说说 Spring Boot 吧,三年前差不多也是这个时候,是我第一次接触 Spring Boot ,那个时候我的正式身份还是一名 Android 工程师,那段时间在研究 Android7 的源码,还写了一些博客:
但是那个时候 Android 的行情在慢慢下滑,而我刚毕业 1 年多,未来还有更加丰富的技术人生,我不愿意这么早就把技术栈定死,而且还定在一个行情日渐下滑的技术栈上。所以我打算学一点新的东西。
Python、Go、前端 和 Java 都是备选的方向,但是最终还是选择继续做 Java,有三个原因:
- 做 Java 当时可以在公司内部转岗,做 Python 或者 Go 的话,可能就得换工作了,技术栈切换,一切从头开始,当时心里还是没底,于是就选择继续做 Java
- 刚好大学的时候也有 JavaEE 的底子,重新捡起来 JavaEE 相关的技术点倒也不是啥难事
- 第三点也是最重要的一点,我一直希望能够独立接点私活,这样有一天赚钱能够不受工作地点的限制,基于这样的初衷,我一直希望走全栈的路线,用 Python 和 Go 虽然也可以做企业级应用,但是在目前的技术环境下,这并不算是主流方案,主流方案依然是 Java ,虽然它被被多人吐槽
基于以上三点,我决定还是走 Java 的方向吧。
2016 年那会,CSDN 几乎每个月送我一本技术图书,10 月份的图书我就和梦鸽美女要了一本 Spring Boot 相关的书,书到了之后,一直在忙各种事情没时间看,到了当年 12 月份的时候,公司安排我去深圳出差,出差的话,每天下班后时间就比较充裕了,于是我就带上了书,每天下班回到酒店,就开始搞 Spring Boot。
一开始我就发现这玩意相比我大学时候搞得 XML 配置的 SSM 太好用了,还是 SSM 那套东西,但是有了自动化配置,不用再去写让人头大的 XML 配置了,可以基于 Spring Boot 快速搞一个 SSM 应用出来。不过刚开始学的时候我还不知道 Spring Boot 在 Java 领域如此火爆,当我写了几篇博客之后,我发现每篇博客的阅读量都暴涨,远远高于其他博客的阅读,我隐隐约约感觉到这次稀里糊涂的技术栈切换,算是没走错路。
不过老实说,Spring Boot 技术栈其实不算难,都是 SSM 那一套东西,只是多了自动化配置(当然,Spring Boot 也有不少自己的东西,不过整体上基于 SSM 这点应该没啥争议),我刚开始搞 Spring Boot 的时候,有时候会有一些东西看的云里雾里,后来发现问题出在 Spring + SpringMVC 上,好几年不写 JavaEE,这些东西有一点点生疏了,后来又花了一些时间把 SSM 这些东西系统过了一遍,然后再去看 Spring Boot 就顺畅多了。
所以有一些小伙伴问松哥能不能跳过 SSM 直接学习 Spring Boot,这个我不建议,大家在 Spring Boot 中见到的很多神奇的自动化配置大部分都是基于 Spring 现有功能实现的,要是不懂实现原理,你会发现 Spring Boot 用得时候虽然好用,但是出了问题,你就束手无策了。
就这样,跳入了 Spring Boot 的坑里了。Spring Boot 学完没多久,工作上,马上要从 Android 切换到 JavaEE 了,亟需一个项目练练手,当时我的上司给我介绍了一个西藏大学的项目,我使用 Spring Boot+EasyUI 的技术栈花了不到一个礼拜做完了,从此就算是叩开了 JavaEE 的大门,那会是 2017 年。
当时前端选择 EasyUI 也是没办法,甲方催得紧,而我来不及搞其他的前端框架,当时只有 EasyUI 熟悉一些,不用花时间学,直接就能用,于是就选择了 EasyUI,但是 EasyUI 太丑了,所以在做完西藏大学的项目后,我就一直思量着再整一个专业的前端框架,这样以后再有私活,我就可以独立做出来一个好看的后端管理系统了。
就这样,在综合对比了 Vue、React 以及 Angular 之后,决定跳入 Vue 的坑。
Vue
前端其实还算接触的比较早,最早的 jQuery Mobile,PhoneGap 上大学的时候就玩过,我的第一本 NodeJS 的书是在 2013 年买的,那个时候 NodeJS 还算是一个比较新的事物。当我还是一名 Android 工程师的时候,我就玩过 React 和 ReactNative,RN 是当时比较流行的一个跨平台解决方案。但是在我比较这三个技术栈的时候,我发现 Vue 更加好用,生态也更加丰富,而且大有超过 React 的架势(当时 Vue 在 GitHub 上的 star 数还没超过 React),于是我就选择了 Vue。其实当时我心里想,大不了学完 Vue 再学 React,反正我才刚毕业两年多,没必要这么早就锁定技术栈停止学习。
Vue 的学习确实不费啥事,花了两三天时间刷了一遍官网,然后就开始做项目,但是要去深入学习,又是一个漫长的过程了。
Vue 有很多漂亮的 UI 库,像 ElementUI 等都算是做的比较好的,这些东西只要会用其中一个,其他的就可以手到擒来。
到 2018 年初,Spring Boot+Vue 技术栈基本上已经熟悉了,两个开源项目 V 部落(V 部落)和微人事(视频揭秘微人事项目实现过程)也受到小伙伴们的欢迎,常规的企业级应用可以一个人独立完成了,5 月份的时候,经朋友介绍,接了哈尔滨工程大学一位老师的项目,毫无疑问我就使用了最擅长的 Spring Boot+Vue 技术栈来做了,前后端都是自己做,没人扯皮,美滋滋。
再后来,就是写书(我的第一本书,被选作大学教材了!),业余继续搞点项目用 Spring Boot + Vue 来做,这些以前都和大家聊过我就不再多说了,业余接点项目来做这块倒是有一些经验,以后和小伙伴们细聊。
就这样,没有任何人的指引,我慢慢构建了 Spring Boot + Vue 这套技术体系,这个过程中,最大的学习经验就是要写博客,做笔记,写博客不仅仅是记录,也是总结提炼,在写的过程中,融入自己的思考,加深对技术的理解。 掌握了这套技术栈之后,我觉得我离全栈又更近了一步,离赚钱不受工作地点的限制这个目标也更近一步了。
结语
有前辈大佬的指引,你可能走得快,自己摸索,走的踏实。其实从我第一天自学 Java 开始,基本上都是一直在摸索。大学时候一个 BUG 折腾两三天才解决,但是一旦自己想明白解决了,以后类似的错误不会再犯,这是我的感受。
好了,一点点学习经验,和小伙伴们分享,要是觉得有启发,欢迎转发哦。
扫码关注松哥,公众号后台回复 2TB,获取松哥独家 超2TB 学习资源
前后端分离,我怎么就选择了 Spring Boot + Vue 技术栈?的更多相关文章
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单
前言 哈喽大家周五好,马上又是一个周末了,下周就是中秋了,下下周就是国庆啦,这里先祝福大家一个比一个假日嗨皮啦~~转眼我们的专题已经写了第 23 篇了,好几次都坚持不下去想要中断,不过每当看到群里的交 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║Vue基础:JS面向对象&字面量& this字
缘起 书接上文<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史>,昨天咱们说到了以我的经历说明的web开发经历的 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十六 ║Vue基础:ES6初体验 & 模块化编程
缘起 昨天说到了<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║ Vue前篇:JS对象&字面量&this>,通过总体来看,好像大家对这一块不是很 ...
- 【手摸手,带你搭建前后端分离商城系统】03 整合Spring Security token 实现方案,完成主业务登录
[手摸手,带你搭建前后端分离商城系统]03 整合Spring Security token 实现方案,完成主业务登录 上节里面,我们已经将基本的前端 VUE + Element UI 整合到了一起.并 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史
---新内容开始--- 番外 大家周一好呀,又是元气满满的一个周一呀!感谢大家在周一这个着急改Bug的黄金时期,抽出时间来看我的博文哈哈哈,时间真快,已经到第十四篇博文了,也很顺顺(跌跌)利利 (撞撞 ...
- 仵航说 前后端分离,文件上传下载(springBoot+vue+elementUI)仵老大
1.介绍 本文主要是介绍前后端分离的上传下载,后端使用的是SpringBoot,持久层用的是mybatis-plus,前端用的Vue,UI用的elementUI,测试了一下,文本,图片,excel ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十八║Vue基础: 指令(下)+计算属性+watch
回顾 今天来晚辣,给公司做了一个小项目,一个瀑布流+动态视频控制的DEMO,有需要的可以联系我,公司的项目就不对外展示了(一个后端程序员真的要干前端了哈哈哈). 书接上文,昨天正式的开始了Vue的代码 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十九║Vue基础: 样式动态绑定+生命周期
回顾 哈喽大家好,前后端分离系列文章又开始了,今天周一,还是感谢大家花时间来观看我写的博客,周末呢,没有写文章,但是也没有闲着,主要是研究了下遗留问题,看过之前文章的应该知道,之前的在AOP使用Red ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十║Vue基础终篇:传值+组件+项目说明
缘起 新的一天又开始啦,大家也应该看到我的标题了,是滴,Vue基础基本就到这里了,咱们回头看看这一路,如果你都看了,并且都会写了,那么现在你就可以自己写一个Demo了,如果再了解一点路由,ajax请求 ...
随机推荐
- PE 文件格式详解
PE文件 是微软 Win32 环境下可执行文件的标准格式. 所谓的可执行文件并不仅仅是常见的 EXE 文件,DLL,SYS,VXD 等文件也都属于 PE 格式. |-------> DOS_MZ ...
- [NOIp2010] luogu P1541 乌龟棋
英语老师讲 mind map,真想说一句"声微饭否".为什么wyy的歌词总是快一点点.在报csp. 题目描述 你在一个序列上向正方向行走,起点是 a[0]a[0]a[0].每一步可 ...
- Python编程系列---获取请求报文行中的URL的几种方法总结
在浏览器访问web服务器的时候,服务器收到的是一个请求报文,大概GET请求的格式大概如下: 先随便拿到一个请求报文,蓝色即为我们要获取的 GET /index.html HTTP/1.1 Hos ...
- Unity - HasExitTime用法
本文详细分析了AnimatorController中动画切换过渡问题,即Translation过渡及hasExitTime的问题.方法为对实际项目中的所有情况进行分类,规划逻辑图,可视化分析解决这些问 ...
- 小白学 Python(7):基础流程控制(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- python常用算法(6)——贪心算法,欧几里得算法
1,贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,他所做出的的时在某种意义上的局部最优解. 贪心算法并不保证会得到最优解,但 ...
- Spring事务传播属性有那么难理解吗?
学习东西要知行合一,如果只是知道理论而没实践过,那么掌握的也不会特别扎实,估计过几天就会忘记,接下来我们一起实践来学习Spring事务的传播属性. 传播属性 传播属性定义的是当一个事务方法碰到另一个事 ...
- Unity C#数据持久化与xml
最近工作需要用到数据持久化,所以在此分享一下,通过查阅资料,数据持久化大体都是通过xml或者json来进行的.unity为我们自定义了数据持久化方法,但是比较局限,还需要自己来完成数据持久化方法. ( ...
- SteamVR Plugin
使用HTC vive基于unity做虚拟现实,需要用到steamVR插件,最近查找了很多资料,稍微做一下总结. 做虚拟现实无非是头显在场景中的camera功能以及手柄的操作功能. (一)camera以 ...
- SpringBoot整合MybatisPlus3.X之SQL注入器(九)
pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId& ...