展开全部

主编推荐语

深入浅出web前端开发,web开发教经典教程书籍!

内容简介

在知名培训机构Big Nerd Ranch培训教材的基础上编写而成,囊括了JavaScript、HTML5、CSS3等现代前端开发人员急需的技术关键点,包括响应式UI,访问远程Web服务,用Ember.js构建应用,等等。此外,还会介绍如何使用前沿开发工具来调试和测试代码,并且充分利用Node.js和各种开源的npm模块的强大功能来进行开发。

全书分四部分,每部分独立完成一个项目,由浅入深、循序渐进,在构建一系列应用的过程中,介绍Web开发的核心概念和API。无论是否拥有Web开发经验,抑或拥有其他平台的开发背景,只要对当今流行的工具和开发实践充满兴趣,这本书都能让你受益匪浅。

目录

  • 版权信息
  • 献词
  • 前言
  • 学习前端Web开发
  • 目标读者
  • 本书的组织结构
  • 如何使用本书
  • 挑战
  • 延展阅读
  • 电子书
  • 致谢
  • 第一部分 浏览器编程基础
  • 第1章 配置开发环境
  • 1.1 安装Google Chrome
  • 1.2 安装并配置Atom
  • Atom插件
  • 1.3 文档和参考资料
  • 1.4 命令行速成
  • 1.4.1 查看当前工作目录
  • 1.4.2 新建目录
  • 1.4.3 切换目录
  • 1.4.4 列出目录中的文件
  • 1.4.5 获取管理员权限
  • 1.4.6 退出程序
  • 1.5 安装Node.js和browser-sync
  • 1.6 延展阅读:Atom的替代工具
  • 第2章 开始第一个项目
  • 2.1 搭建Ottergram
  • 2.1.1 开始写HTML
  • 2.1.2 链接到样式表
  • 2.1.3 添加内容
  • 2.1.4 添加图片
  • 2.2 浏览网页
  • 2.3 Chrome开发者工具
  • 2.4 延展阅读:CSS版本
  • 2.5 延展阅读:favicon.ico
  • 2.6 中级挑战:添加favicon.ico
  • 第3章 样式
  • 3.1 创建基本样式
  • 3.2 为HTML文件添加样式
  • 3.3 样式的构成
  • 3.4 第一条样式规则
  • 盒模型
  • 3.5 样式继承
  • 3.6 图片自适应
  • 3.7 颜色
  • 3.8 调整空白
  • 关系选择器
  • 3.9 添加字体
  • 3.10 初级挑战:更改颜色
  • 3.11 延展阅读:优先级!当选择器发生冲突了……
  • 第4章 flexbox响应式布局
  • 4.1 界面拓展
  • 4.1.1 添加大图
  • 4.1.2 缩略图水平布局
  • 4.2 flexbox
  • 4.2.1 创建flex容器
  • 4.2.2 改变flex-direction
  • 4.2.3 flex项目中的元素分组
  • 4.2.4 flex缩写属性
  • 4.2.5 flex项目的排序与对齐方式
  • 4.2.6 居中显示大图
  • 4.3 绝对定位与相对定位
  • 第5章 使用媒体查询完成自适应布局
  • 5.1 重置视口
  • 5.2 添加媒体查询
  • 5.3 初级挑战:屏幕方向
  • 5.4 延展阅读:flexbox布局通用解决方案与bug
  • 5.5 高级挑战:圣杯布局
  • 第6章 JavaScript事件处理
  • 6.1 准备锚标签
  • 6.2 第一个脚本
  • 6.3 Ottergram中的JavaScript描述
  • 6.4 声明字符串变量
  • 6.5 操作控制台
  • 6.6 访问DOM元素
  • 6.7 编写setDetails函数
  • 通过形参声明接受实参
  • 6.8 从函数返回值
  • 6.9 添加事件监听器
  • 6.10 访问所有缩略图
  • 6.11 迭代缩略图数组
  • 6.12 中级挑战:劫持链接
  • 6.13 高级挑战:随机的水獭
  • 6.14 延展阅读:严格模式
  • 6.15 延展阅读:闭包
  • 6.16 延展阅读:NodeList对象和HTMLCollection对象
  • 6.17 延展阅读:JavaScript类型
  • 第7章 使用CSS营造视觉效果
  • 7.1 隐藏及显示大图
  • 7.1.1 创建隐藏大图的样式
  • 7.1.2 用JavaScript隐藏大图
  • 7.1.3 监听键盘事件
  • 7.1.4 重新显示大图
  • 7.2 使用CSS过渡改变状态
  • 7.2.1 变形
  • 7.2.2 添加CSS过渡效果
  • 7.2.3 使用定时函数
  • 7.2.4 基于类的过渡效果
  • 7.2.5 通过JavaScript触发过渡效果
  • 7.3 自定义定时函数
  • 7.4 延展阅读:强制类型转换的规则
  • 第二部分 模块、对象及表单
  • 第8章 模块、对象和方法
  • 8.1 模块
  • 8.1.1 模块模式
  • 8.1.2 通过IIFE修改对象
  • 8.2 搭建我们的CoffeeRun吧
  • 8.3 创建数据存储模块
  • 8.4 在命名空间上添加一个模块
  • 8.5 构造函数
  • 8.5.1 构造函数的原型
  • 8.5.2 为构造函数添加方法
  • 8.6 创建Truck模块
  • 8.6.1 添加订单
  • 8.6.2 删除订单
  • 8.7 调试
  • 8.7.1 使用开发者工具定位bug
  • 8.7.2 使用bind设置this
  • 8.8 在页面加载时初始化CoffeeRun
  • 创建Truck实例
  • 8.9 初级挑战:使用非星迷熟悉的餐车ID
  • 8.10 延展阅读:模块私有数据
  • 8.11 中级挑战:私有化数据
  • 8.12 延展阅读:在forEach的回调函数中设置this
  • 第9章 Bootstrap简介
  • 9.1 添加Bootstrap
  • Bootstrap的原理
  • 9.2 创建订单表单
  • 9.2.1 添加文本输入字段
  • 9.2.2 提供单选按钮
  • 9.2.3 添加下拉菜单
  • 9.2.4 添加范围滑块
  • 9.2.5 添加提交按钮和重置按钮
  • 第10章 使用JavaScript处理表单
  • 10.1 创建FormHandler模块
  • 10.1.1 jQuery简介
  • 10.1.2 导入jQuery
  • 10.1.3 使用selector参数配置FormHandler实例
  • 10.2 添加提交处理程序
  • 10.2.1 提取数据
  • 10.2.2 接受并调用回调函数
  • 10.3 使用FormHandler
  • 将createOrder注册为提交处理程序
  • 10.4 UI优化
  • 10.5 初级挑战:添加超级尺寸
  • 10.6 中级挑战:当滑块滑动时显示其数值
  • 10.7 高级挑战:添加选择
  • 第11章 从数据到DOM
  • 11.1 建立清单
  • 11.2 创建CheckList模块
  • 11.3 创建行构造函数
  • 使用jQuery创建DOM元素
  • 11.4 在提交时创建清单行
  • 使用call绑定this
  • 11.5 通过单击行完成订单
  • 11.5.1 创建CheckList.prototype.removeRow方法
  • 11.5.2 删除被覆盖的条目
  • 11.5.3 编写addClickHandler方法
  • 11.5.4 调用addClickHandler
  • 11.6 初级挑战:在描述中加入浓度信息
  • 11.7 中级挑战:不同口味,不同颜色
  • 11.8 高级挑战:允许编辑订单
  • 第12章 表单校验
  • 12.1 required属性
  • 12.2 使用正则表达式校验表单
  • 12.3 约束校验API
  • 12.3.1 监听input事件
  • 12.3.2 将input事件和有效性校验绑定
  • 12.3.3 触发有效性检查
  • 12.4 美化有效元素和无效元素
  • 12.5 中级挑战:为脱咖啡因咖啡进行自定义校验
  • 12.6 延展阅读:Webshim库
  • 第13章 Ajax
  • 13.1 XMLHttpRequest对象
  • 13.2 RESTful Web服务
  • 13.3 RemoteDataStore模块
  • 13.4 向服务器发送数据
  • 13.4.1 使用jQuery的$.post方法
  • 13.4.2 添加回调函数
  • 13.4.3 检查Ajax的请求和响应
  • 13.5 从服务器检索数据
  • 13.5.1 查看响应数据
  • 13.5.2 添加回调函数
  • 13.6 从服务器删除数据
  • 使用jQuery的$.ajax方法
  • 13.7 用RemoteDataStore替换DataStore
  • 13.8 中级挑战:校验远端服务器
  • 13.9 延展阅读:Postman
  • 第14章 Deferred和Promise
  • 14.1 Promise和Deferred
  • 14.2 返回Deferred
  • 14.3 通过then注册回调函数
  • 14.4 使用then处理失败的情况
  • 14.5 在仅支持回调函数的API上使用Deferred
  • 14.6 为DataStore配置Promise
  • 14.6.1 创建并返回Promise
  • 14.6.2 resolve一个Promise
  • 14.6.3 将其他DataStore方法Promise化
  • 14.7 中级挑战:回退到Datastore
  • 第三部分 实时数据传输
  • 第15章 Node.js入门
  • 15.1 Node和npm
  • 15.1.1 npm init
  • 15.1.2 npm脚本
  • 15.2 Hello, World
  • 15.3 添加一个npm脚本
  • 15.4 用文件提供服务
  • 15.4.1 用fs模块读取文件
  • 15.4.2 处理请求URL
  • 15.4.3 使用path模块
  • 15.4.4 创建自定义模块
  • 15.4.5 使用自定义模块
  • 15.5 错误处理
  • 15.6 延展阅读:npm模块注册
  • 15.7 初级挑战:创建自定义错误页面
  • 15.8 延展阅读:MIME类型
  • 15.9 中级挑战:动态提供MIME类型
  • 15.10 高级挑战:将错误处理放到单独的模块中
  • 第16章 使用WebSocket进行实时通信
  • 16.1 配置WebSocket
  • 16.2 测试WebSocket服务器
  • 16.3 创建聊天服务器的功能
  • 16.4 第一次聊天!
  • 16.5 延展阅读:WebSocket库socket.io
  • 16.6 延展阅读:WebSocket服务
  • 16.7 初级挑战:我重复了我的消息吗?
  • 16.8 中级挑战:Speakeasy
  • 16.9 高级挑战:聊天机器人
  • 第17章 借助Babel使用ES6
  • 17.1 编译JavaScript的工具
  • 17.2 Chattrbox客户端应用程序
  • 17.3 迈出Babel的第一步
  • class语法
  • 17.4 使用Browserify打包模块
  • 执行构建操作
  • 17.5 新增ChatMessage类
  • 17.6 创建ws-client模块
  • 17.6.1 处理连接
  • 17.6.2 处理事件并发送消息
  • 17.6.3 发出和回应一条消息
  • 17.7 延展阅读:将其他语言编译成JavaScript
  • 17.8 初级挑战:默认导入名称
  • 17.9 中级挑战:提醒连接关闭
  • 17.10 延展阅读:变量提升
  • 17.11 延展阅读:箭头函数
  • 第18章 继续ES6探索之旅
  • 18.1 将jQuery安装成一个Node模块
  • 18.2 创建ChatForm类
  • 将ChatForm连接到socket
  • 18.3 创建ChatList类
  • 18.4 使用Gravatar
  • 18.5 请求用户名
  • 18.6 使用会话存储
  • 18.7 格式化和更新消息时间戳
  • 18.8 初级挑战:给消息添加特效
  • 18.9 中级挑战:缓存消息
  • 18.10 高级挑战:独立的聊天室
  • 第四部分 应用架构
  • 第19章 初识MVC和Ember
  • 19.1 Tracker
  • 19.2 Ember:一款MVC框架
  • 19.2.1 安装Ember
  • 19.2.2 创建Ember应用
  • 19.2.3 启动服务器
  • 19.3 安装外部库和插件
  • 19.4 修改配置
  • 19.5 延展阅读:npm和Bower的安装命令
  • 19.6 初级挑战:限制引入
  • 19.7 中级挑战:添加Font Awesome库
  • 19.8 高级挑战:自定义NavBar
  • 第20章 路由选择、路由表、模型
  • 20.1 Ember生成器
  • 20.2 嵌套路由
  • 20.3 Ember Inspector
  • 20.4 指派模型
  • 20.5 beforeModel
  • 20.6 延展阅读:setupController和afterModel
  • 第21章 模型和数据绑定
  • 21.1 定义模型
  • 21.2 创建记录
  • 21.3 get和set
  • 21.4 计算属性
  • 21.5 延展阅读:检索数据
  • 21.6 延展阅读:保存或删除数据
  • 21.7 初级挑战:修改计算属性
  • 21.8 中级挑战:对新的目击记录进行标记
  • 21.9 高级挑战:添加称呼
  • 第22章 数据——适配器、序列化器和变换器
  • 22.1 适配器
  • 22.2 内容安全策略
  • 22.3 序列化器
  • 22.4 变换器
  • 22.5 延展阅读:Ember CLI Mirage
  • 22.6 中级挑战:内容安全
  • 22.7 高级挑战:Mirage
  • 第23章 视图与模板
  • 23.1 Handlebars
  • 23.2 模型
  • 23.3 辅助方法
  • 23.3.1 条件语句
  • 23.3.2 {{#each}}循环
  • 23.3.3 元素属性赋值
  • 23.3.4 链接
  • 23.4 自定义辅助方法
  • 23.5 初级挑战:为链接添加鼠标悬浮的内容
  • 23.6 中级挑战:修改日期格式
  • 23.7 高级挑战:创建一个自定义缩略图辅助方法
  • 第24章 控制器
  • 24.1 新建目击记录
  • 24.2 编辑目击记录
  • 24.3 删除目击记录
  • 24.4 路由动作
  • 24.5 初级挑战:目击记录详情页
  • 24.6 中级挑战:目击日期
  • 24.7 高级挑战:添加和删除目击者
  • 第25章 组件
  • 25.1 迭代器组件
  • 25.2 “拧干”组件的“水分”
  • 25.3 数据向下,动作向上
  • 25.4 类名绑定
  • 25.5 数据向下
  • 25.6 动作向上
  • 25.7 初级挑战:自定义提示信息
  • 25.8 中级挑战:将导航条转化为组件
  • 25.9 高级挑战:提示框数组
  • 第26章 后记
  • 26.1 最后的挑战
  • 26.2 插播一个广告
  • 26.3 感谢你
  • 看完了
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社·图灵出品

图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。