HTML5 只是“技术栈”的一部分
HTML5 实际上不仅仅是一样东西。从最严格的意义上讲,HTML5 是 W3C 规范对用于创建网页的标记语言的第五次重大修订。
但在实践中,HTML5 远不止于此。对于开发者来说,HTML 是一波正在发展并逐渐获得浏览器实现的技术,其发展时间线与标记语言本身大致相同。许多相关技术由 Web 超文本应用技术工作组 (whatwg.org) 带头推动,但此类别的其他技术则来自其他地方。例如,Web 应用的 3D 渲染引擎 WebGL 由 Khronos 推动,而 Mozilla 的 WebAPI 团队 则领导着一系列相关的 API 工作,包括全面的设备特定 API。而 W3C 曾有一个设备 API 工作组
Mozilla 也在大量投资一项计划,旨在促进使用基于标准的 Web 技术构建应用程序,这些应用程序可以像“原生”应用程序一样安装和使用。
这样做可能有许多原因值得期待,其中最不重要的原因之一就是能够使用一组开发技术为许多不同的设备和平台构建大部分或全部应用程序。
开发人员已经可以构建 HTML 应用程序(借助 HTML5 的 应用文档)并将他们的应用程序提交到 Mozilla 应用商店。
应用与网页?
当人们开始谈论使用 HTML5 构建应用时,早期出现的一个问题是“应用和网页有什么区别?”
这个问题有点难以回答,因为答案的范围非常广,所有答案都可能是正确的,但可能完全不同。
虽然你的 HTML5 应用应该不仅仅是一个简单的 HTML5 网页,但从技术上讲,它不必如此。使用指南“HTML5 应用入门”中概述的步骤,你可以简单地创建一个应用清单文件并将你的 HTML 网页提交为应用。
当 Open Web 应用运行时,Mozilla Web 运行时会安装 HTML5 标记和所有其他使用 HTML5 缓存清单指定(在此阅读)的 Web 资源的本地副本。
如果网页是动态生成的,如 ASP.NET、PHP 等应用程序,则任何缓存版本都表示某个时间点的快照。当提交为应用时,该网页实际上“变成”一个应用,获得类似于主机操作系统上原生应用的启动器项。当启动应用时,如果不存在互联网连接或缓存机制确定自上次下载以来资源没有更改,则会使用本地资源。
通过上述操作,我们没有为应用程序添加任何其他功能。我们通过声明网页为应用所做的全部工作,就是让运行时在本地复制这些位并运行这些本地位,如果设备脱机或位没有更改。
这能给我们带来什么?
仅仅这一简单的步骤是否有价值?
是的,它为我们带来了三个宝贵的改进
- 即使用户未连接,他们也可以查看我们的网页,因为如果不存在互联网连接,运行时将呈现缓存版本。
- 来自我们的基础设施或托管的处理器周期和带宽消耗大大减少,因为只有在需要时才会获取新位。
- 性能得到提升,因为默认情况下资源在本地加载。
许多组织都从这种方法开始,因为所需的技术工作量很少,并且可以非常快速地完成。在大多数情况下,你只需创建一个应用清单文件(更多信息在此)并将应用提交到应用商店即可。开发人员可以 现在在 Mozilla 应用商店开发者提交网站提交应用,以便在今年晚些时候应用商店的“购买方”开放后,消费者可以使用这些应用。
但如果这是你对应用做的全部工作,那么你将错过机会。
查看 https://caniuse.cn/,了解使用现代 Web 运行时可供开发人员使用的技术的快照。
无论我们是从头开始构建真正的 Open Web 应用,还是将 HTML 网页转换为应用,然后添加现代功能,HTML5 时代的技术都让我们真正开始开发利用浏览器及其主机资源的客户端/服务器应用程序,从而减少服务器需求,同时提升最终用户的体验。
开发人员可以执行以下操作:
- 在本地读取和写入数据,并在适当的时候与服务器同步。
- 同时运行多个执行线程。
- 与其他应用程序交换内容,或与它们共享逻辑。
- 与运行其应用的设备交互。
- 触摸用户界面
- GPS
- 摄像头
- 丰富地集成多媒体。
- 以及更多……
由于应用的源代码部署到单个 URL,并且仅在需要更新时才会在运行应用的设备上更新,因此版本控制成本低且无摩擦。这使得从创建网页开始,然后逐个添加功能变得很容易。
让我们开始吧!
由于此模型使入门变得如此简单,为什么不尝试一下呢?
请按照此处的指南操作:https://mdn.org.cn/en/Apps/Getting_Started
在此处提交你的应用:https://marketplace.mozilla.org/
5 条评论