推荐理由
是的,你可以用Ajax开发企业级应用!
随着Web逐渐成为主流计算平台,越来越多关键任务应用开始采用Ajax技术构造。但是,挑战也是巨大的,开发人员必须解决企业级应用开发中易伸缩性、性能、安全性、可靠性、易维护性和可重用性等方面的问题。
本书正好满足了这一需求,是一部使用Ajax构建关键业务、产品品质Web应用程序的权威指南。作者系统地讲解了与Ajax相关的设计、架构和开发问题,提供了难得一见的成熟模式和优秀的代码示例,许多主题的阐述都达到了前所未有的深度:实现JavaScript自定义事件以降低耦合性和增强灵活性、有效解决Ajax传统的易访问性局限、使用压缩及其他技术减少网络潜伏时间,等等。通过学习理解本书介绍的最佳实践,企业级Ajax开发人员可以解决面临的各种问题。
内容简介
作者将Ajax作为常规工具放在富Web应用开发的大背景下,从架构与最佳实践的角度,重新加以评估和审视。全书内容涉及易用性、易访问性、易伸缩性、易扩展性、易维护性、代码调试、性能优化和Web安全。是一本理论与实践并重、架构与实现皆宜的高端Ajax开发参考书。
本书非常适合中高级Web开发人员和对Web易用性有研究的专业人士阅读和参考。
本书作者
Shawn M. Lauriat 资深Web程序员。现在IBM领导Ajax驱动的构建与发布管理平台Rational BuildForge中Web部分的开发。
目录
第0章 绪论
0.1 首字母缩写——Aiax
0.1.1 异步
0.1.2 JavaSefipt
0.1.3 XML
0.2 本书目的
0.3 阅读要求
第1章 易用性
1.1 界面与橱窗
1.2 用户期望
1.3 指示器及其他用户反馈形式
1.3.1 动态图示
1.3.2 进度指示器
1.3.3 在循环中把握用户需求
1.4 语义标记
1.4.1 更易访问
1.4.2 更易使用
1.4.3 更易维护
1.4.4 更易解析
1.5 合理利用CSS和JavaScript
第2章 易访问性
2.1 wCAG和508条款
2.1.1 WCAG
2.1.2 508条款
2.2 屏幕阅读器可以处理Ajax
2.2.1 内容替换
2.2.2 表单验证
2.3 不唐突的Ajax
2.4 围绕易访问性设计
2.4.1 高对比度设计
2.4.2 可缩放界面
2.4.3 容易对准的控件
2.5 WAl.ARTA
第3 章客户端应用程序架构
3.1 对象和事件触发
3.1.1 本地对象事件处理
3.1.2 JavaScnpt对象
3.2 模型一视图—控制器设计模式
3.2.1 模型
3.2.2 视图
3.2.3 控制器
3.3 事件驱动的应用程序开发
第4章 调试客户端代码
4.1 验证,验证,再验证
4.1.1 标记验证程序
4.1.2 CSS验证程序
4.1.3 语义提取程序
4.2 浏览器工具和插件
4.2.1 控制台
4.2.2 IE
4.2.1 Firefox
4.2.4 Opera
4.2.5 Safari
4.3 JavaScfipt分析
4.4 单元测试
4.4.1 断言
4.4.2 测试设置
4.4.3 测试本身
4.4.4 模拟对象
4.4.5 测试套件
第5章 性能优化
5.1 数据库性能
5.1.1 模式
……
第6章 易伸缩、易维护的Ajax
第7章 服务器端应用程序架构
第8章 保证Web应用程序安全
第9章 编写文档
第10章 游戏开发
第11章 结束语
附录A 资源
附录B OpenAjax
参考文献
经典书评
“本书不仅介绍了编程技术,而且全面讲解了Ajax应用程序的生命周期。如果你想成为一名专业的前端开发人员,一定会被本书中关于架构的真知灼见和最佳实践深深打动。” ――Andi Gutmans ,PHP创始人暨Zend技术公司CTO “本书循序渐进地讲述技术背后的最佳设计和实践,包括很多好的模式和实践。” ――John R. Dance,UIEvolution公司首席架构师
先读为快
第1章 易用性
1.1 界面与橱窗
基于Ajax的功能最适合降低用户使用难度的场合,而不仅仅是取代那些通过更简单、快速的开发手段可以轻易实现的功能。如果只是为了呈现公司主页,就不惜使用数个JavaScrim文件、众多CSS样式表并生成几次Ajax调用,恐怕除了多占用时间和内存之外对用户也不会有什么好处。事实上,用户反而会因此不必要地等待更长时间,同时也会不必要地消耗更多服务器资源。
图1.1展示了Firebug的一幅屏幕截图,Firebug是针对Firefox的CSS、DOM和JavaScript调试工具(参见第4章了解Firefox扩展的更多信息)。这幅屏幕截图展示了某家公司网站主页中所有链接资源的加载时间和次序。在这个页面中,包括18次AjaN调用、14个样式表、8个JavaScript文件,还有一些常见的对图像资源的链接。如图1.1所示,在商业级连接的条件下,加载该页面花费了5.02S,而整个页面大小达到了627 KB。
……