新应用的出色模式

深入了解新应用的出色模式的精彩合集,包括剪贴板模式、文件模式和应用模式。

无论您构建什么 - 无论是下一代视频编辑应用、令人上瘾的文字游戏还是未来的在线社交网络应用 - 您始终会发现自己需要一些基本构建块

  • 视频编辑应用可能允许用户保存编辑后的视频。
  • 您的游戏也许可以允许用户与朋友分享游戏进度。
  • 在线社交网络应用很可能允许用户将图像粘贴到帖子中。

没有实现这些模式的通用方法

这些只是一些此类模式的示例,还有更多。但所有这些都有一个共同点:没有实现它们的通用方法。

分享进度

例如,并非所有浏览器都实现了 Web Share API,因此在某些情况下,您将不得不回退到不同的方法,例如 Twitter 的 Web Intents,或复制到剪贴板,这是 方法Wordle 中选择的,当 Web Share API 未实现时。 唷,勉强搞定这个

Wordle 471 6/6

⬛⬛⬛⬛🟨
🟩⬛⬛⬛🟨
🟩🟩🟩⬛⬛
🟩🟩🟩⬛⬛
🟩🟩🟩🟩⬛
🟩🟩🟩🟩🟩

保存文件

在保存方面,首选方法是使用 File System Access API,这样您最终会得到一个 FileSystemFileHandle,它允许您实现真正的 保存、编辑、保存流程。 次好的方法是回退到经典的 <a download>,它同样可以让用户保存数据,但缺点是每次下载都会创建新文件,因此他们最终会得到 my-video.mp4my-video (1).mp4my-video (2).mp4 等。

粘贴图片

为了总结介绍性示例,并非所有浏览器都支持将图像粘贴到 Web 应用中,因此您可以回退到使用拖放 API 或显示文件选择器,这不如 Async Clipboard API 优雅,但至少它可以工作。

新模式

说完这些,新的模式部分是

剪贴板模式

剪贴板模式,适用于与系统剪贴板相关的所有内容,例如复制和粘贴各种内容。

文件模式

文件模式,适用于与文件和目录相关的所有内容;无论是保存、打开、拖放、接收还是共享。

Web 应用模式

Web 应用模式,适用于与高级应用功能相关的所有内容,例如提供应用快捷方式、定期在后台同步数据、显示应用徽章等等。

反馈

我希望这些模式能帮助您构建出色的应用,并且我期待您的反馈!您可以通过在 Twitter 上向 @ChromiumDev 发送推文或提交 Issue 来提供反馈。在这两种情况下,请标记 @tomayac 以确保我看到它。

致谢

我感谢 Joe Medley 在模式的审阅和编辑方面提供的帮助。 感谢 Pete LePageEwa GasperowiczRachel AndrewKen PascalMatthias Rohmer 为落地本项目提供的所有技术和组织支持与鼓励。 如果没有各个模式的作者(即 Harry TheodoulouTony ConwayPalances LiaoCecilia CongFrançois BeaufortJoe Medley)的帮助,整个模式项目是不可能实现的。