当前位置:首页 » 《关于电脑》 » 正文

前端个人发展展望

17 人参与  2024年10月18日 13:20  分类 : 《关于电脑》  评论

点击全文阅读


作为一个入行5年的前端人,在现在大环境越来越差的情况下不得不考虑未来的各种情况的规划,直面现实,不再接受原地踏步,以下是我个人整理的一些前端的自我提升的方向。

1. 面向业务,提升管理能力

在我看来这个方向也是目前最适合当下社会发展的道路,作为一个程序员,如果只是单纯的写代码对业务没有任何了解,是很容易就被公司优化掉。了解业务有两个大致的发展方向,一个是提高自己的管理能力,做项目组长或者是项目经理负责项目管理和团队协作,第二个就是提升自己的工程化能力,努力向技术总监(CTO)方向靠拢,负责技术决策和公司技术战略。即使没有向这两个方向发展的意愿,提升你自己对业务的理解,也能更好地参与到团队合作中,在小组讨论技术方案时提升你自己的存在感,降低被优化的可能性。

2. 针对专业领域,深度挖掘某一方向

前端有一些不是非常普遍,但是一旦用起来又需要有非常专业水平的技术方向,例如WebGUI,WebGIS,WebGl、数据可视化或者是游戏开发等方向。这些方向上虽然都是使用js脚本语言,但是开发的技术需求与日常的web开发大相径庭。
例如,webGL需要开发人员掌握一定的数学知识,对于向量、线性代数的学习,对于webGL的开发有很大的帮助。webGIS的地图开发同样需要一定水平数学知识,对于解析几何的了解也是非常有帮助的。如果上面这两个用的解析引擎还是V8等相关浏览器引擎,那么游戏开发这种几乎完全脱离了常规的前端开发,不再需要浏览器上下文,没有html和css,使用游戏引擎来解析代码,这可能需要开发者花费更多的时间来进行学习和适应

3. 面向技术,深入代码

与上述的专业领域划分不同,我把深入研究的常规技术可以研究的方向作如下的区分:
3.1. 前端性能优化
这个方向需要开发人员深入研究所使用的前端框架,了解并深入学习其中的的渲染原理,同时要兼顾对浏览器机制的学习,前端代码与浏览器的关系,就如同后端代码与操作系统的关系。但是,我目前遇到的真正需要前端性能优化的场景并不算多,如果是一个常规页面中包含的组件和浏览器事件真的多到需要进行专门的优化的时候,可以考虑重新设计代码架构与渲染优化的选择平衡。还有就是对http协议的学习,对于请求缓存和大文件传输以及websocket的学习。
除此之外,使用诸如WebAssembly和WebGPU之类的新技术,webassembly放在全栈转型部分。
3.2. 前后端兼顾,转型全栈
尽管前后端分离已经有些年头了,现在的前端技术栈也是越来越多,越来越复杂,但是仍然有相当部分的公司,不能明确前后端责任分工,有一些小公司、小项目仍然采用了前后端通干的分工,所以这个时候懂得一定的后端知识,能够独立完成一个项目的前后端搭建是非常重要的。
即使是在一个前后端分工明确的公司项目组内部,学习数据库和服务器知识对我们定位问题也是非常有帮助的,况且还有上面提到的WebAssembly技术,可以使用c++等高性能语音编写一些工具函数,在前端项目中以.wasm文件引入,对于一些大数据的处理可以在浏览器阶段节省相当的时间。
目前,现在服务器渲染(SSR)的兴起,甚至react19直接操作数据库的模式,也要求前端从业者对服务器和数据库的知识有一定的了解。
除此之外,抽象语法树AST在学习编译原理时候的知识,对于前端的工程化例如eslint、webpack、babel、typescript等也是使用了同样的原理。其他的诸如设计模式、aop、工程化思想都是他山之石可以攻玉的学习思路。
3.3. 前端工程化
现在前端工程化也是非常重要的一部分,除了项目的打包部署,针对webpack、vite等打包工具的学习,对于庞大项目进行微前端的项目拆分,针对于iframe和qiankun微前端的学习,以及自动化脚本CI/CD的配置。除此之外,类似于eslint代码检查,以及提交代码和commit-msg的git hooks,因为牵扯到项目的部署,对于nginx、redis和docker也要进行相关内容的学习。

4. 学习分享和开源项目

在工作中遇到的问题及时梳理,编写成个人博客,或者是建立自己的个人网站,来记录和分享这些解决问题以及学习的思路,如果有时间,整理成系统的学习系列甚至录制成视频资料,对于个人的提升也是巨大的。费曼学习法提到教别人学习的过程就是自己最好的学习,在这个分享的过程中不仅可以帮助你个人进行知识巩固,更大的一个好处是可以结识更多志同道合的伙伴,在这个过程中来提升自己的知名度和履历。
同样的,把自己在项目中总结的一些轮子,简单到一个eslint好用的规则集,复杂到可以是一个完整的技术栈,把这些东西整理成开源项目上传到github或者是npm镜像仓库,是对个人技术力的一个挑战,同时还兼顾了贡献社区以及自我宣传,如果有可能可以放手大胆尝试。

5. 面向交互,提高UX设计和UI设计

目前我的工作经历中,很少有公司会在交互上大费周章,很多公司甚至没有提供专门的交互设计师的岗位,就算是有一些交互设计师本身也只了解一些简单的交互和动效,但是在我看来,尤其是2c的项目,页面的ui和ux都是非常重要的一部分,代码要像写诗一样优雅,页面也应该成为艺术品的一部分。在这里我贴一些我个人见到的比较优秀的页面交互和页面设计,如果有同好可以在评论区分享你见到的优秀网站。
harlanzw.com/
daily.dev/
UX/UI演示学习
另外,我本人计划写一个关于css魔法的系列博客,目前由于电脑太垃圾gif截图会导致浏览器和VScode崩溃,等回头换了新电脑再继续更新。


除了上述前端的学习方向,对于一些脚本和大模型的学习也非常关键,可以非常大程度提高我们工作和写代码的效率,无论是针对于每天固定的日常工作,或者是写一些固定模板,包括阅读别人的屎山代码都是非常有帮助的,如果读者大大有什么好的学习思路欢迎在评论区里补充讨论,愿命运与你我同在!


点击全文阅读


本文链接:http://zhangshiyu.com/post/173608.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1