新書推薦:
《
送你一匹马(“我不求深刻,只求简单。”看三毛如何拒绝内耗,为自己而活)
》
售價:NT$
295.0
《
秦汉史讲义
》
售價:NT$
690.0
《
万千心理·我的精神分析之道:复杂的俄狄浦斯及其他议题
》
售價:NT$
475.0
《
荷马:伊利亚特(英文)-西方人文经典影印21
》
售價:NT$
490.0
《
我的心理医生是只猫
》
售價:NT$
225.0
《
巴拉吉预言
》
售價:NT$
340.0
《
股权控制战略:如何实现公司控制和有效激励(第2版)
》
售價:NT$
449.0
《
汉译名著·哲学经典十种
》
售價:NT$
3460.0
編輯推薦:
实时Web应用开发领域的经典著作,由实时Web技术领域的布道者和资深Web开发工程师撰写
系统讲解构建实时Web应用的过程、方法与核心技术,同时包含大量代码和设计示例,实战性极强
內容簡介:
实时Web应用开发领域的经典著作,由实时Web技术领域的布道者和资深Web开发工程师撰写。不仅详细讲解了构建实时Web应用所需的各项技术,还系统讲解了实时Web应用规划与设计的的过程和方法,为构建实时Web应用提供了翔实的指导。此外,本书包含大量代码和设计示例,实战性极强。
全书一共10章:第1章介绍了什么是实时Web技术及其原理;第2章详细讲解了构建实时Web应用需要哪些技术和工具;第3章讲解了如何利用Pusher构建实时Web应用;第4章介绍了如何根据需要在Web应用和原生应用之间做出选择;第5章讲解了如何规划应用程序的功能和结构;第6章讲解了实时Web应用的设计,第7章讲解了如何为实时Web应用创建HTML和CSS标记;第8章和第9章则非常详细地讲解了如何构建实时Web应用的后端程序;第10章讲解了如何实现实时事件和jQuery效果。
關於作者:
Jason Lengstorf
资深Web开发工程师和设计师,精通jQuery和PHP等Web开发技术。对实时Web技术和响应式设计有比较深入的理解,实战经验非常丰富。经常作为权威专家在世界各地的技术大会发表与Web技术相关的演讲,撰写了多本与PHP和jQuery相关的著作。他创办了Copter
Labs,负责项目管理、设计、开发、Logo设计等业务。
Phil Leggetter
实时Web技术的布道者,资深的软件开发工程师和咨询师,在开发并使用实时Web技术方面已经积累了十余年的经验。他帮助很多开发人员使用这些技术构建了下一代的交互性实时Web应用程序。他撰写了大量技术文章,创建了大量简单的开源示例应用程序,经常在世界性的技术会议上发表演讲。
目錄 :
译者序
前言
第一部分 熟悉必备技术
第1章 什么是实时
1.1 传媒的演化
1.1.1 是网站而不是Web应用
1.1.2 HTTP解决方案
1.1.3 一个先要解决的问题:实时究竟意味着什么
1.1.4 AJAX
1.1.5 轮询
1.1.6 HTTP长轮询
1.1.7 HTTP流
1.1.8 在Web浏览器中使用基于HTTP的解决方案的其他问题
1.2 解决方案:WebSocket
1.3 为什么要学习实时Web技术
1.4 请即刻在你的应用中使用实时Web技术
1.5 小结
第2章 工具
2.1 我们要构建什么
2.2 选择工具
2.2.1 HTML5
2.2.2 CSS3
2.2.3 JavaScript和jQuery
2.2.4 PHP
2.2.5 MySQL
2.2.6 HTML5的WebSocket技术和Pusher
2.2.7 OAuth
2.3 小结
第3章 Pusher
3.1 Pusher简史
3.2 为什么要使用Pusher
3.2.1 扩展性
3.2.2 WebSocket、旧技术支持和自动重连接
3.2.3 其他客户端库
3.2.4 REST API
3.2.5 服务器库
3.2.6 开发人员工具
3.2.7 文档
3.3 Pusher中的术语
3.4 开始使用Pusher
3.5 使用Pusher发送事件
3.6 调试Pusher应用程序
3.7 小结
第二部分 规划应用
第4章 选择Web应用
4.1 为什么要在Web应用与原生应用间做抉择
4.2 要考虑的因素
4.2.1 了解用户
4.2.2 市场推广
4.2.3 销售
4.2.4 发布应用程序
4.2.5 外观和性能
4.2.6 开发
4.3 根据需要进行选择
4.3.1 选择Web应用而不是原生应用
4.3.2 最终的决定:构建Web应用程序
4.4 小结
第5章 确定应用的功能和结构
5.1 应用要做什么
5.2 应用不做什么
5.3 用户扮演的角色
5.3.1 主持人
5.3.2 参与者
5.4 前端规划
5.4.1 要使用的技术
5.4.2 使用HTML5
5.4.3 CSS3、媒体查询以及它们如何影响设计和HTML
5.4.4 效果和动画
5.5 后端规划
5.6 将所有这些整合入线框图中
5.6.1 筹划主页
5.6.2 筹划参与者的问答页面
5.6.3 筹划主持人的问答页面
5.7 小结
第三部分 构建基本内容
第6章 设计应用
6.1 为设计设置目标
6.2 定义颜色面板
6.3 选择字体
6.4 设计常见的页面元素
6.4.1 创建页眉
6.4.2 创建页脚
6.4.3 表单元素
6.5 设计主页视图
6.5.1 创建房间的表单
6.5.2 加入房间的表单
6.6 设计房间视图
6.6.1 设计参与者视图
6.6.2 设计关闭的房间视图
6.6.3 设计主持人视图
6.7 小屏幕布局
6.8 小结
第7章 创建HTML和CSS标记
7.1 开始构建基本部分:设置HTML5文档
7.2 获得需要的字体
7.3 常见的元素
7.3.1 页眉标记
7.3.2 页脚标记
7.3.3 样式
7.3.4 使得页眉和页脚具有响应
7.4 开发主页视图
7.4.1 编写标记
7.4.2 添加媒体查询
7.5 开发参与者的活动房间视图
7.5.1 编写标记
7.5.2 实现CSS
7.5.3 添加媒体查询
7.6 开发参与者的关闭的房间的视图
7.6.1 尽可能少引入新标记
7.6.2 添加样式
7.6.3 关于媒体查询
7.7 开发主持人的房间视图
7.7.1 修改现有的标记
7.7.2 更新CSS
7.7.3 更新媒体查询
7.8 小结
第8章 构建后端:第1部分
8.1 计划简单的MVC框架
8.1.1 确定文件夹结构
8.1.2 为所有的请求设置路由
8.1.3 设置实用工具函数
8.1.4 结束路由的编写
8.1.5 设置核心类
8.1.6 创建抽象模型类
8.2 增加页眉标记和页脚标记
8.3 构建主页
8.3.1 创建主页控制器
8.3.2 创建主页视图
8.4 添加错误处理程序
8.4.1 创建错误控制器
8.4.2 创建错误视图
8.4.3 添加与错误有关的样式
8.4.4 测试错误页面
8.5 构建数据库
8.6 处理表单提交
8.6.1 计划表单提交工作流程
8.6.2 设置并检查有效的动作
8.6.3 防止重复提交和欺骗性的提交
8.6.4 编写表单处理方法
8.7 小结
第9章 构建后端:第2部分
9.1 构建问题
9.1.1 构建Question控制器
9.1.2 添加问题视图
9.1.3 完成视图编写
9.1.4 添加提出问题表单
9.1.5 构建问题模型
9.1.6 为控制器添加表单处理程序和数据访问方法
9.2 构建房间
9.2.1 增加Room控制器
9.2.2 构建房间模型
9.2.3 向Room控制器添加表单处理程序
9.3 测试所有代码
9.3.1 创建第一个房间
9.3.2 关闭房间
9.3.3 重新打开房间
9.3.4 加入房间
9.3.5 提出第一个问题
9.3.6 为问题投票
9.3.7 回答问题
9.4 小结
第10章 实现实时事件和jQuery效果
10.1 添加需要的证书和库
10.1.1 获得Pusher的API证书
10.1.2 下载Pusher的PHP API包装
10.1.3载入Pusher的JavaScript API包装
10.1.4载入jQuery
10.2 在后端实现实时
10.2.1 创建事件
10.2.2 测试实时事件
10.3 在前端实现实时
10.3.1 订阅通道
10.3.2 绑定事件
10.4 增加效果
10.4.1 处理房间事件
10.4.2 为增加新问题添加动画
10.4.3 为问题增加投票
10.4.4 回答问题中的动画和问题重排
10.5 小结
附录A 深入理解OAuth
內容試閱 :
前言
几年前,我参加了一个名为“Keeping It
Realtime”的会议。在那个会议中,许多演讲者都是实时行业中的资深人士,他们正在解决人们闻所未闻的问题。
在那时,技术的力量正在推进,实时技术的应用领域非常令人惊讶。当时,我想了解更多的信息,所以我就立即开始了解实时技术。那么,我是怎样开始在自己的应用程序中使用这个神奇的新东西呢?
我走进了距离我最近的一个分会场,与其中的听众坐在一起,我马上就被其中的内容迷住了。在讲台上,一个留着小胡子的人使用他的笔记本电脑,一边对着麦克风说话,一边用惊人的速度在Vim中编写代码。在那时,我能看出他在初始化socket.io,他已经完成了应用程序的一半。
我马上就沉迷其中了。同时,我开始思考,这个令人惊叹的技术是不是只能供极少数的精英开发人使用?如果我没有那个教授实时技术的人那么厉害,我是否还应该构建自己的应用程序?
如果你曾让一个聪明的开发人员做一些事,你也许会有这样的感觉:当某人的聪明程度到了一定境界后,他们有时就不会告诉我们他们曾经用过的技术。这意味着我们可能需要研究海量复杂的代码、标准和文档,或只能放弃。
本书旨在帮助我们揭开实时编程的神秘面纱,使得所有具有中等PHP和JavaScript水平的开发人员都能够进行实时编程。如果你想即刻将实时技术用在实际的项目中,那么你并不需要知道构建Flash
polyfill或维护Node.js的方法,你只需要学习本书即可。
我们相信,虽然理论是有趣和必要的,但是实际开发更激动人心。实际开发将理论运用于实际,实现了理论的价值。在最后,将以非常简单的方式设置本书使用的技术,而不需要你学习新的编程语言或框架。本书基于的Web技术与那些最流行的应用、网站、内容管理系统使用的技术相同。
实时技术应该属于广大的群众。现在,为自己倒一杯咖啡,或沏一杯茶,开始学习实时技术,你能够在实时技术没落前编写出具有实时功能的程序。
致谢
本书的诞生要感谢Phil
Leggetter,他使进度不断推进。他添加了大量与技术有关的背景信息,并就添加详细的解释和例子做了很多工作。没有他的帮助,本书可能就半途夭折了。
Ben和Ana:非常感谢你们的耐心。
Alison:感谢你在我每天晚上通宵写书的情形下没有弃我而去。
Nate:感谢你提供友好的竞争环境,在我完成每一个目标的情况下提醒我还需进行下一步的工作。
我的父亲:感谢您一直支持我。我的妈妈:感谢这些年来您与爸爸一起将我哺育成人。
Drew:感谢你来到Copter
Labs,使得我有足够的时间来完成这个工作。Alex、Anne、Jason、Kevin、Rob、Roger和Wes:感谢你们加入Copter团队。
由于Richelle、Troy、Taunja、Chris和其他朋友的帮助,使我避免成为从不打扫卫生的“隐士”,感谢你们继续邀请我做一些事情。
——Jason Lengstorf
……