跳到主要内容

Blocklet Server 功能更新:支持应用组件的 PWA 集成

Hang Zhang
Blocklet Server

在最新版本的 Blocklet Server 里,我们刚刚添加了对 渐进式 Web 应用(Progressive Web App,简称 PWA)的支持。

渐进式 Web 应用是一个使用 Web 平台技术构建的应用程序,但它提供的用户体验就像一个特定平台的原生应用程序。它像网站一样,PWA 可以通过一个代码库在多个平台和设备上运行。它也像一个特定平台的原生应用程序一样,可以安装在设备上,可以离线和在后台运行,并且可以与设备和其他已安装的应用程序集成。

为什么要增加 PWA 集成

更快的用户体验:在有时候网络环境比较差的情况下,切换页面的时候通常需要等待一段时间,PWA 可以改善这一情况,通过预加载整个应用,使得应用在切换时无需再通过网络请求去加载资源,能够大大提升打开页面的速度。

离线使用:一些支持离线使用的应用通过 PWA 可以在没有网络的情况下,正常访问和使用应用。

您可以在这里了解更多关于 PWA 技术的标准和介绍:

渐进式 Web 应用(PWA) | MDN

在 Blocklet 中集成 PWA 的优势

启用 PWA 后,Blocklet 可以直接安装在系统桌面上,像本地应用程序一样运行。它还支持离线使用,即使没有网络连接也可以访问。Blocklet Service 提供了一整套便捷的功能和属性,旨在简化组件与 Service Worker 代码的集成,从而增强渐进式Web应用程序(PWA)的开发和部署。通过提供一个强大的框架,Blocklet Service 简化了管理离线功能、缓存策略和后台同步的过程,这对于创建无缝且可靠的用户体验至关重要。开发人员可以利用这些工具高效处理网络请求、管理数据存储,并确保应用程序在低连接或无连接环境中仍然响应和功能正常。此外,Blocklet Service 包括详细的文档和支持资源,使得无论是新手还是有经验的开发人员都能轻松自信地实现 PWA 功能。

我们通过集成渐进式Web应用程序(PWA)功能,增强了一些最受欢迎的 Blocklet,例如 Pages Kit 和 Discuss Kit。这意味着,当您将这些 Blocklet 集成到您的应用程序中时,它将自动受益于 PWA 的高级功能。这些功能包括性能提升、离线功能以及像本地应用程序一样安装在用户设备上的能力。因此,您的应用程序将提供更无缝和吸引人的用户体验,具有更快的加载时间,并且即使在没有稳定互联网连接的情况下也能运行。此外,用户可以像访问其他应用程序一样,直接从主屏幕访问您的应用程序,提高了可访问性和用户参与度。

在下文中会详细介绍在 Blocklet 中如何集成 PWA。

具体的改进有哪些?

Pages Kit 全站缓存

目前,已经实现了对 Pages Kit 所有公开页面的预缓存。意味着只要打开过 Pages Kit 一次,此时你的网络状态较差,丝毫不会影响打开其他 Pages Kit 页面的速度,甚至在没有网络的情况下,也能够正常访问。

Discuss Kit 动态缓存已打开过的页面

Discuss Kit 中的数据是海量的,全部执行预缓存是不太可取的做法,更好的方式是进行动态缓存,即只缓存访问过的页面。

默认情况下,Discuss Kit 的列表页、博客首页、文档首页、书签首页都会进行预缓存,在 Service Worker 安装成功的前提下,你可以无视网络因素直接访问列表页、博客首页、文档首页、书签首页。

在后续访问了某个帖子的详情后,详情页会被立刻缓存,此后你再次打开当前详情页时,速度会比之前更快。如果恰好你的网络出现了异常,也不会影响访问这个帖子的详情。

如何体验 PWA 的能力?

在近期我们将会为所有 ArcBlock 官方的服务开启 Pages Kit 和 Discuss Kit 的能力,目前已经可以再官方的主站和官方的社区站点体验这些特性。 欢迎您来亲自体验一下看看能否感觉到一些不同!

欢迎来到 ArcBlock!

ArcBlock Community

如何开发带有 PWA 能力的组件?

Blocklet Service 支持 PWA 带来的最大价值是任何基于 ArcBlock 开发的应用都可以很容易就添加 PWA 的支持能力,我们尽可能让这个过程非常简单。

请参考官方的文档,可以快速的将现有的 Blocklet 增加 PWA 能力:

未来的计划

后续我们将逐步增强 PWA 在所有 Blocklet 中的实践,不断优化 PWA 的配置,增强 Blocklet 的使用体验。

帮助我们改进

如果你在使用过程中有任何需求、建议或问题,你可以访问 ArcBlock 社区 提供反馈。 我们将尽最大努力帮助你。此外,如果你的反馈被选中用于我们的 漏洞悬赏计划,你将获得 ABT 奖励。

ArcBlock Community

音频版概述

本页涉及

产品

  • Blocklet Server superseded

    把 blocklet 作为子进程托管的服务器。这项工作在 ARC 里继续;子进程托管这个模型不再往下走。