热门标签 | 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 技术栈?


推荐阅读
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
  • 手机上编写和运行PHP代码的最佳软件推荐 ... [详细]
  • 我们程序员为什么要关注 JavaScript ?_js
    受这周我在企业中看到的JS现状的启发,我写了这篇文章。10年之前,我从来没有想过现在的JavaScript竟然会变得几乎无处不在。下面是几个你之所以要关注Java ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 在 Android 开发中,`android:exported` 属性用于控制组件(如 Activity、Service、BroadcastReceiver 和 ContentProvider)是否可以被其他应用组件访问或与其交互。若将此属性设为 `true`,则允许外部应用调用或与之交互;反之,若设为 `false`,则仅限于同一应用内的组件进行访问。这一属性对于确保应用的安全性和隐私保护至关重要。 ... [详细]
  • 深入解析Java虚拟机的内存分区与管理机制
    Java虚拟机的内存分区与管理机制复杂且精细。其中,某些内存区域在虚拟机启动时即创建并持续存在,而另一些则随用户线程的生命周期动态创建和销毁。例如,每个线程都拥有一个独立的程序计数器,确保线程切换后能够准确恢复到之前的执行位置。这种设计不仅提高了多线程环境下的执行效率,还增强了系统的稳定性和可靠性。 ... [详细]
  • 在使用SSH框架进行项目开发时,经常会遇到一些常见的问题。例如,在Spring配置文件中配置AOP事务声明后,进行单元测试时可能会出现“No Hibernate Session bound to thread”的错误。本文将详细探讨这一问题的原因,并提供有效的解决方案,帮助开发者顺利解决此类问题。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 在处理大图片时,PHP 常常会遇到内存溢出的问题。为了避免这种情况,建议避免使用 `setImageBitmap`、`setImageResource` 或 `BitmapFactory.decodeResource` 等方法直接加载大图。这些函数在处理大图片时会消耗大量内存,导致应用崩溃。推荐采用分块处理、图像压缩和缓存机制等策略,以优化内存使用并提高处理效率。此外,可以考虑使用第三方库如 ImageMagick 或 GD 库来处理大图片,这些库提供了更高效的内存管理和图像处理功能。 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 本课程首先介绍了全栈开发的最后一公里为何重要,并详细探讨了搭建线上生产环境的关键步骤。随后,通过五个本地Node.js项目的实战演练,逐步展示了从快速构建纯静态简易站点到复杂应用的全过程,涵盖了环境配置、代码优化、性能调优等多方面内容。 ... [详细]
  • 如何在MAC上配置Python和Appium开发环境
    一、需要安装的软件二、下载安装步骤2.1、安装jdk2.1.1JDK下载地址:https:www.oracle.comjavatechnologiesjavase-download ... [详细]
  • phonegap实现进行本地存储办法介绍
    web前端|H5教程phonegap,本地存储web前端-H5教程下面小编就为大家带来一篇使用phonegap进行本地存储的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做 ... [详细]
  • [译] 第二十四天:Yeoman Ember缺失的指南
    前言到目前为止,这个系列我们探讨了Bower,AngularJS,GruntJS,PhoneGap,Meteor,Ember和TimelineJSJavaScript ... [详细]
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社区 版权所有