具体描述
web 2.0代表了新一代的web用户体验和与之对应的相关技术实现。《web 2.0应用程序开发实践》介绍了进行web 2.0相关软件开发所需要掌握的理论知识、技术和工具,从开发、测试、全球化、性能、安全性等多个重要方面进行了深入的探讨,并提供了丰富的样例程序供参考。《web 2.0应用程序开发实践》结合了ibm开发团队的实际产品开发经验,是对web 2.0软件开发技术领域的一个完整概括。
《web 2.0应用程序开发实践》适合于从事web开发的程序员、项目经理、产品经理,以及对相关领域感兴趣的开发人员学习和阅读,还可供大中专院校相关专业学生参考和阅读。
作者简介
IBM中国软件开发中心软件开发顾问,目前为IBM协作软件Lotus Connections产品开发团队的技术负责人之一,并担任产品的全球化架构师。
目录信息
第1章 web 2.0概述 1
1.1 web 2.0的特点 2
1.2 web 2.0应用程序举例 3
1.3 本章小结 5
第2章 web 2.0应用架构 6
2.1 web界面与用户体验 7
2.2 富客户端网络应用(rich internet application) 9
2.3 可编程性 11
2.3.1 什么是可编程web 2.0应用 11
2.3.2 技术概要 13
2.4 web 2.0系统集成案例 14
2.4.1 amazon ams 15
2.4.2 淘宝网开放平台 15
2.4.3 ibm lotus connections 15
2.5 本章小结 16
第3章 web 2.0应用程序相关开发技术 17
3.1 ajax 18
3.1.1 ajax核心要素——xmlhttprequest对象 19
3.1.2 ajax开源工具包概述 28
.3.2 mashup和widget 29
3.2.1 mashup概述 29
3.2.2 widget概述 32
3.3 feed(atom/rss) 36
3.3.1 概述 36
3.3.2 rss 39
3.3.3 atom 43
3.3.4 feed开源工具包简介 45
3.4 本章小结 46
第4章 rest 47
4.1 rest与soap 49
4.2 hello rest 53
4.3 rest设计器原则 55
4.4 rest设计步骤 62
4.5 rest开发框架 67
4.5.1 restlet 67
4.5.2 cetie4 67
4.6 开发rest应用程序 68
4.7 本章小结 70
第5章 web 2.0应用程序开发包 71
5.1 dojo 72
5.1.1 dojo 概述 72
5.1.2 安装dojo 73
5.1.3 hello world 74
5.1.4 dojo的模块加载机制 75
5.1.5 dojo 中的dom工具函数 76
5.1.6 dojo中的事件监听机制 79
5.1.7 dojo中的xmlhttprequest函数集 79
5.2 jawr 82
5.2.1 jawr简介 82
5.2.2 jawr的使用 83
5.3 abdera 87
5.3.1 创建atom文档 87
5.3.2 解析atom文档 91
5.4 本章小结 92
第6章 构建web 2.0网站实例 93
6.1 网站主要功能简介 94
6.2 网站开发准备 97
6.3 网站详细说明 100
6.3.1 数据库设计与开发 100
6.3.2 domain类的开发 103
6.3.3 ibatis dao的开发 104
6.3.4 struts的开发 108
6.3.5 jsp页面的开发 113
6.3.6 页面的ajax的开发 115
6.3.7 部署与运行 119
6.4 本章小结 122
第7章 web 2.0测试 123
7.1 测试阶段 124
7.2 自动化测试 126
7.2.1 测试流程自动化 126
7.2.2 测试脚本自动化 129
7.3 测试中的工具 132
7.3.1 firebug 132
7.3.2 ie developer 137
7.3.3 ie throttle 138
7.4 本章小结 139
第8章 web 2.0安全性 140
8.1 跨站脚本 143
8.1.1 跨站脚本实例 143
8.1.2 跨站脚本的危害 144
8.1.3 跨站脚本的类型 146
8.1.4 跨站脚本的防范 149
8.2 跨站请求伪造 156
8.2.1 跨站请求伪造实例 157
8.2.2 跨站请求伪造的危害 159
8.2.3 跨站请求伪造的类型 160
8.2.4 跨站请求伪造的防范 162
8.3 web 2.0应用的认证与授权的问题 167
8.3.1 oauth 协议 169
8.4 web 2.0应用的安全性测试 170
8.5 本章小结 172
第9章 web 2.0性能 173
9.1 web 2.0应用性能的特点 174
9.1.1 服务器端的性能特点 174
9.1.2 浏览器端的性能特点 175
9.2 影响web 2.0应用性能的因素 177
9.2.1 服务器端的影响因素 180
9.2.2 浏览器端的影响因素 187
9.3 web 2.0 应用性能测试的常用工具 190
9.3.1 firefox 的性能插件 190
9.3.2 ie的性能插件 190
9.3.3 专用工具 192
9.4 本章小结 196
第10章 web 2.0全球化 197
10.1 软件产品全球化的需求 198
10.2 全球化的基本技术 199
10.2.1 基本技术 200
10.2.2 java的国际化支持 201
10.2.3 icu4j 201
10.2.4 其他框架 202
10.2.5 语言的挑战 202
10.3 全球化软件产品设计与架构 203
10.3.1 好的设计与坏的设计 203
10.3.2 全球化软件开发过程 206
10.4 web 2.0对全球化带来的新挑战 209
10.4.1 新的需求、新的技术 209
10.4.2 基于客户端的全球化方法与实践 209
10.4.3 dojo全球化支持简介 212
10.5 web 2.0全球化常见问题和解决方案 220
10.5.1 过度依赖服务器实现本地化动态页面 221
10.5.2 过度依赖服务器端资源文件 221
10.5.3 字符串拼接 222
10.5.4 locale id归一化 223
10.5.5 缓存 223
10.6 本章小结 224
第11章 网页无障碍化 225
11.1 网页无障碍化标准与相关测试软件 227
11.1.1 网页无障碍化的主要国际标准 228
11.1.2 我国的网页无障碍化标准 231
11.1.3 常用的网页无障碍化测试软件 232
11.2 创建符合wcag标准的网页 235
11.2.1 为非文本内容添加文本辅助信息 235
11.2.2 创建无障碍的输入项 240
11.2.3 支持在高对比度下浏览网页 243
11.2.4 创建无障碍的网页浏览导航 246
11.3 创建符合aria标准的网页 251
11.4 无障碍化测试流程 257
11.5 本章小结 260
11.6 参考资料 261
· · · · · · (收起)
读后感
用户评价
这本书的排版布局中规中矩,使用了大量的项目符号和编号列表来组织信息,这使得结构清晰,易于查阅特定术语的定义。我特别留意了关于前端性能优化部分的介绍,希望能找到关于现代浏览器渲染路径优化、Critical CSS的提取方法,或者至少是关于如何使用Lighthouse进行性能审计的实操步骤。然而,书中着重强调的性能优化点主要集中在减少HTTP请求的数量、利用浏览器缓存策略(如Expires头)以及压缩JavaScript文件大小(通过简单的文本压缩工具)。这种优化思路明显滞后于当前以Web Vitals为核心的性能衡量标准。比如,书中完全没有提及如何处理首屏加载的阻塞问题,或者异步加载大型资源包的策略。对于一个追求极致用户体验的开发者而言,这些“老旧”的优化技巧,虽然是地基,但显然缺少了现代高层建筑的施工图纸,读完之后仍需另寻他法来解决当代Web应用的性能瓶颈。
这本书的语言风格非常严谨,学术性很强,每一段论述都力求全面和滴水不漏,这在某些章节确实有助于理解复杂的概念。特别是讲解“用户生成内容(UGC)”的法律和安全风险时,引用了大量的行业标准和案例分析,这一点值得肯定。不过,这种风格在涉及具体编码实践时就显得有些拖沓了。我本想直接复制粘贴一些代码示例来验证某些API调用的效果,但书中提供的代码块往往冗长且注释过多,似乎作者更倾向于用大段的文字来描述代码的逻辑,而不是直接展示简洁、可运行的片段。例如,关于AJAX请求的封装,我期待看到一个清晰的封装函数及其错误处理机制,但书中却用了好几页篇幅来逐行解释XMLHttpRequest对象的每一个属性和方法,这对于有一定经验的读者来说,阅读体验并不顺畅,效率也大打折扣。如果能提供配套的GitHub仓库链接,并用更简洁的代码片段引导读者去探索,效果可能会更好。
从内容深度来看,这本书在理论构建上花了大量笔墨,尤其是在探讨“社区驱动开发模式”的社会学意义时,引用了许多社会学和心理学的理论模型,这一点相当出乎意料,也很有意思。我原本以为这本关于“应用程序开发”的书籍会更侧重于技术实现,比如OAuth 2.0的授权流程、RESTful API的设计原则,或是如何利用GraphQL提高数据获取效率。然而,这些现代API设计的主流话题在书中几乎是浅尝辄止。取而代之的是对早期的BBS、博客平台互动模式的细致分析,以及对用户界面(UI)中“魔法标签”和“即时反馈”的哲学探讨。虽然理解用户行为的底层驱动力很重要,但对于希望快速构建一个符合当前互联网规范的SaaS应用的原型开发者来说,这些理论的实用价值体现得并不直接。这本书更像是一本关于“人与信息交互的演变史”的专著,而非一本实用的“如何构建应用”的技术指南。
这本书的装帧设计着实让人眼前一亮,那种沉稳的深蓝色调,配上烫金的字体,很有专业书籍的味道,拿在手里感觉分量十足。我原本是想找一本能帮我迅速入门现代Web前端框架的实战手册,希望能有一些最新的React或Vue的组件化开发流程解析,最好是能深入到Hooks的使用技巧或者状态管理库的最佳实践。然而,当我翻开目录,映入眼帘的更多是关于早期AJAX、RSS订阅、以及各种基于服务器端模板引擎的讨论。虽然这些技术在特定的遗留系统维护中或许仍有价值,但对于一个渴望掌握当前主流前后端分离架构的开发者来说,感觉信息密度有些偏低,像是打开了一本回顾历史的教科书,而非面向未来的工具箱。书中的图示风格也偏向传统的UML和流程图,缺乏现代开发中常用的交互式原型或动态效果展示。如果作者能增加一些关于WebSockets实时通信或微前端架构的章节,哪怕只是作为选读内容,我想这本书的适用范围和吸引力都会大大提升。整体感觉,它更适合那些需要理解Web 2.0时代技术演进脉络的计算机史研究者,而非忙碌于日常敏捷迭代的工程师。
我花了整整一个下午的时间来研究这本书的第三章,希望能从中找到一些关于构建高性能、高可用性Web服务的架构思路。我期待的是对CDN分发策略的深入剖析,例如如何结合边缘计算来优化动态内容的加载速度,或者至少是对负载均衡算法(如一致性哈希)在Web应用层面的具体部署案例进行详细的图文说明。但遗憾的是,这一章的重点似乎放在了如何优化数据库查询的索引设计,以及讨论了早期LAMP架构下的缓存策略,例如Memcached的基本配置和使用场景。这些知识点无疑是基础且重要的,但对于一个已经熟练运用云原生数据库服务和分布式缓存系统的开发者来说,这些内容显得过于基础,像是初级数据库管理员的入门指南。我试图寻找一些关于Service Mesh、Istio配置或者Kubernetes Ingress Controller的实战内容,但这些现代运维的关键词在书中完全没有出现。这让我不禁怀疑,这本书的目标读者群定位可能存在偏差,它更像是为十年前的服务器管理员编写的,而非面向今天DevOps工程师的参考手册。
浅显易懂.内容不错.不过不够深入.有点泛泛而谈的感觉.
全部是泛泛而谈。。。后悔买了
浅显易懂.内容不错.不过不够深入.有点泛泛而谈的感觉.
浅显易懂.内容不错.不过不够深入.有点泛泛而谈的感觉.
全部是泛泛而谈。。。后悔买了