借助渐进式 Web 应用程序,您现在可以使用网络来构建成熟的应用程序。得益于大量的新规范和功能,我们可以使用网络来完成您过去需要为其编写本机应用程序的操作。然而,到目前为止,与硬件设备对话仍然是一座遥远的桥梁。借助 WebBluetooth,我们现在可以构建可以控制灯光、驾驶汽车甚至控制无人机的 PWA。借助渐进式 Web 应用程序,网络更加接近本机应用程序。然而,网络固有的额外优势,例如隐私和跨平台兼容性。传统上,网络非常适合与网络上的服务器,特别是与互联网上的服务器进行通信。现在网络正在向应用程序发展,我们也需要与本机应用程序相同的功能。
过去几年浏览器中实现的新规范和功能的数量是惊人的。我们有 电子邮件营销列表 处理 3D 的规范,例如 WebGL 和即将推出的 WebGPU。我们可以流式传输和生成音频、观看视频以及使用网络摄像头作为输入设备。我们还可以使用 WebAssembly 以几乎本机的速度运行代码。此外,尽管最初只是网络媒介,但网络已经转向服务工作者的离线支持。
这固然很棒,但有一个领域几乎是本机应用程序的专属领域:与设备通信。这是我们长期以来一直试图解决的一个问题,也是每个人都可能曾经遇到过的问题。网络非常适合与服务器对话,但不适合与设备对话。例如,考虑一下尝试在网络中设置路由器。您很可能必须输入 IP 地址并通过普通 HTTP 连接使用 Web 界面,而没有任何安全性。这只是一次糟糕的体验和糟糕的安全性。最重要的是,您如何知道正确的 IP 地址是什么。