在HTML 5之前,"Web"与"在线"是两个非常类似的概念。为什么在HTML 5中引入"离线"的概念,这个概念又意味着什么?
首先,我们来看一下什么是HTML 5中的离线应用程序。一个完全离线的应用程序,是指运行在浏览器中,但是可以不在网络环境中运行的应用程序。一般来说,它们可以从硬盘、U盘或DVD中直接运行。例如,当你在参加一个会议的时候,你可以将U盘插入计算机中,然后从浏览器中运行应用程序,展示一些多媒体数据。
除了以完全离线的方式运行的应用程序之外,HTML 5中也支持以"离线/在线"方式运行的应用程序。这类应用程序可以被运行在与Web服务器建立网络连接的时候,也可以被运行在与Web服务器断开网络连接的时候。
这种以"离线/在线"方式运行的应用程序(在后文中称之为"离线应用程序")通常意味着需要将一些数据保存在客户端本地。这些数据可以是一些与用户权限无关的公共数据,例如媒体播放应用程序中的一首歌曲或一段视频,也可以是一些用户个人数据,例如用户的搜索历史清单。通常,如果想避免对一个本地数据库的维护,可以将这些数据保存在LocalStorage中。
离线应用程序的实现通常会为应用程序的开发带来一定程度的复杂度,所以应该预先考虑是否为应用程序添加离线支持。在有些应用程序中,可能完全不需或不能为其添加离线支持。
但是在有些应用程序中,为其添加离线支持是非常有必要的,因为这样可以大幅度提高应用程序的性能,因为应用程序可以直接从客户端本地获取用户个人数据并将其立即显示在页面中,而不需要从服务器端下载这些用户数据。
全文请见以下地址