《客户端存储技术》是一本介绍Web应用程序中关于客户端存储技术的书。

如果阅读者有前端开发基础,那么将可以花少量的时间阅读完本书。即便是萌新,也无须担心,这本书的内容比较浅显易懂。全书详细的介绍了Cookie、LocalStorage、SessionStorage、IndexedDB、Web SQL和第三方类库的知识。

在日常的项目开发中Web开发者会使用到书中的一些技术。这本书适合初、中级Web开发工程师及对前端存储技术感兴趣的小伙伴阅读。

全书一共7个章节,第一章节言简意赅的阐述了Web客户端数据存储的发展历程及会遭遇的难题。

第二章主要是介绍Cookie的使用。作者对于Cookie的使用,有着自己独到的见解,个人也非常认同。其实大部分开发者对于Cookie的使用还是比较谨慎的,毕竟“谨慎能捕千秋蝉,小心驶得万年船。”在演示程序小节,推荐了一个关于Cookie操作的开源类库用来简化对Cookie的使用。

在不使用第三方类库的场景下,操作存储cookie演示如下:

//创建并保存一个cookie值
document.cookie="userName='sugarYe'";

//保存第二个cookie值
document.cookie="age=20";

浏览一下网页,然后在浏览器中查看cookie是否存储成功,会得到如下结果:

cookie

通过以上的操作可以发现这样的操作不是很便利,众所周知cookie实质上存储的是字符串,那对于取值操作也是相当繁琐。如果可以这样操作cookie,你会不会开心一点。

//使用cookie保存name、age、sex等信息
docCookies.setItem("name","sugarYe");
docCookies.setItem("age",20);
docCookies.setItem("sex","boy");

//获取cookie值
var age=docCookies.getItem("age");
console.log("age",age);

//删除cookie值
docCookies.removeItem("age");

//检查是否存在age
docCookies.hasItem("age");

//获取全部keys
docCookies.keys();

这样的操作真是逆天了,要是再配上加解密就完美了。

第三章介绍的是Web存储,分为本地存储会话存储技术。不过两者的API相同。主要操作如下:

//存储一项数据
localStorage.setItem("something",1);
//根据key获取一项数据
localStorage.getItem("something");
//删除指定的数据
localStorage.removeItem("something");
//清空所有的数据信息
localStorage.clear();

第四章介绍的是IndexedDB,相比前两个章节的介绍的技术IndexedDB带来的乐趣和麻烦一样的多。也许这本身就是一种乐趣吧。因为代码比较多就不占用篇幅介绍了,还是直接看书比较实际。

第五章介绍的是Web SQL,比较有意思的是这不是一个正式的规范。不过如果你对这个比较感兴趣,还是可以看看一看,玩玩Web SQL

其实在读完第五章的时候,感觉自己可能读了一本假书→_→。这难道真的不是作者去参加某个论坛的技术分享?本着开卷有益的理念,继续啃剩下的两章内容。

第六章介绍的是第三方提供的一些简化操作的类库。使用Lockr可以简化Web存储操作;使用Dexie可以简化IndexedDB操作;全能库localForage,支持IndexedDBWeb SQL 和本地存储操作。

第七章是介绍的是一个比较有趣的例子,不妨按照书中的代码敲一遍。

通读完全书巩固了以前学习到知识,知道了几个不错的类库,算是有所收获。当然也有所遗憾,就是没有读到有关Application Cache的黑科技。即便如此,《客户端存储技术》也是一本不错的书。

关于客户端存储技术应该会有更好的解决方案,可以帮助Web开发者处理离线缓存和数据同步的问题。