竹笋

首页 » 问答 » 常识 » 深度解读当代前端架构进化史,下一个趋势在
TUhjnbcbe - 2021/8/8 21:38:00
      作者

HarshalPatil译者

王强    编辑

张之栋、王文婧  早期的软件架构模式建立在有限的硬件功能上并尊重这一事实,然而,今天的情况已经变了。计算能力在不断提升,而软件架构印证了这种观点。本文从经典MVC说起,详尽解读了当代前端架构及下一阶段的展望。对于前端工程师,以及想从宏观层面理解现代Web应用程序架构的Web开发人员来说,均能从中获益。

软件架构的核心思想,就是推断软件系统各个组件之间数据流动的方式。

软件架构的质量取决于你设法推断这些数据流的难易程度!

本文要讲的内容,就是在今天的Web应用程序背后探索这些数据流和最终的体系结构。Web应用已从简单的静态网站(双层结构)发展为复杂的多层次、SPA和SSR驱动的API优先系统。CMS系统已发展成无头(Headless)和内容优先的系统。

近年来,前端社区的面貌日新月异。早年流行的是jQuery引入的DOM注入算法,其很快被基于MVC的Backbone.js所取代。之后一夜之间,我们就身陷于双向和单向数据流架构的丛林之中。我们的成长足迹在某处中断了。曾几何时沉浸在MVC的世界是如何突然进入React开创的单向数据流时代的?它们之间有什么联系?随着本文的展开,我们将尝试解开这个难题。

虽然本文针对的是前端工程师,但想要从宏观层面理解现代Web应用程序架构的Web开发人员都能从本文中获益。软件体系背后有着大量活动——流程、需求收集、部署拓扑、技术栈等等,但那些已经超出了本文所涉及的范围。

    必要的前置知识——什么是计算机?  

计算机是一种从用户收集数据/信息,并立刻或稍后将处理过的数据/信息提供给用户的机器。计算机如何收集和展示这些数据呢?它使用软件应用来实现这一目的。

软件架构的关键是提供合理的手段来组成软件,同时保持一切井然有序。

这里的关键在于,软件应用正在处理的数据被称为模型或应用程序状态。一些勇士可能将其称为应用程序的域模型或业务逻辑。应用程序可以是桌面端也可以是Web端。

本文的宗旨是探索向(Web前端的)用户表示这种应用程序状态的合理方式,同时让一切井然有序。我们将探索数据如何从模型流向视图层,仅此而已。

    经典MVC——起源  

将数据与表示分离是(Web端和桌面端)图形用户界面的核心思想。对于MVC——模型-视图-控制器来说,将表示(视图)与

1
查看完整版本: 深度解读当代前端架构进化史,下一个趋势在