我的前端学习路径

我并不是英雄
在没有英雄的年代里,
我只想做一个人。

——《宣言》美/北岛

前言

在共同抗击疫情的时刻,呆在家里也是对人民作出贡献的时刻,也要坚持接受新知识。毕竟,这是一个变化的时代,海浪拍来拍去,没有哪个人可以永驻风口浪尖。

另一个原因是当前工作的中心逐渐向业务偏转,不再是那个可以对着试验结果反复纠错一个月/半年的人设了。跟着创业的需求,前后端,算法,人工智能,都要知道明白,那就努力咯!:)

以下记录以下最近在逐渐学习前端的过程中接触到的知识/路径,即是笔记,也希望对他人有所增益。

当前火热的两大前端阵营 React v.s. Angular

阅读文章:ReactJS Vs Angular – A Complete Comparison For 2020

总结:

  • 小型项目/实时性要求高 –> ReactJS
  • 大型项目/复杂迭代 –> Angular2
  • ReactJS仅仅是View的库(Facebook支持),其他部分需要第三方支持
  • Angular2是一个完整的框架,View/路由/表单等等都有官方(Google)支持

什么是DOM,为什么DOM这么重要?

观看视频:DOM 是什么?

总结:

  • 网址 –> DNS –> IP地址 –> TCP/IP三次握手 –> html代码返回client端
  • html代码 –> DOM构造 –> CSS布局 –> browser绘制页面
  • 文档流(Document Object Model, DOM)与网页之间的关系,其实就是将一维节点映射到二维空间的关系

MVC架构 v.s. MVVM架构

阅读文章:MVC,MVP 和 MVVM 的图示

总结:

  • MVC(Model-View-Controller)单向通信,View 非常厚,业务逻辑都部署在 View
  • MVP(Model-View-Presenter)双向通信,View 与 Model 不发生联系,都通过 Presenter 传递,View 非常薄,”被动视图”(Passive View),Presenter非常厚,所有逻辑都部署在那里,Presenter可以看成原先的Controller
  • MVVM(Model-View-VIewModel)双向通信,类似MVP,用ViewModel取代Presenter,采用双向绑定,View和ViewModel的改变实时映射到彼此上

渐进式网页应用(Progressive Web App, PWA)

progressive-web-apps

总结:

  • Google 在2016年提出的概念,2017年落地的web技术
  • PWA作为一种思想和概念,目的就是对标原生app,提升Web网站的安全性(Reliable),性能(Fast),用户体验(Engaging)等方面指标,用户对网页的体验达到和APP相差无几
  • 黑科技,追寻极致的优化