迷你应用编程方式

Thomas Steiner
Thomas Steiner

哪些在迷你应用上表现良好

在本章中,我想回顾一下从 Web 开发者的角度研究迷你应用的经验,或者回答以下问题:以迷你应用开发方式意味着什么。

组件

您无需进行重复性操作,让开发者为标签页、手风琴式折叠、轮播界面等常见界面范例再构建一种新的实现方式,迷你应用只提供一系列默认组件,您可以在需要更多组件时进行扩展。在 Web 上,同样有很多选项,其中一些选项已在迷你应用组件章节中列出。 在理想情况下,Web 组件库的构建方式可让您自由混合这些组件库。在实践中,使用组件时,会有一些设计系统受制于特定供应商;或者,组件库以全部或零的形式分发,但没有任何一个组件能轻松添加到项目中。不过,您可以单独使用原子组件,或者故意设置未设置样式的通用组件等库。我觉得要去使用这些模型是个好主意。

模型-视图-视图模型

模型-视图-视图模型 (MVVM) 架构模式有助于将通过标记语言开发图形界面(视图)与后端逻辑(模型)开发相分离,这意味着视图不依赖于任何特定的模型平台。虽然此模式有一些记录在案的缺点,但一般来说,它非常适用于迷你应用复杂性的应用。 它在与丰富的模板库配合使用时尤为突出(请参阅下一章)。

页面式思考

调试迷你应用显示它们本质上是多页应用 (MPA)。这样做有很多优点,例如,它支持简单的路由,可以实现无冲突的每页样式。人们已在渐进式 Web 应用中成功应用 MPA 架构。采用网页思维模式还有助于管理资源(例如每个网页的 CSS 和 JavaScript 文件)以及其他资源(例如图片和视频)。 最重要的是,以这种方式构建意味着,如果您不加载任何其他内容,可以免费获得基于路由的代码拆分。在这种情况下,根据定义,每个网页只会加载正常运行所需的内容。

构建流程

迷你应用没有可见的构建流程。在 Web 上,Snowpack 等现代构建工具利用 JavaScript 的内置模块系统(称为 ESM)���免不必要的工作,无论项目规模如何,都能保持快速运行。虽然 Web Bundle 等技术尚处于早期阶段,但可以轻松添加到构建流程中。

强大的功能

Web 平台最近获得了许多新功能。现在,可以通过蓝牙USBHIDserialNFC 访问设备。如果迷你应用在 WebView 中运行且依赖于 JavaScript 桥,那么在 Web 上,这些强大的功能可以直接使用,因此您不需要针对 JavaScript 桥接提供的 API 进行编程,而是针对没有中间操作者的浏览器 API 进行编程。

致谢

本文由 Joe MedleyKayce BasquesMilica MihajlijaAlan Kent 和 Keith Gu 审阅。