最近写 SAP Fiori Elements 和 SAPUI5 项目时,一个很容易被低估的问题是,应用到底应该依赖谁。很多项目一开始只是想跑起来,于是把初始化代码、视图创建、模型配置、业务入口都塞进index.html。页面确实打开了,Demo 也确实能演示,可是到了要部署到 SAP Fiori Launchpad、要被另一个团队复用、要做多应用套件整合时,问题就冒出来了。应用不是不能运行,而是运行姿势太依赖那个 HTML 页面了。SAPUI5 里讲Independent,不是简单说一个应用可以单独打开。更准确地说,一个应用应该像一个可以被搬运的业务单元。它可以从浏览器书签打开,可以从桌面图标打开,可以从一个普通 Web 服务器上的index.html打开,也可以被 SAP Fiori Launchpad 这样的外层框架加载。入口可以变化,外壳可以变化,真正的业务 UI、路由、模型、控制器、国际化资源和依赖声明仍然应该保持稳定。SAP 官方文档也把Component描述为 SAPUI5 应用中独立且可复用的部分,并强调它能把相关代码封装到一个单元里,让应用结构更容易维护。(GitHub)独立应用不是孤立应用