序
为什么会发这篇文章呢? 主要是对于"前端已死"、"前端核心竞争力"等观点的深思,也是对自身不足的思考。感觉本来像是个人总结的一篇文章,越写越像对前端环境的看法,故而分享出来~
个人总结
讲道理这两年的广度学习已经差不多了,市面上绝大多数框架或多或少都接触过。
就算没接触过也大概看文档就知道怎么用了,反倒是源码只停留在Vue 和Vite 上的实现。
源码看的多了,总给我一种看了又没看的感觉。 不能说毫无帮助吧,只能说部分在开源项目开发上 可以照猫画虎。但是实际工作项目中,用了觉得杀鸡用牛刀!
一个商业的项目引入的越多开源库,越觉得很多开源库的意义并不大!随着开源库引入的越多,反倒感觉要么是团队开发规范不明确,要么改起来各种限制。
相反个人实现封装的库,能保证项目中最大的扩展性,而非面对兼容众多需求的开源库可比的!当然前提是你得开发能力不是很差。否则老老实实用人家的开源库吧。
细数发展
细数这几年的学习计划,从第一年工作使用Js、Jq "打一切",学习Js原理和高级技巧。
到第二年开始慢慢使用Vue2开发,并对各种H5有所接触,发现Seo问题,
第三年开始从广度学习,Vue3、Vite、Webpack、lodash 等库的使用,
第四年囫囵吞枣式学习各种各样的框架,遇到问题,从来没想过能否自己先解决这个问题。而是第一时间找相关库!
今年仅仅是对于一个二次封装的Table却让我感觉有些费力。
我觉得从第四年开始 学习的方向可能出现了一些问题,应该从前端的本质去思考学习方向,
前端是服务用户,并且最直观的可以让用户感受到的交互工程师。
其实评判一个前端是否具有核心竞争力也很简单,就是你开发的页面快不快、兼容性好不好、效果是否是方案最好、最流畅、性能消耗最小的!
之前的同事对于页面差几秒打开,渲染稍微慢一点,Seo不是那么好,很无所谓。
但是站在前端最开始发展的刀耕火种的时代,对于页面从浏览器的解析到页面的渲染是很看重的,卡就是卡!要求对原理和源码的理解也是从这个时间点推崇起来的!
因为那个时候大家都是Js+Jq,一个好的优化方案,带来的页面提升是很直观的。
后面好像随着单页面的流行,又把大家拉到了同一个水平线上,好像Vue的优化让我们不再在意如何优化代码带来页面的性能提升,而是在上面无脑堆加需求,以至于放弃了一个前端工程师应该掌握的一些知识点。
面试八股文背了很多遍的es6、浏览器解析 是希望真正能用到项目中而非 为面而背! 结果到了实际开发又是Vue一把梭,优化就是Webpack 做了xx、xx。
自我反思
扪心自问,所有需求的实现真的都用Vue 实现就是最好的吗?
学了这么多框架 只告诉了我一个原理,就是不管使用任何框架,性能最好的永远都是原生Js 直接写需求。
而 虚拟dom、编译时、混淆转化等我们使用开源库带来的概念,都是通过编译后最大程度保证还原Js的命令式执行,更方便的我们实现而已。
就如同旭哥所发的那篇对于前端环境思考的文章。 要么页面做的炫!要么做的又快又好! 实际上踏实下来,哪一点都是组成你核心竞争力的关键!
前端的环境不管发生怎么样的变化,但是对于个人来说,需要对比的永远不是自己在公司组内做的多好,比其他人强多少。而是对于行业对比,你做到了哪种地步! 尽管我觉得现在行业中的前端越卷越偏了...
解救之法
驻足一下原生Js 、浏览器本身、Node,远大于深究源码!
就像你实现一个进度条组件不用考虑什么设计模式的一样,就如同你学了十八路谭腿、金钟罩铁布衫,照样不如叶师傅咏春三板斧打遍天下无敌手。
代码跑在什么环境,就去了解环境原理。Vue解决的哪些东西,会在你了解浏览器环境和发展之后更通透。
想想如果Vue和React 没开源,你要怎么搭建你的前端项目呢?
说了上面并不是说,不要看源码,而是对于源码不必那么执着全懂全会,毕竟Vue也不需要你去维护。怎么提升实际项目的开发经验才是眼下该注重的。注意这里的经验 不是指代开发的年限!
技术壁垒永远不是易用框架和源码的理解。
而是当前环境下未解决的前端问题,如safari上dom过多优化。更好的动画展示。
发现问题并去区分真正需要解决的,打好底子,迎接好市场的变化。会成为你真正的闪光点!
在团队中你能分享出来什么知识点,会的多和能给别人讲清楚又是两个概念。我觉得个人提升整个团队中前端重要性的方法 要7分说的明白,3分写的好才行。
诚然如低代码和chatGPT给行业中泼了一盆冷水。但可知的是chatGPT训练仍需要时间,低代码跟进也需要迭代。发现新技术的时间,更快的实现,所带来的 信息差 更能凸显竞争力!
结尾
上面很多观点确实很主观,因为思考这个问题很久。欢迎评论里指出你所认定的前端核心竞争力~
以上就是本篇文章的全部内容了!我是阿江,下篇文章再见👋