真诚分享,前端从初级到高级如何系统化学习
前端现在发展特别快,往前倒推 5 年那时候还是 jQuery 的天下,现在已经变成 Vue / React 的天下,前端除了画页面写后台之外,能力范围还拓展到了服务端 BFF(Backend for frontend 服务于前端的后端)、可视化、低代码、端智能等多个技术方向,所使用的技术语言也从 CSS、HTML、JavaScript 拓展到了 Node.js、TypeScript 等。
从上面来看的话,前端需要学习的东西很多,不过也不用急,路要一步一步走,技术也是,需要有一个学习的过程。
初入初级
何为初级,就是刚刚接触前端没几年,学会使用 CSS、HTML,知道怎么调用 API 完成基本的功能,会一些 ES6+ 语法,看过现在主流的 Vue / React 框架,但是深入一点问原理就懵懂不知。
这个阶段推荐看《JavaScript Dom编程艺术》《CSS 世界》《JavaScript 语言精粹》《ES6 标准入门》这些书,网站推荐《MDN》、《阮一峰的网络日志》,另外看书有个技巧,当你看不下去的时候,说明后面还不适合你,看不下去就换本书看,或者过段时间再看,那时候会发现容易理解一些。
初级阶段的话,可以完成分配下来的工作,但是这个过程还需要别人的帮助。如果你是初学前端或者刚开始工作没多久的小伙伴,那这段时间只能拼一拼。很多东西不是一上来就能变得很厉害的,需要时间去打磨,需要不断的看书不断的敲代码。
前端我也是自学的,我当初从初级往上走就是拼命的看书和学习,那段时间晚上回去比较晚,周末还会去公司或者图书馆去学习,那段时间也是坚持了很久才找到点感觉。
渐入中级
想要达到中级需要掌握 JavaScript 高阶用法,除了高阶之外,网络基础、浏览器知识、安全知识和设计模式等都要学好,细化下来的话,知识点特别的多。
JavaScript 高阶用法
作用域、this、原型、节流防抖、异步等 网络基础
UDP、TCP、HTTP1.0、HTTP1.1、HTTP2.0、HTTP3、HTTPS 浏览器知识
事件机制和事件循环、缓存机制、跨域、浏览器渲染原理 安全知识
XSS(Cross-Site Scripting 跨站脚本)、CSRF(Cross—Site Request Forgery 跨站点请求伪造)、JWT、加密加签 设计模式
单例、工厂、观察者、适配器等
另外你去面试的时候,有的公司会说有 Node.js 经验更优,其实现在 Node 已经成为标配了,平常还是要多学学这块,很多地方都会用到。
推荐的书有《JavaScript 高级程序设计(第四版)》、《你不知道的 JavaScript(上中下三卷)》、《狼书-更了不起的 Node.js》、《JavaScript 设计模式与开发实践》
一般中高级可以独立完成项目,可以高效的排查问题,做到自主交付,会思考如何提升效率,考虑代码的优雅性复用性,方便之后的业务快速复用。
迈入高级
我理想中的高级前端拥有完整的基础知识体系,熟悉工作上使用到的框架原理,懂得数据结构和算法知识,除了这些知识的掌握之外还要有技术主动性,在工作中主动去做工程化开发以及性能优化。
Vue/React 框架原理 Webpack 数据结构和算法 性能优化
推荐的书有《重构-改善既有代码的设计》、《深入浅出 Vue.js》、《深入 React 技术栈》、《学习 JavaScript 数据结构和算法(第3 版)》、《JavaScript 框架设计(第 2 版)》
工作中肯定会用到框架,那框架真的掌握了吗?最新的特性、设计理念这些是否了解。要知道任何事物的出现必有其缘由,作为程序员要保持一颗好奇心,多问问自己 WHAT/HOW/WHY。
高级更多的不是学会了什么,而是思维上的不同,转变思维后持续精进后能带来质的飞跃。懂原理、知体系、明优劣、爱探索是高级的一些特征。
前端市场行情
前端前景是很不错的,但是前端的入门门槛很低,有很多人自学转前端,还有很多培训机构也是各种主推前端培训,然后前端技术更新迭代又比较快,所以前端这个行业的程序员比较多,而且大部分还是初中级阶段。就市场而言初级前端供大于求,可以说越来越卷,但是高级前端依旧供不应求,本质是因为企业的发展速度大于前端工程师的平均成长速度。
前端目前主要的业务方向是做 H5、小程序、中后台管理系统等,同时有的公司还会用到 BFF。如果只是完成工作的话,中高级水平就差不多了,但是去面试的话,好公司还会考察候选人的潜力、沟通能力、对高级知识的理解和掌握等等。
最近也一直在招聘,整体来说高级的前端很难招,主要还是市场上大部分都是初学者,但是满足条件的人并不多。其中最重要的还是能力要对标,当你能达到高级的水平,找个好公司好工作还是问题不大。所以优秀的前端工程师一直都会成为市场争抢的资源。