展开全部

主编推荐语

汇聚多年前端开发经验,覆盖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 小结
展开全部

评分及书评

3.7
3个评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。