我们可以把web前端学习路线比作游戏中的段位上分,在不同的分段都有自己的定位和要锻炼的事情:
一、倔强青铜 - 从零开始小学生:怀着满腔的热血,看到了这一个行业的希望和未来,准备开始学习 Web 开发知识。
1、先通过 w3cschool 等免费学习资源把 HTML、CSS 和 JavaScript 的基本操作学会了
2、写一个简单的表白页面送给你的女/男朋友,展示一下自己努力的成果,如果没有就当我没说
二、不屈白银 - 懵懵懂懂初学者:懂得如何使用 HTML、CSS 和 JavaScript 三大件来实现基本页面开发功能
1、选择一个可以覆盖多种场景、可以随自己意愿调整难度的项目尝试实现,如博客系统、记账本、Markdown 编辑器等
2、从 React 和 Vue 这两个框架中选择一个进行学习
三、荣耀黄金 - 轻车熟路新玩家:懂得使用框架来实现上面所举例项目
1、学习 Redux、Vuex 或者 MobX 等状态管理工具,并将他们使用到前面的项目中
2、思考状态管理工具为你的项目带来了什么好处
四、铂金 V - 初出茅庐新司机: 懂得如何使用脚手架创建项目,并且能将代码结构根据模块化的思想进行安排
1、学习 TypeScript,对前面的项目进行重写,注重对数据结构和类型的控制
2、学习 Node.js,试着配合数据库实现一个比博客系统更为复杂的 CMS(内容管理系统),如 图书馆管理系统、仓库管理系统
五、铂金 I - 基本上手好司机:如果是懂得如何利用 Node.js 或 TypeScript 编写业务代码的
1、思考在前面使用框架开发的项目中,有哪些代码是重复冗余的,有哪些逻辑是可以在多个组件之间共用的
2、学习利用 ES2015 或更新的 JavaScript 标准,逐步替换使用框架所编写的代码
六、永恒钻石 V - 淡定自然老司机:如果是对逻辑抽象、模块封装有了一定的理解和经验的
1、思考如何使用纯 JavaScript 对业务组件中的非渲染、非 DOM 相关代码进行抽象
2、引入单元测试工具,对纯逻辑代码进行测试,争取覆盖率达到 80% 以上
七、永恒钻石 I - 赛道新手初学者:如果上面的条件你都已经满足了
1、思考不同的代码哲学(OO、FP 等)、不同的代码结构(MVC、MVVM 等)的区别
2、思考不同的框架之间设计的初衷,思考不同的编程语言中对同一类问题不同解法的区别
到这里我划了一条从 0 到高级前端工程师级别的纯技术路线。相信有不少有经验的同学会发现中间我省略了不少内容,但也不难发现路线中从前半段的“学习”逐步变成后半段的“思考”。
优秀的工程师除了需要有在纯技术领域的沉淀以外,还需要更多对技术、团队、ROI(投资回报率)的思考,当然这依然不足以支撑我们平稳地渡过“程序员 35 岁危机”,前面的路还有很长,钻石往上还有王者呢,谁说程序员就是青春饭碗的?加油吧,学无止境
回想起很多年前我也跟你一样是一个完全的新手,从 0 开始慢慢自学摸索 Web 开发,到现在略有成就,一路艰辛一路坚持,最终还是熬了过来,为此我建了一个Web前端学习交流群,群文件里面有我“毕生心血”,大都反应不错,需要资料的童鞋,可以私聊我,或者加我
990
179
203。竭尽全力帮助各位童鞋。