后端开发者是否应该学习前端技术?

发表时间: 2022-12-05 17:13

转载/鱼皮

大家好,我是鱼皮。分享 星球 里一位鱼友的提问:

问题

鱼皮你好,主要想问你一些学习方式。我想从事后端方向,但是现在后端懂前端已经是很常见的了吧。所以我想有空也接触一下前端。现在不知道前端应该从哪里入手,看了星球的知识路线挺长的,感觉应该是为前端选手量身打造的。作为后端选手,有哪些前端技能你认为应该掌握?还有就是你有没有什么书籍可以推荐?我比较喜欢看书,没有的话视频也行。

鱼皮回答

总结一下,主要是 3 个问题:

  1. 作为后端,要学习前端么?
  2. 后端要学习哪些前端知识?
  3. 后端应该怎么学习前端?

相信这也是很多小伙伴关注的问题,印象中很多小伙伴都在喊着自己要成为全栈工程师(前端后端都做的那种)。

我自己虽然侧重后端,但也一直在用前端开发项目,所以在这个问题上,可以结合自己的经历,说说看法。

1、首先,后端会前端肯定是更好的。

单看这半句话来说,就是废话。因为无论你学什么知识,肯定都是学的越多越好。

而我们要考虑的核心是 性价比 。即:后端学到什么程度再去学前端?

对于初学编程的同学来说,我更建议大家先一条路地去入门单个编程语言或方向,这有助于大家更快地做出完成的作品,提高对编程的兴趣。而且从求职面试的角度来说,对于大部分公司,可能只需要纯后端或纯前端,所以你朝着一个方向去学习一般能够更快地达到公司的要求。

现在大家也一直在说学 Java 太卷啦,要不要转 C++、要不要转 Go 等等。其实不用过于纠结,尽可能地专注一个方向,在这个方向学的比其他同学深一点,而不是反复横跳,你才会更有优势。

所以我的建议是:如果你以后端为主,在你没有达到后端的入职标准、后端知识没玩明白前,不要抽大量的时间去学前端(时间紧的话不学前端也完全没问题)。

后端同学建议学完我 Java 学习路线上的 Spring Cloud 微服务章节。

当然,如果你时间足够并且觉得自己后端学习进度 ok 了,那抽小部分时间自学前端也是很不错的。(所以想学好编程,很重要的一点就是 做好时间规划

毕竟技多不压身嘛。

从我自己的经历来看,会前端的好处是可以和前端配合 & 沟通更顺畅。可以站在更高层、全局地角度去设计项目整体的前后端实现方案。

比如我曾经和某前端同学合作时,他提出了一个方案,对我们彼此都很麻烦。后来我帮他想出了一个前后端都轻松的方案,大家都很 happy,而如果不懂前端就会被他的方案牵着走了。

此外,还记得之前我在星球直播带开发 伙伴匹配系统项目 时,给每个请求单独写一个接收参数的对象。如果不了解前端或者没和前端对接的同学会觉得这样做很麻烦。但其实这样做之后,自动生成的接口文档会更干净。前端看了才会更清晰自己要传什么参数(也更安全),对你的印象也会更好。

所以还是很建议入职之后的小伙伴,尤其是想晋升高工级别、想当 Leader 或项目负责人的朋友学习下前端,拓宽技能边界。

2、对后端开发来说,这个路可以 “短” 一点儿。

只要学习如下知识就可以了:

  1. 标准三件套和 Vue,做到能看懂代码、通过复制粘贴 + 修改完成开发
  2. Ajax 和 HTTP 协议,即前端与后端如何交互,有助于从全局的角度排查问题,划分前后端错误边界(不过后端本来就要重点去学 HTTP 协议)
  3. 了解打包工具,知道怎么构建部署前端项目

学后端的小伙伴们如果能把星球里的 伙伴匹配系统 做完,基本上前端水平就足够了,剩下的就是有空多练习。

当然,没有绝对的标准说一定要学到什么程度,感兴趣就多学点呗。但还是那句话,别搞错了自己发展的重点。

3、至于怎么学习前端,其实在我的前端学习路线里写的都很清楚了。

这里就推荐 2 个帮助大家零基础入门的资源:

  1. B 站 Pink 老师前端入门视频(很详细,适合慢学)
  2. Freecodecamp 在线代码训练(很直接,适合速学)

最后,给大家分享一套各行各业的解决方案,让你的前后端之路,能贴业务更近!