HTML5离线数据存储选项

时间:2011-11-17 15:11:37

标签: sql-server html5 local-storage offline-storage

我的一位开发人员刚刚刚开始在一家新公司工作,他的一项任务是提出一个新的网络应用程序,当他们的员工在远程位置的现场工作,然后再与他们同步时,他们的用户可以离线工作。他们还没有确定服务器端提供商的服务器端数据库(我猜它将是SQL Server)。

我已经做了一些环顾四周,似乎有两个可行的选择是LocalStorage和IndexedDb,LocalStorage是更受欢迎的技术?他们想要HTML5,这一切都很好,花花公子,但长话短说我的问题是......

  • HTML5中的离线数据存储选项是什么?
  • 是否有较旧的解决方案可以获得更好的支持?
    • 那些风险较低的方法?
    • 实施的时间更短?

在Web应用程序中离线存储数据的概念似乎并不是一个新想法,但在今天的最新技术(html5,asp.net 4.0 / 4.5)中这样做是您开始进入稀疏探索领域的地方。

  • 有些事情可能是贵公司有效的,哪些无效?

任何基于证据的智能回复很可能会得到我的支持,所以不要急于得到第一个答案,并尝试获得一些快速积分,我在这里寻找一些好的可靠反馈。谢谢。

2 个答案:

答案 0 :(得分:4)

HTML5中有多种离线存储可能性:     网络存储     Web SQL数据库     IndexedDB的     文件系统API

您可以在这里找到所有这些选项:

http://www.html5rocks.com/en/tutorials/offline/whats-offline/#toc-older-storage

与较旧的选项(Cookies,基于插件的存储,特定于浏览器的功能)相比,我将引用文章:

“较新的存储API,我们称之为”HTML5存储“,在开放性和标准合规性方面通常都是优越的。当然,并非所有浏览器都包含所有新API,您可能必须支持旧版浏览器根本不包括它们中的任何一个。所以旧技术对于优雅降级仍然有用。“

其他有用的链接:

http://php-html.net/tutorials/html5-local-storage-guide/

http://www.tutorialspoint.com/html5/html5_web_sql.htm

希望这会有所帮助......

答案 1 :(得分:3)

我认为您最好的选择是使用本地存储,因为它是HTML5下可用的最广泛实施的存储选项标准。

IndexedDB已被过度设计(在我看来),并且对于Mozilla所有的坚持its better than sliced bread并且WebSQL的未来看起来像Mozilla is refusing to implement it和由于W3C与实际实施它的浏览器供应商(Chrome / Safari / Opera)之间的僵局,它已no longer being worked

由于采用智能手机,目前有一些浏览器爆炸式增长,因此很难确定市场中有多少支持HTML5 LocalStorage功能,但使用statcounter我已经能够在Chrome之间计算出来( 4 +),Firefox(3。+),Safari(4 +),Opera(10.5+)和IE(8+),包括iPhone和Android设备,你将占据80-85%的市场份额,数字上涨率为每月1-2%。其余的是IE 6/7(顽固地倾向于坚持),旧版本的新浏览器(具有通常保持最新状态的更新功能),以及一些移动浏览器在石器时代停滞不前。

对于较旧的选项,我会将IE6 / 7的User Data Persistence添加到@ user998692提供的列表中,但无论哪种方式,您都会遇到大量浏览器不兼容问题并支持大杂烩 - 技术笨拙,会使您的代码库和测试变得复杂,并相应地增加您的交付时间(和成本)。但是,如果你确实想走这条路,我建议你看看PersistJS,因为把它放在一起的人已经做了很多你已经需要的工作。

这些天它值得期待(在你的应用程序传播和获得广泛的用户群的1-2年时间内市场会是什么样子)而不是倒退,所以我会说HTML5 LocalStorage可能是你最好的选项。