SAP UI5 有没有 Angular 式 Hydration,从启动链路到 DOM 生命周期的完整辨析
打开一个启用了 Angular SSR 的页面时,服务器返回的 HTML 响应中往往已经存在标题、正文、列表、按钮等应用内容。浏览器即使尚未完成 JavaScript 下载,页面也可能已经具有可阅读的结构。等 Angular 客户端运行时启动后,它不会把这批服务器生成的 DOM 全部删除再造一遍,而是尝试识别这些已有节点,把客户端组件实例、数据状态、事件处理器和依赖注入上下文重新连接到它们上面。再看一个标准的 SAP UI5 独立应用,服务器通常返回index.html、UI5 启动脚本以及一个用于承载根组件的空容器。真正的sap.m.Page、sap.m.Table、sap.m.Button、sap.ui.mdc.FilterBar或 SAP Fiori elements 页面,会在浏览器加载 UI5 Runtime、创建组件、解析视图并建立控件树之后生成。两条链路看起来都经历了框架启动、组件创建和页面可交互,但它们处理的起点不同。因此,直接结论是,标准 SAPUI5 或 OpenUI5 应用没有 Angular SSR 场景中的 hydration 过程。SAP UI5 具有 bootstrap、组件实例化、视图解析、数据绑定、控件渲染、失效处理和重新渲染等完整生命周期,但这些过程不能等同于 hydration。只有在非常宽泛的口语语境中,才可能把客户端启动后让静态页面变得可交互称为激活页面。从前端框架的严格术语看,这种说法会掩盖关键的架构差异。要把这个问题判断清楚,不能只观察页面最终都出现了按钮,也不能只看两个框架都有onInit或渲染钩子。真正

相关新闻