前端 MVC 框架
- 在学习过程中,要持续保持深度和广度的均衡。要深入了解自己在用的框架,知道它的核心特性和基本原理,对于它的优势和劣势有自己的想法。也要多了解这个其他同类技术,想想他们的优势和劣势,拓宽视野,为自己能够做出合理的技术选型打下扎实的基础。
前端 MVC 的变革
- MVVM 是 MVC 的变种
- 早期的页面,都是由服务器直接生成的纯静态页面。
- 等到 Ajax 技术的成熟,代表视图的 HTML 和代表数据的 JSON 分别传输给浏览器,JavaScript 再将数据和模板聚合在一起展示,这时候的 MVC 分工开始清晰。(当时是 JQuery 和 Ajax 盛行的时代)
- 等到 React、Vue、Angular 的出现后,开启了现代 MVC 模式时代。
Angular
- 双向绑定 —— 这大大简化了复杂的绑定代码。
- 依赖注入
- 过滤器
React + Redux
- JSX 的优点
- 将呈现和渲染逻辑放到了一起
- 增强内聚性
- 测试方便
- Redux
- 复杂前端程序的一大难题就是对于状态的管理
- Redux 试图用一种统一的模式和机制来简化状态管理的复杂性,达到复杂系统状态变化可预测的目的。
- Redux 如何简化复杂的状态?
- 整个过程中,数据是单向流动的,状态被隔离,严格管控起来了。
- 不同的操作,只是 action 的 type 不同,或者上面承载的业务数据不同。
- store 中状态的改变也只有一个来源,就是 Reducer 的操作。
思考
就目前行情来说,大多数的公司都在使用前后端分离、前端使用 React 或 Vue 的框架(Angular 还是偏少,我感觉只有一些外企呆过、有 Google 情节的会去用 Angular)来写前端业务逻辑。算是一种前后端的解耦了,同时也能够将浏览器的计算能力利用起来,让前端能做的事情变得更多。
我三种框架都用过,说下自己的感受:
- Angular 国内用的少,所以国内社区没那么活跃,第三方库大多是国外的。从上手角度来说是比较麻烦的,不过真的用久了也能适应。存在即合理。
- React 和 Vue 用户量不分伯仲吧,社区也都很活跃。
- React 的话我很喜欢 JSX 的书写方式,用 JavaScript 的方式写页面很符合前端的思维方式(后来 Vue 也支持了 JSX,但毕竟不是主流)。
- Vue 的话上手最容易,中文文档也最全,第三方库也很多。算是对国内开发者最友好的框架了。
当然,也不是说任何前端都需要用框架写。一些简单的页面使用后端模板渲染、JQuery 静态页面甚至什么框架都不用的渲染都足够实现了。用技术不能看技术潮不潮,而要看实际情况决定吧。
网友评论