热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前后端分离,我怎么就选择了SpringBoot+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 的源码,还写了一些博客:

前后端分离,我怎么就选择了 Spring Boot + Vue 技术栈?

但是那个时候 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 技术栈?


推荐阅读
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文总结了在使用Ionic 5进行Android平台APK打包时遇到的问题,特别是针对QRScanner插件的改造。通过详细分析和提供具体的解决方法,帮助开发者顺利打包并优化应用性能。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文详细介绍了在Android 8.x中,GMS认证新增的CTS和VTS测试,特别是如何在VTS环境下测试GSI版本。文章涵盖了详细的测试环境配置和具体操作步骤。 ... [详细]
author-avatar
沈驰27
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有