新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正
《HTML 5应用开发实践指南》这书不厚,大概110页,现在初版(2013.3.29),有些地方翻译得不太通畅。在购书中心站了3个多小时看完,后面看得比较细,后面看得较快。将个人意见记载如下。
整本书重要重点在于分析HTML5的新功能,示例代码未几,但都是浓缩的精华,没有空话。阅读本书需要有编写JS的经验,否则难以看懂,作者没打算讲得很全面,要不然就不止100多页了。
第一章只有几页,吹捧一下JS,当然,明天的JS确实迎来了辉煌的一页,我也以为JS算得上天下上最优美的语言之一。
现在浏览器脚本引擎性能失掉极大提升,足够让前端开发人员创建基于浏览器的富应用,并且是跨平台的。
第二章写得很棒,分析JS函数与对象扩展,作者在函数应用方面绝对是有很深的成就。
作者首先指出JS是基于事件驱动的,通过事件回调函数,得以实现非阻塞I/O。
其次是,高阶函数的应用。函数可以作为参数被传递,也可以作为结果被返回,函数表达式(形如xxx=function的变量赋值情势)能够在需要的时候创建或更新函数,善于应用这类高阶函数,能让开发人员写更少更好更通用的代码,最终目的,就是偷懒。我常常说:不善于偷懒的程序猿,不是好程序猿。所以,这一章,值得深入研读。如果觉得有困难,可以去阅读《javascript模式》这本书,里头有更详细的函数模式分析。
接下来,分析了原型及其应用,实际上,就是模拟类的继承。通过几个例子解释如何扩展一个对象(包括函数,实际上,JS天下里,到处都是对象)。
后面还分析了数组迭代的操纵,比较实用,示例代码写得挺不错,重要的还是在于吸收其思惟,为你所用。
第三章讲JS的测试,这章没细看,测试是一个专门的行业,在学测试前,还是先把基本的弄定吧。最多也就学下单元测试,做集成测试,可以另外买书研讨。
单元测试,经常使用的是QUnit,用法比较简略,有兴致的去官网看看。还有一个JSLint,书里也分析了,代码质量检查,要写出硬朗的代码,质量检查与测试是得力助手。也许一开始并不习惯,但养成习惯后就省力多了。
至于集成测试的,用到的是Selenium,通过模式用户操纵来停止测试,这个比较复杂,写测试用例也更耗时,交给专门想弄测试的人去做吧。
第四章本地存储,LocalStorage和SessionStorage,操纵上并没什么困难,不过要弥补一点,在修改storage内容时,会触发storage事件,之前始终不晓得有这个事件,看了这书才晓得。
后面还分析了对不同浏览器统一本地存储API的方案——一个jQuery插件jStorage。
第五章是本地数据库IndexedDB,已经写入标准了,很多浏览器都支撑。原本以为这章可以给我遍及下该数据库的知识,结果作者再次使用了一个jQuery插件,来分析数据库的增编削查,没有原汁原味的示例代码,让我很绝望。如果你正在寻觅一个统一API来管理数据库,那提议细读这一章。
第六章是文件系统处理,包括了一个完整的示例——拖拽文件-->上传文件-->显示进度条,这些是基于Ajax实现的,要注意跨域问题。另外还提到了文件数据的读取,但没说得很详细,点到为止。可能是因为浏览器安全权限始终不敢轻易放开的原因吧。
第七章离线web应用,这一功能的实现归功于缓存机制和manifest清单文件,该清单文件用于指定三种类型的文件——被缓存的文件、不应缓存的文件、根据在线状态读取的文件(或文件目录)。另外还提出了一种判断文件是否更新的方案,不过需要服务端语言的支撑,其方法是对文件清单里的文件停止md5计算,然后用注释方法(井号#开头表现注释)写入清单,随后是通过比对md5值来判断是否需要通知客户端更新文件。
后面分析了清单文件的调试,具体内容忘了,好像是通过设置请求头来处理。现在晓得清单文件有方法来调试就好了,用到的时候再查吧。
第八章是Web Worker,让JS酿成多线程的好东西,必学啊!书里也供给了示例代码。
Web Worker比较特殊,是放在独立的JS文件里的,与主JS文件是通过事件回调交互的。
主JS文件先创建一个worker线程,指定worker的js文件。然后通过postMessage发送消息。
worker轮询监听消息,接收到消息时触发onMessage事件,执行回调,一样通过postMessage返回信息到主JS文件,主JS文件一样注册onMessage事件,接收worker返回的信息,执行对应回调函数。
worker可以同时存在很多个,互不影响。
最后提到一个web worker 库,忘了名称了,惭愧。下次记得的话补上。
第九章web socket。如果说worker是客户端内部的交互,那web socket则是客户端与服务端的交互了。
web socket采用socket协议,使用ws://情势发起请求,端口与http的一样,如果是加密的,则是wws://,端口443。书里有个示例可以看看,如何发起一个请求,然后服务器准时返回数据,直到客户端关闭请求。
另外分析了服务器创建socket连接的方法,现在大部分服务器都支撑。特殊的,书里供给了一段Nodejs创建socket连接的示例代码,看到了吧,JS自己就可以把事情弄定,自力更生。
第十章很简略,大概十页,简略说了下无障碍访问(重要是目力问题方面的)、HTML5新标签、新表单类型、画布和SVG(SVG很早就有了)、地理位置、新的CSS3标准。一笔带过。
最后的附录A,作者打广告了,推荐了些javascript工具,有些在书里头已经提到过了,都是些好工具,不过这也得先把基础的弄定先吧。感谢作者好心了。
全书的内容基本就这些,3个多小时看完,¥49元,按小时计费啊!
忘了封底了,分析封面的鸟,叫风暴海燕,貌似很厉害的名字,有兴致百度下吧。
本文地址:http://www.cnblogs.com/linerz/archive/2013/05/12/3074772.html 若有转载,请保留。
文章结束给大家分享下程序员的一些笑话语录: 问路
有一个驾驶热气球的人发现他迷路了。他降低了飞行的高度,并认出了地面 上的一个人。他继续下降高度并对着那个人大叫,“打扰一下,你能告诉我我 在哪吗?”
下面那个人说:“是的。你在热气球里啊,盘旋在 30 英尺的空中”。
热气球上的人说:“你一定是在 IT 部门做技术工作”。
“没错”,地面上的人说到,“你是怎么知道的?”
“呵呵”,热气球上的人说,“你告诉我的每件事在技术上都是对的,但对都没 有用”。
地面上的人说,“你一定是管理层的人”。
“没错”,热气球上的人说,“可是你是怎么知道的?”
“呵呵”,地面上的那人说到,“你不知道你在哪里,你也不知道你要去哪,你 总希望我能帮你。你现在和我们刚见面时还在原来那个地方,但现在却是我 错了”。