發表文章

目前顯示的是有「設計架構類-SAM-前端架構詳述」標籤的文章

自救必看三大準則

SAM模式:构建函数响应式前端架构过程中学到的经验

圖片
在不断发展的JavaScript编程领域,响应式编程技术正变得愈加流行。这一系列文章试图向大家介绍该方法目前的进展,介绍各种可用技术,以及该领域产生的变化。从Elm等新语言到Angular 2对RxJS的支持,无论从事什么工作的开发者均有相关新技术可供使用。 InfoQ的这篇文章已包含在“ 响应式JavaScript ”系列文章中。你可以订阅 RSS 并在内容更新后获得通知。 主要结论 前端架构师正在快速向着函数响应式(Functional reactive)的模式跃进。 函数式HTML、单向数据流或单态树(Single state tree)是该模式的重要元素。 RxJS和不可变性的作用被高估了。 SAM模式的不同之处在于,它主要专注于恰当地实现“应用程序状态突变”。 我们可以使用自己惯用的Web框架实现SAM。 这种情况下,前端架构师正在以为函数响应式模式为目标经历一次重大的转型。各种框架、库,甚至语言层出不穷,它们试图通过积极主动的竞争领导此次转型:现代化用户体验要求所用架构不仅要能持续“响应”用户输入,而且要能对不同类型的环境(好友和玩家、物理传感器、优步司机抵达乘客上车位置的方式…)做出响应。GUI通过进化已成为广泛、动态的分布式系统中的一个节点,因此会受到从并发到组件失败等各种系统 复杂性 的影响。 React/Redux Elm Cycle.js Angular 2 Vue.js Om MobX Inferno DART Jean-Jacques今年二月发布的 一篇文章 中描述了一种受到React.js和TLA+启发的全新函数响应式模式: SAM模式 。 SAM建议将图形用户界面底层的业务逻辑分为三个概念:操作(Action)、模型(Model)和状态(State)。操作向模型供值,仅模型可以接受这样的值。一旦接受,将通过状态验证所有订阅方,尤其是视图(视图可看作“状态的具体呈现”)已经获得通知。每个事件可作为“步骤”进行处理,步骤可由提议/接受/学习流所组成。这种概念为事件排序和效果(如后端API调用)的处理提供了一个坚实的基础。 SAM的使用不依赖具体框架,共同打造这一模式的很多社区成员 1 也陆续开发了一系列 开发者 工具 ,并通过不同框架编写了大量 范例代码 ...