vivipure/blog

工作三年,我对前端领域的困惑

Opened this issue · 0 comments

写在前面

今年是毕业的第三年,也是我从事前端开发的第三年。相比于刚毕业时用 Vue 都不太熟练的新手,现在的我可以算的上是一名靠谱的前端开发。对于前端这一领域,我也有了一些自己的思考。

学习

内卷这个词语是近几年的热词。作为程序员,我从技术网站,社交平台经常会接收到各种渲染焦虑信息,这些信息会逼着我们内卷,学习。

我一直要求自己成为不可替代的那种技术人才,而不是 CRUD boy,为此我也做了很多努力。基本上的时间都是在学习,看技术视频,博客。但是学习真的由减轻自己的心里压力吗,能够保证自己未来不失业,不35岁送外卖吗?

其实不能!至少对于我来说是不能的,我依旧感觉到焦虑,依旧对未来没有希望。我会因为技术焦虑买一些课程,或者学习目前根本用不到的东西(3D渲染,C++, Flutter),但是都没有很好的学习下去。

前端的技术更迭很快,各种包管理,构建工具,语言,框架层出不穷。今天我看了这个源码,明天学会了那个工具。追逐技术的过程是比较累的。

现在的我理解到,只有真正的业务实践才是最好的学习方法, 而我更应该掌握的是如何快速学习的能力。

比如我负责的一个移动端APP的开发需求,从技术预研,相关框架和语言学习,到后面同步给同事学习,快速开发业务。整体的时间花费是比较少的,因为我知道了如何快速的去学习。

关于学习的方向,我现在是比较明确的。JS/TS 编程语言精通,UI框架熟练掌握,扩展自己移动端原生开发的能力,熟悉后端的技术。总的来说就是 前端有深度,技术有广度。

和后端的比较

很多人说前端是娱乐圈,没有什么技术门槛。刚入门时我听到还是会有点不开心的,觉得自己的工作被人贬低,而且作为非科班出身,不可避免会有不自信的心态。

而对于现在的我来说,我反而庆幸前端的门槛低。我能通过自学快速的找到一份前端的工作,而且在工作中获得持续的成就感。到现在三年了,我在工作中获得的成就感从未中断。

后端的确比前端复杂,后端的开发体验和开发流程十分的完整,工业化程度十分的高。前端其实起势也就这十几年,JS变成一门还算可以的语言也就这几年。而且对于多人维护的项目来说,JS算不得上是好语言,灵活的优点带来的缺点更多。还好我们有TS, 我可以自信的说,TS 改变了前端。

可能对于很多项目来说,复杂的业务逻辑都由后端来处理,前端做的都是一些页面交互,没有含金量。对也不完全对,用户交互在我看来和功能来说一样重要。很多时候产品想的和用户实际使用的根本对不上,交互是产品和用户交流的第一线,好的交互有利于成就伟大的产品。前端平时开发时也应该多想想交互,把自己作为第一个测试和用户来体验产品。写出恶心人的交互是对前端工作的侮辱。

对于现在的前端,其实业务逻辑也不简单。我做过业务包含编辑器,大部分的业务逻辑都在前端。后端的业务只有数据存储和文件写入。而且现在很多在线文档,笔记或者其他工具,它们的前端业务也很复杂。桌面应用网页化是潮流所向,所以前端不仅只有页面,我们的未来是一篇蓝海。

我的困惑

前面讲了很多东西,现在我讲一下我的一些疑惑点吧,希望未来的自己能够解答这些问题

  1. 组件和样式的边界在哪里,如果只是样式一致,有必要抽离成组件吗?
  2. 很多开发都渐渐变成了 chrome 前端工程师,这种趋势好吗?
  3. CSS的兼容问题,如果一种写法有 90% 的用户显示正常,是否需要对10% 写更多的hack代码?
  4. utility css 类框架例如 tailwind css 变得流行,但是开发的代码如何去维护?