学习方向

前端的技术每年都发生变化,最近听到有同学说“学不动了”,其实我觉得当你学习到一个深度的时候会发现很多技术都是相通的,这就是我们说的“万法归一”,看完下面技术归类后再也不用担心前端学习哪个框架,到底用sass还是less,后端用什么语音了。。。

关于「如何取舍一些技术」:

无论使用的是什么技术,往上走必然会走到一个更高的抽象层面,这个时候所有「变化的表象」就 merge 成了「根不变的基础」:

  • Domain-specific (领域特定) 的有一大堆 spec 规范
  • TC39 的 ECMAScript、
  • IEFF 的 HTTP、
  • W3C/whatwg 的HTML/CSS/WebAPI
  • 框架「特征」的MVC/MVP/MVVM/Flux、数据流、状态管理、广义的「脏检查」、广义的「脏更新」等等)

计算机科学的划分

  • 「编程语言理论」(类型系统、运行时、OOP/FP/FRP 等范式)、
  • 「系统」(比如 GUI 并发、网络 IO 的并行与并发、各种缓存)、
  • 「图形学」(渲染/动画/可视化的实现与性能优化)、
  • 「软件工程」、
  • 「数据库」、
  • 「安全」…… 所谓「条条大路通罗马」,有句话叫「有造轮子的能力和不造轮子的觉悟」,我觉得对很多技术则可以抱着「有学轮子的能力和不学轮子的觉悟」来看待。