3.7 用户推荐指数
科技
类型
8.4
豆瓣评分
可以朗读
语音朗读
230千字
字数
2019-08-01
发行日期
展开全部
主编推荐语
汇聚多年前端开发经验,覆盖JavaScript开发目前的热点领域,系统介绍前端开发工作中所需技能及工具。
内容简介
本书讲述了开发者使用JavaScript在各种Web开发场景下所需要掌握的重点知识和概念。从最基础的开发工具讲起,再到开发思维方式和前端页面开发,然后扩展到小程序开发和开发工具的混合应用,再讲解前后端交互最常用的网络协议及API设计,最后讲解了使用Node.js开发服务器端应用程序所需要掌握的核心概念。
全书以数据链为线索,对重要概念进行精练的分析和对比,从而帮助读者更好地理解和记忆。
本书既包括知识技能,又包括设计思想,“道”与“术”并重,让读者“知行合一”,既能“坐而论道”,也能“起而行之”。
目录
- 版权信息
- 前言
- 第1章 开发环境
- 1.1 代码编写工具
- 1.1.1 IDE
- 1.1.2 编辑器
- 1.1.3 最佳选择
- 1.2 Docker容器
- 1.2.1 Docker概述
- 1.2.2 Docker重要概念
- 1.2.3 Docker使用场景
- 1.2.4 Docker扩展
- 1.3 代码管理
- 1.3.1 什么是代码仓库
- 1.3.2 版本管理的意义
- 1.3.3 版本管理的常用操作
- 1.3.4 分支管理的意义
- 1.3.5 分支管理的常用操作
- 1.3.6 分支管理流程
- 1.4 其他软件
- 1.4.1 文件夹管理软件
- 1.4.2 快速搜索工具
- 1.4.3 终端管理软件
- 1.4.4 Chrome中的插件
- 1.5 硬件提升
- 1.5.1 提升程序运行速度
- 1.5.2 减少程序切换时间
- 1.6 小结
- 第2章 Web页面与多页应用
- 2.1 Web页面的运行环境
- 2.1.1 渲染引擎
- 2.1.2 JavaScript引擎
- 2.1.3 数据持久层
- 2.2 HTML
- 2.3 模板
- 2.3.1 模板的意义
- 2.3.2 常用模板分类
- 2.3.3 模板的重要功能
- 2.4 CSS盒模型
- 2.5 CSS
- 2.6 CSS布局
- 2.6.1 普通文档流
- 2.6.2 浮动
- 2.6.3 定位
- 2.6.4 弹性盒模型
- 2.7 CSS预处理
- 2.7.1 预处理的意义
- 2.7.2 预处理的重要功能
- 2.7.3 样式文件规划
- 2.7.4 样式类命名
- 2.8 JavaScript
- 2.8.1 实现功能逻辑
- 2.8.2 操作页面或浏览器
- 2.8.3 进行网络通信
- 2.8.4 第三方JavaScript库
- 2.8.5 JavaScript简史
- 2.9 自动化构建工具
- 2.9.1 自动化构建工具的作用
- 2.9.2 常用的自动化构建工具
- 2.10 小结
- 第3章 高效编写/组织代码的心法
- 3.1 拆分方式
- 3.1.1 按文件类型拆分
- 3.1.2 按功能类型拆分
- 3.1.3 按关注点拆分
- 3.2 抽象原则
- 3.2.1 第一原则:DRY
- 3.2.2 第二原则:YAGNI
- 3.2.3 第三原则:The Rule of Three
- 3.3 不止于代码
- 3.4 小结
- 第4章 模块
- 4.1 模块的意义
- 4.2 ECMAScript 5中的模块
- 4.2.1 立即执行函数表达式(Immediately-Invoked Function Expression)
- 4.2.2 显式模块声明
- 4.2.3 异步模块定义
- 4.2.4 共同模块定义
- 4.2.5 CommonJS
- 4.2.6 通用模块定义
- 4.3 ECMAScript 6中的模块
- 4.4 模块打包工具
- 4.5 小结
- 第5章 单页应用(SPA)
- 5.1 框架
- 5.2 视图与数据
- 5.2.1 双向数据绑定
- 5.2.2 单向数据流
- 5.3 路由
- 5.3.1 hash
- 5.3.2 history
- 5.4 组件
- 5.4.1 原生组件
- 5.4.2 第三方组件
- 5.5 小结
- 第6章 JavaScript的几个趋势
- 6.1 接口与数据类型
- 6.2 更好的异步解决方案
- 6.3 面向对象与类
- 6.3.1 封装
- 6.3.2 继承
- 6.3.3 多态
- 6.4 模块化
- 6.5 小结
- 第7章 小程序概述
- 7.1 常见的App
- 7.2 JavaScript开发者的一双翅膀
- 7.3 小程序的发展
- 7.4 小结
- 第8章 小程序与Web页面
- 8.1 WXML
- 8.1.1 WXML与HTML的相同之处
- 8.1.2 WXML与HTML的不同之处
- 8.2 WXSS
- 8.2.1 WXSS与CSS的相同点
- 8.2.2 WXSS与CSS的不同点
- 8.3 JavaScript与WXS
- 8.4 JSON
- 8.4.1 app.json
- 8.4.2 project.config.json
- 8.4.3 page.json
- 8.4.4 component.json
- 8.5 小结
- 第9章 小程序与单页应用
- 9.1 路由
- 9.1.1 路由配置
- 9.1.2 路由跳转
- 9.1.3 路由监听
- 9.2 组件
- 9.2.1 组件与页面
- 9.2.2 小程序组件与单页应用组件
- 9.3 web-view
- 9.3.1 作用
- 9.3.2 交互
- 9.4 小结
- 第10章 小程序的框架与插件
- 10.1 RxWX
- 10.2 WePY
- 10.3 mpvue
- 10.4 Taro
- 10.5 小结
- 第11章 小程序的开发工具与发布
- 11.1 开发者工具组成
- 11.1.1 模拟器
- 11.1.2 调试器
- 11.1.3 编辑器
- 11.1.4 其他功能
- 11.2 发布流程
- 11.2.1 小程序的版本
- 11.2.2 用户身份与权限
- 11.3 小结
- 第12章 其他混合应用简介
- 12.1 流应用
- 12.2 桌面应用
- 12.3 小结
- 第13章 HTTP协议与Web网站
- 13.1 HTTP的历史
- 13.2 HTTP的通信方式
- 13.3 HTTP的状态
- 13.4 小结
- 第14章 HTTP协议内容
- 14.1 请求行/状态行
- 14.1.1 URL
- 14.1.2 请求方法
- 14.1.3 状态码/状态信息
- 14.2 头部
- 14.2.1 通用头部字段
- 14.2.2 请求头部字段
- 14.2.3 响应头部字段
- 14.2.4 主体头部字段
- 14.2.5 其他头部字段
- 14.3 主体
- 14.4 Cookie
- 14.4.1 Cookie的分类
- 14.4.2 Cookie的使用
- 14.4.3 Cookie的缺陷
- 14.4.4 Cookie与存储
- 14.5 Cookie与状态
- 14.5.1 状态存储
- 14.5.2 状态获取
- 14.5.3 基于token的认证方式更好
- 14.6 小结
- 第15章 HTTP请求优化
- 15.1 减少连接/请求数
- 15.1.1 减少请求
- 15.1.2 减少连接
- 15.2 缓存数据
- 15.3 减少传输数据量
- 15.4 优化网络链路
- 15.4.1 减少域名
- 15.4.2 使用CDN
- 15.5 小结
- 第16章 HTTP/2协议
- 16.1 多路复用
- 16.2 压缩
- 16.3 支持TLS
- 16.4 应用层协议协商
- 16.5 服务器端推送
- 16.6 流控制
- 16.7 小结
- 第17章 HTTPS协议
- 17.1 HTTP的缺点
- 17.1.1 通信使用明文
- 17.1.2 不验证通信方身份
- 17.1.3 无法证明报文的完整性
- 17.2 理解HTTPS
- 17.2.1 HTTPS通信流程
- 17.2.2 密码学基础
- 17.2.3 摘要与签名
- 17.2.4 X.509与证书
- 17.3 小结
- 第18章 WebSocket协议
- 18.1 WebSocket与HTTP
- 18.2 WebSocket的使用
- 18.2.1 客户端
- 18.2.2 服务器端
- 18.3 小结
- 第19章 API
- 19.1 REST
- 19.1.1 REST API设计
- 19.1.2 REST API工具
- 19.2 GraphQL
- 19.2.1 GraphQL设计
- 19.2.2 GraphQL工具
- 19.3 小结
- 第20章 Node.js概述
- 20.1 为什么要学习Node.js
- 20.2 什么是Node.js
- 20.3 Node.js的历史
- 20.4 Node.js的结构
- 20.5 Node.js的运行机制
- 20.5.1 单线程
- 20.5.2 事件循环
- 20.6 学习Node.js的三个挑战
- 20.6.1 I/O回调
- 20.6.2 代码性能
- 20.6.3 多进程协作
- 20.7 小结
- 第21章 用Node.js编写Web服务器端
- 21.1 处理请求
- 21.1.1 创建服务器端
- 21.1.2 解析请求
- 21.2 响应结果
- 21.2.1 状态信息
- 21.2.2 响应头部
- 21.2.3 响应主体
- 21.3 路由解析
- 21.4 I/O操作
- 21.4.1 文件
- 21.4.2 数据库
- 21.4.3 网络请求
- 21.5 Web框架
- 21.5.1 Express
- 21.5.2 Koa
- 21.6 小结
- 第22章 Node.js内存控制
- 22.1 内存限制
- 22.2 内存管理
- 22.2.1 内存分配
- 22.2.2 内存回收
- 22.3 内存泄漏
- 22.3.1 缓存
- 22.3.2 不断增长的数组
- 22.3.3 重复的事件监听
- 22.4 大内存处理
- 22.5 小结
- 第23章 Node.js多进程
- 23.1 PM2模块
- 23.1.1 安装与使用
- 23.1.2 进程通信
- 23.1.3 进程管理
- 23.2 cluster模块
- 23.2.1 基本使用
- 23.2.2 进程通信
- 23.2.3 进程管理
- 23.3 child_process模块
- 23.3.1 基本使用
- 23.3.2 进程通信
- 23.3.3 进程管理
- 23.4 worker_threads模块
- 23.4.1 基本使用
- 23.4.2 线程通信
- 23.4.3 线程管理
- 23.5 小结
- 第24章 Node.js调试与测试
- 24.1 开发工具
- 24.2 调试工具
- 24.2.1 debug模块
- 24.2.2 Node Inspector
- 24.3 单元测试
- 24.3.1 单元测试的意义
- 24.3.2 单元测试代码编写原则
- 24.3.3 测试框架
- 24.3.4 测试风格
- 24.3.5 测试指标
- 24.4 小结
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。