单页Web套用


单页Web套用

文章插图
单页Web套用【单页Web套用】《单页Web套用》是2014年9月1日人民邮电出版社出版的图书,作者是米可夫斯基 (Michael S. Mikowski)、鲍威尔 (Josh C. Powell) 。
基本介绍书名:单页Web套用
又名:JavaScript从前端到后端
作者:米可夫斯基 (Michael S. Mikowski)/鲍威尔 (Josh C. Powell)
译者:包勇明
ISBN:9787115363626
页数:388
定价:CNY 69.00
出版社:人民邮电出版社
出版时间:2014-9-1
装帧:平装
内容简介《单页Web套用:JavaScript从前端到后端》是设计和构建大规模JavaScript单页Web套用(SPA)的宝贵指南,这些套用从前端到后端都使用JavaScript:浏览器端套用、Web伺服器和资料库 。《单页Web套用:JavaScript从前端到后端》大约三分之二的内容专门讲解单页Web套用的客户端开发,先定义何为JavaScript单页套用,接着介绍书中使用的单页Web套用的架构,然后依次讲解Shell模组、功能模组、Model模组、Data模组和Fake模组等,其中还专门拿出一整章讲解开发单页Web套用时需要掌握的JavaScript概念和特性;剩下三分之一的内容讲解单页Web套用的伺服器端开发和其他与单页Web套用相关的知识,如Node.js、MongoDB、CDN、搜寻引擎最佳化、数据分析、错误日誌以及各个层级的快取等 。本书最后的两个附录分别介绍JavaScript的编码规範和单页Web套用的测试 。《单页Web套用:JavaScript从前端到后端》适合Web开发人员、架构师和产品经理阅读,需要读者至少要有些JavaScript、HTML和CSS的开发经验 。作者简介本书作者是架构师和工程管理者 。Michael Mikowski已经开发过许多商业级单页Web套用,其中有个平台每年要处理的请求超过1000亿次 。Josh Powell搭建过一些流量非常大的网站 。目录第一部分 单页套用简介第1章 第一个单页套用 31.1 定义、一些历史和一些关注点 41.1.1 一些历史 41.1.2 是什幺导致JavaScript单页套用姗姗来迟 51.1.3 我们的关注点 81.2 构建第一个单页套用 91.2.1 定义目标 91.2.2 创建档案结构 101.2.3 使用Chrome开发者工具 101.2.4 开发HTML和CSS 111.2.5 添加JavaScript 121.2.6 使用Chrome开发者工具查看套用 171.3 精心编写的单页套用的用户效益 191.4 小结 20第2章 温故JavaScript 222.1 变数作用域 242.2 变数提升 272.3 高级变数提升和执行环境对象 282.3.1 提升 282.3.2 执行环境和执行环境对象 302.4 作用域链 332.5 JavaScript对象和原型链 352.6 函式——更深入的窥探 432.6.1 函式和匿名函式 432.6.2 自执行匿名函式 442.6.3 模组模式——将私有变数引入JavaScript 462.6.4 闭包 512.7 小结 54第二部分 单页套用客户端第3章 开发Shell 573.1 深刻理解Shell 573.2 创建档案和名字空间 593.2.1 创建档案结构 593.2.2 编写套用的HTML档案 603.2.3 创建CSS根名字空间 613.2.4 创建JavaScript根名字空间 623.3 创建功能容器 643.3.1 选取策略 643.3.2 编写Shell的HTML 643.3.3 编写Shell的CSS 653.4 渲染功能容器 683.4.1 将HTML转换为JavaScript 683.4.2 在JavaScript中添加HTML模板 693.4.3 编写Shell的样式表 713.4.4 指示套用使用Shell 733.5 管理功能容器 743.5.1 编写展开或收起聊天滑块的方法 743.5.2 给聊天滑块添加点击事件处理程式 763.6 管理套用状态 803.6.1 理解浏览器用户所期望的行为 803.6.2 选取一个策略来管理历史控制项 813.6.3 当发生历史事件时,更改锚 823.6.4 使用锚来驱动套用状态 833.7 小结 89第4章 添加功能模组 904.1 功能模组策略 914.1.1 与第三方模组的比较 914.1.2 功能模组和分形MVC模式 934.2 创建功能模组档案 964.2.1 规划档案结构 964.2.2 填写档案 974.2.3 我们创建了什幺 1034.3 设计方法API 1034.3.1 锚接口模式 1044.3.2 Chat的配置API 1054.3.3 Chat的初始化API 1064.3.4 Chat的setSliderPosition API 1074.3.5 配置和初始化的级联 1074.4 实现功能API 1094.4.1 样式表 1104.4.2 修改Chat 1144.4.3 清理Shell 1204.4.4 详细解释执行的过程 1254.5 添加经常使用的方法 1274.5.1 removeSlider方法 1274.5.2 handleResize方法 1294.6 小结 133第5章 构建Model 1345.1 理解Model 1355.1.1 我们将要构建什幺 1355.1.2 Model做什幺 1375.1.3 Model不做什幺 1375.2 创建Model和其他档案 1385.2.1 规划档案结构 1385.2.2 填充档案 1395.2.3 使用统一的触摸——滑鼠库 1455.3 设计people对象 1455.3.1 设计person对象 1465.3.2 设计people对象的API 1475.3.3 给people对象的API编写文档 1505.4 构建people对象 1515.4.1 创建伪造的人员列表 1525.4.2 开始构建people对象 1545.4.3 完成people对象的构建 1575.4.4 测试people对象的API 1645.5 在Shell中开启登入和登出的功能 1665.5.1 设计用户登入的体验 1675.5.2 更新Shell的JavaScript 1675.5.3 更新Shell的样式表 1695.5.4 使用UI测试登入和登出 1705.6 小结 171第6章 完成Model和Data模组 1726.1 设计chat对象 1726.1.1 设计方法和事件 1736.1.2 给chat对象的API添加文档 1756.2 构建chat对象 1776.2.1 先创建chat对象的join方法 1776.2.2 更新Fake以回响chat.join 1796.2.3 测试chat.join方法 1816.2.4 给chat对象添加讯息传输功能 1826.2.5 更新Fake,模拟讯息传输功能 1876.2.6 测试chat的讯息传输功能 1896.3 给Model添加Avatar功能 1906.3.1 给chat对象添加Avatar功能 1906.3.2 修改Fake来模拟头像功能 1916.3.3 测试头像功能 1926.3.4 测试驱动开发 1936.4 完成Chat功能模组 1956.4.1 更新Chat的JavaScript 1966.4.2 更新样式表 2036.4.3 测试Chat UI 2076.5 创建Avatar功能模组 2086.5.1 创建Avatar的JavaScript 2096.5.2 创建Avatar的样式表 2136.5.3 更新Shell和浏览文档 2146.5.4 测试Avatar功能模组 2156.6 数据绑定和jQuery 2166.7 创建Data模组 2176.8 小结 220第三部分 单页套用伺服器第7章 Web伺服器 2237.1 伺服器的作用 2237.1.1 认证和授权 2247.1.2 验证 2247.1.3 数据的保存和同步 2257.2 Node.js 2257.2.1 为什幺选择Node.js 2257.2.2 使用Node.js创建‘Hello World’套用 2267.2.3 安装并使用Connect 2297.2.4 添加Connect中间件 2307.2.5 安装并使用Express 2317.2.6 添加Express中间件 2347.2.7 Express的使用环境 2357.2.8 Express的静态档案服务 2367.3 高级路由 2377.3.1 用户对象的CRUD路由 2377.3.2 通用CRUD路由 2437.3.3 把路由放到单独的Node.js模组里面 2467.4 添加认证和授权 2497.5 Web socket和Socket.IO 2517.5.1 简单的Socket.IO应用程式 2517.5.2 Socket.IO和讯息伺服器 2547.5.3 使用Socket.IO更新JavaScript 2557.6 小结 258第8章 伺服器资料库 2598.1 资料库的作用 2598.1.1 选择数据存储 2608.1.2 消除数据转换 2608.1.3 把逻辑放在需要的地方 2618.2 MongoDB简介 2628.2.1 面向文档的存储 2628.2.2 动态文档结构 2628.2.3 开始使用MongoDB 2638.3 使用MongoDB驱动程式 2648.3.1 準备项目档案 2658.3.2 安装并连线MongoDB 2658.3.3 使用MongoDB的CRUD方法 2678.3.4 向伺服器套用添加CRUD操作 2708.4 验证客户端数据 2748.4.1 验证对象类型 2748.4.2 验证对象 2768.5 创建单独的CRUD模组 2838.5.1 组织档案结构 2848.5.2 把CRUD移到它自己的模组里面 2878.6 构建chat模组 2928.6.1 开始创建chat模组 2938.6.2 创建adduser讯息处理程式 2958.6.3 创建updatechat讯息处理程式 2998.6.4 创建disconnect讯息处理程式 3018.6.5 创建updateavatar讯息处理程式 3028.7 小结 305第9章 单页套用发布準备 3069.1 单页套用针对搜寻引擎的最佳化 3079.2 云和第三方服务 3109.2.1 站点分析 3109.2.2 记录客户端错误 3129.2.3 内容分发网路 3149.3 快取和快取破坏 3149.3.1 快取时机 3159.3.2 Web存储 3169.3.3 HTTP快取 3179.3.4 伺服器快取 3209.3.5 资料库查询快取 3259.4 小结 326附录A JavaScript编码标準 328附录B 测试单页套用 361