大家好,我是李俊辉!如果您觉得文章有用,请帮忙点个赞或关注,也为我鼓励一下,坚持写下去!
前端开发应该学习什么技术才能成为大牛?做前端开发的同学应该都知道,前端涵盖的知识面实在太多太杂,让学习前端的人有点二和尚摸不到头脑的感觉,学习了很久也不清楚自己的水平到底离大牛还差多远。
最近闲下来没事仔细思考整理了一个大牛的前端到底应该会哪些技术以及相应的匹配的薪水范围。让你对自己目前拥有的技术能力对应社会薪资价值有一个清楚的参照。同时也对前端宏观整理一下知识类别,有的同学东学一点西学一点,知识不能够成体系发展。看完这篇文章以后你会清楚的知道以后再学的任何前端技术知识是弥补了你的哪部分技术空白。
神级前端大牛应具备26类技术内容,全部掌握可以横行天下。
主要前端技术:
1、实际业务相关理论基础知识和经验(http1.1与http2.0协议区别、浏览器渲染机制、Event Loop事件队列循环机制、事件委托/代理、token / session / cookie作用及应用场景、jsScope作用域链、跨域多种实现方法、页面优化手段(雅虎35条军规、缓存知识、Gzip、preload、prefetch等)、如何线上部署
等...)
2、css布局基础知识(rem、viewport(vw vh)、less / sass、清除浮动、BFC、自适应/响应式布局、如何实现纵横比布局、flex理解和用法
等...)
3、JS语言基础知识(继承都有哪些方法、什么叫闭包及应用场景、函数防抖&函数截流、异步promise、async/await、xmlHttpRequest / ajax / fetch / axio请求数据、文件及二进制数据操作、TypeArray、websocket详细知识、canvas一些api知识、正则表达式
等...)
4、常用框架(vue、vue-router、vuex、react、react-router、redux、mobx、mobx-state-tree、elementUI、iVeiw、materialUI、Ant Design
等...)
5、测试框架(jest、mocha
等...)
6、构建与部署(webpack、gulp
等...)
7、Git版本控制使用(git基础命令,GitHub Actions工具
等...)
8、动画相关知识(css animator 、requstAnimationFrame、动画库
等...)
9、算法知识相关内容(冒泡排序、快速排序、各种排序、字符串模糊查询
等...)
上面的主要技术内容全部掌握后,基本上可以说是一个高手了。北京上海月薪15-35K应该不成问题(视技术掌握程度+运气+自我要求+勇气+行业大环境
)。但是还想成为前端大牛,那还需要掌握下面的技术内容。
进阶前端技术:
1、多端小程序(微信小程序基础开发、公众号jssdk、Wepy、Taro、mp-vue、
等...)
2、数据可视化(Echart、D3
等...)
3、Native App原生开发(react navtive、flutter
等...)
4、eletron(桌面开发
)
5、微前端知识(多项目共同组件、多项目通信、多项目集合
等...)
6、视频直播相关(WebRTC、ffmpeg、rtsp、Rmmv直播
等...)
7、3D开发(webGL、three.js
等...)
8、设计模式(工厂模式、单例模式、观察者模式、订阅模式
等...)
9、SEO搜索相关知识(sitmap、roobot、关键词密度工具、模拟蜘蛛工具、预渲染/无头浏览器/Puppeteer、Nuxt、Next服务端渲染
等...)
10、pwa相关知识(次要,目前没有太大的需求
)
11、数据结构知识(队列、栈、链表、集合、hash表、树、图
等...),不过这个是次要的,不用花费太多精力,但是脑中要理解和实战中能够运用。
掌握了上面的主要和进阶共20项技术后,完全可以说自己是一个前端大牛了。北京上海月薪35K-60K应该不成问题(视技术掌握程度+运气+自我要求+勇气+行业大环境
)。
但是想成为神级大牛,那还不够!对,你没听错,学了这么多也还不够!!!
不属于前端开发,但是高手也需要掌握的技术:
一个神级前端大牛还需要掌握一些后端和运维相关技术,这样在你承担大型重要任务时,和其他配合团队能够沟通起来相互理解彼此的意思,不让公司团队走弯路浪费人员时间成本,快速制定出技术开发、用户体验、环境安全等相对较高的方案。
例如:如果你不懂运维基础知识,当你开发完成做线上部署时,如何告诉运维人员你的静态文件要怎么部署?缓存要怎么设置?代理如何设置?甚至有的公司需要前端自己来做持续构建和持续部署(CI / CD
),jenkins
如何配置,等等...。你自己都说不清楚,如何让运维人员理解你的部署需求? 结果只能彼此相互扯皮,大量做试验性工作,最终结果还不一定是最优方案。
所以一个真正的前端大牛,还必须掌握如下6点:
1、后端语言(python、nodejs、koa2、Express、阿里Egg、Nunjucks、Ejs
等...)
2、服务器软件(Nginx、Apache
等...)
3、数据库语言(mangoDB、mysql
等...)
4、GraphQL api
查询描述语言,精简api数据精准查询,Restful api
查询标准等
5、 AST / DSL
抽象语法树相关内容,可写插件及虚拟机编译器等
6、运维相关知识(linux基础、jenkins自动化部署、Docker、K8、容器
等...)
除了上面提到的技术内容,在此基础上还有一项更重要的,就是丰富的开发经验、业务案例、大厂经验、团队经验、管理经验等。
好了,以上就是李俊辉为您整理的神级前端大牛必会的26类技术,但是现实中不一定非要按顺序学习掌握,完全可以学习基础知识、部分框架,学习微信小程序,学些后端,学习nginx等来应对工作中的实际情况,也一样是一个高手,但是神级?还是都掌握吧,北京上海月薪60k-120k不成问题(视技术掌握程度+运气+自我要求+勇气+行业大环境
)。
顺便说一下,写文章真累呀,还浪费时间,真佩服那些写长篇幅文章贡献社会的人。不过也为自己又重新整理了一下思路,还能有大大的满足感。
如果您觉得文章有用,请帮忙点个赞或关注,也为我鼓励一下,坚持写下去,在此感谢🙏!
转载一定注明出处!
原文地址:https://www.jianshu.com/p/d274104e099e
2020年2月7日 新冠状病毒期间憋在家