注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计大前端三剑客:Vue+React+Flutter

大前端三剑客:Vue+React+Flutter

大前端三剑客:Vue+React+Flutter

定 价:¥209.00

作 者: 徐礼文
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302614746 出版时间: 2022-11-01 包装: 平装-胶订
开本: 16开 页数: 字数:  

内容简介

  随着移动互联时代到万物互联超级终端时代的变化,开发者也从移动互联开发转型到万物互联时代的超级终端开发,本书全面讲解大前端时代的核心技术栈和核心开发语言,并通过一本书融汇贯通,本书是普通前端开发者通向大前端架构师的桥梁,本书中涉及大量案例和企业一线实践操作经验,是前端开发者转型为大前端架构师的书籍。本书共4篇15个章。篇为基础篇(第1~6章),主要介绍大前端的发展趋势,大前端的基础开发语言(ES6、TypeScript、Dart),大前端构建工具和前端工程化体系,以及大前端的包管理和如何搭建一个企业级的脚手架工具。从第二篇至第四篇(第7~15章),分别介绍Vue 3、React和Flutter 2三大主流框架,帮助开发者学习和掌握的框架用法和生态体系。学习本书内容,需要具备一定的HTML、CSS、JS基础知识,本书可以作为前端开发者提升技能的工具书也可以作为普通开发者从网页开发过渡到万物互联开发的书籍。

作者简介

  徐礼文,北京理工大学信息技术创新学院老师、华为HDE、华为首届HarmonyOS开发者创新大赛导师、开放原子开源基金会开源导师。曾担任资深软件开发工程师、系统架构师、技术总监等职务,从事软件研究和开发15年。主要从事跨平台技术、人工智能、区块链,以及数字化架构方向的研究和技术指导工作,对国内外相关领域的技术、理论和实践有很深的理解和研究。

图书目录


第1篇基础篇
第1章大前端发展趋势
1.1大前端的发展过程
1.2Node.js引领JavaScript进入全栈时代
1.3小程序、轻应用开启前端新模式
1.4Flutter引领跨平台开发
1.5华为ArkUI探索物联网全场景开发
1.6大前端的革命与未来
第2章ECMAScript 6
2.1ECMAScript 6介绍
2.2Babel转码器
2.3let和const
2.4解构赋值
2.5字符串的扩展
2.5.1字符串新增方法
2.5.2字符串模板
2.6数组的扩展
2.6.1扩展运算符
2.6.2Array.from()
2.6.3Array.of()
2.6.4Array.find() 和 Array.findIndex()
2.6.5Array.includes()
2.6.6Array.copyWithin()
2.6.7Array.entries().keys().values()
2.6.8Array.fill()
2.6.9flat()、flatMap()
2.7对象的扩展
2.7.1对象字面量
2.7.2属性名表达式
2.7.3super关键字
2.7.4对象的扩展运算符
2.8Symbol
2.9Set和Map数据结构
2.9.1Map对象
2.9.2Set 对象
2.10Proxy
2.11Reflect
2.11.1Reflect()静态方法
2.11.2Reflect与Proxy组合使用
2.12异步编程
2.12.1Promise
2.12.2Generator
2.12.3async/await
2.13类的用法
2.13.1类的定义
2.13.2类的构造函数与实例
2.13.3类的属性和方法
2.13.4类的继承
2.14模块化Module
2.14.1ECMAScript 6的模块化特点
2.14.2模块化开发的优缺点
2.14.3模块的定义
2.14.4模块的导出
2.14.5模块的导入
第3章前端构建工具
3.1前端构建工具介绍
3.1.1为什么需要构建工具
3.1.2构建工具的功能需求
3.1.3前端构建工具演变
3.1.4NPM与Yarn、PNPM
3.2Webpack
3.2.1Webpack介绍
3.2.2Webpack安装与配置
3.2.3Webpack基础
3.2.4Webpack进阶
3.3Rollup
3.3.1Rollup介绍
3.3.2Rollup安装与配置
3.3.3Rollup基础
3.4ESBuild
3.5Vite
3.5.1Vite介绍
3.5.2Vite基本使用
3.5.3Vite原理
第4章TypeScript
4.1TypeScript介绍
4.2TypeScript安装与配置
4.3TypeScript基础数据类型
4.4TypeScript高级数据类型
4.4.1泛型
4.4.2交叉类型
4.4.3联合类型
4.5TypeScript面向对象特性
4.5.1类
4.5.2接口
4.6TypeScript装饰器
4.6.1属性装饰器
4.6.2方法装饰器
4.6.3参数装饰器
4.6.4类装饰器
4.7TypeScript模块与命名空间
4.7.1模块
4.7.2命名空间
第5章Dart语言
5.1Dart语言介绍
5.2安装与配置
5.3第1个Dart程序
5.4变量与常量
5.5内置类型
5.6函数
5.7运算符
5.8分支与循环
5.9异常处理
5.10面向对象编程
5.10.1类与对象
5.10.2类的继承
5.10.3抽象类
5.10.4多态
5.10.5隐式接口
5.10.6扩展类
5.11泛型
5.12异步支持
5.12.1Future对象
5.12.2async函数与await表达式
5.13库和库包
5.13.1库
5.13.2自定义库包
5.13.3系统库
5.13.4第三方库
第6章包管理与脚手架
6.1MonoRepo包管理
6.1.1单仓与多仓库管理
6.1.2Lerna包管理工具介绍
6.1.3Lerna包组织结构
6.1.4Lerna安装与配置
6.1.5Lerna操作流程演示
6.1.6Yarn Workspace
6.1.7Yarn Workspace与Lerna
6.2设计一个企业级脚手架工具
6.2.1脚手架作用
6.2.2常见的脚手架工具
6.2.3脚手架思路
6.2.4第三方依赖介绍
6.2.5脚手架架构图
6.2.6创建脚手架工程与测试发布
6.2.7脚手架命令行开发
第2篇Vue 3框架篇
第7章Vue 3语法基础
7.1Vue 3框架介绍
7.1.1Vue 3框架核心思想
7.1.2Vue 3框架的新特征
7.2Vue 3开发环境搭建
7.2.1Visual Code安装与配置
7.2.2安装Vue DevTools
7.2.3编写第1个Vue 3程序
7.3Vue 3项目搭建方法
7.3.1手动搭建Vue 3项目
7.3.2通过脚手架工具搭建Vue 3项目
7.3.3Vue 3项目目录结构
7.4Vue 3应用创建
7.4.1createApp()方法
7.4.2数据属性和方法
7.4.3计算属性和监听器
7.4.4模板和render()函数
7.5Vue 3模板语法
7.5.1插值表达式
7.5.2什么是指令
7.5.3数据绑定指令
7.5.4class与style绑定
7.5.5条件指令
7.5.6循环指令
7.5.7事件绑定指令
7.5.8表单绑定指令
7.5.9案例: 省市区多级联动效果
7.6Vue 3组件开发
7.6.1组件定义
7.6.2组件的命名规则
7.6.3组件的结构
7.6.4组件的接口属性
7.6.5组件的生命周期方法
7.6.6组件的插槽
7.6.7提供/注入模式
7.6.8动态组件与异步组件
7.6.9混入
7.7响应性API
7.7.1setup()
7.7.2ref()
7.7.3reactive()
7.7.4toRef
7.7.5toRefs()
7.7.6computed()
7.7.7watch()
7.7.8watchEffect
7.7.9setup()生命周期函数
7.7.10单页面组件
7.7.11Provide与Inject
7.8Vue 3过渡和动画
7.8.1过渡与动画
7.8.2Transition和TransitionGroup组件
7.8.3进入过渡与离开过渡
7.8.4案例: 飞到购物车动画
7.9Vue 3复用与组合
7.9.1自定义指令
7.9.2Teleport
7.9.3插件
7.10Vue 3路由
7.10.1路由入门
7.10.2路由参数传递
7.10.3嵌套模式路由
7.10.4命名视图
7.10.5路由守卫
7.10.6数据获取
7.11Vue 3状态管理(Vuex)
7.11.1状态管理模式
7.11.2Vuex和全局变量的概念区别
7.11.3Vuex中的5个重要属性
7.11.4Vuex开发入门基础
7.11.5Vuex开发实践
7.11.6Vuex中组合式API的用法
7.12Vue 3状态管理(Pinia)
7.12.1Pinia与Vuex写法比较
7.12.2Pinia安装和集成
7.12.3Pinia核心概念
第8章Vue 3进阶原理
8.1Vue 3源码安装编译与调试
8.1.1Vue 3源码包介绍
8.1.2Vue 3源码下载与编译
8.2Vue 3响应式数据系统核心原理
8.2.1reactivity模块介绍
8.2.2reactivity模块使用
8.2.3reactive实现原理
8.2.4依赖收集与派发更新
8.2.5Vue 3响应式原理总结
8.3Vue 2 Diff算法(双端Diff算法)
8.3.1双端Diff算法原理
8.3.2非理性状态的处理方式
8.4Vue 3 Diff算法(快速Diff算法)
第9章Vue 3组件库开发实战
9.1如何设计一个组件库
9.1.1组件库设计方法论
9.1.2组件库的设计原则
9.1.3组件库开发的技术选型
9.1.4组件框架样式主题设计
9.2搭建组件库项目
9.2.1搭建MonoRepo项目结构
9.2.2搭建基础组件库(packages/vueui3)
9.2.3搭建主题样式项目
9.3组件库详细设计
9.3.1Icon图标组件
9.3.2Button组件
9.4搭建Playgrounds项目
9.4.1创建Playgrounds项目
9.4.2测试Playgrounds项目
9.5组件库发布与集成
9.5.1添加publishConfig配置
9.5.2设置发布包的文件或者目录
9.5.3提交代码到Git仓库
9.5.4使用Commitizen规范的commit message
9.5.5使用Lint Husky规范的commit message
9.5.6使用Lerna生成changelogs
9.5.7将库发布到npmjs网站
第3篇React框架篇
第10章React语法基础
10.1框架介绍
10.1.1React框架由来
10.1.2React框架特点
10.2开发准备
10.2.1手动搭建React项目
10.2.2通过脚手架工具搭建React项目
10.2.3安装React调试工具
10.3JSX与虚拟DOM
10.3.1JSX语法介绍
10.3.2React.createElement和虚拟DOM
10.3.3事件处理
10.3.4条件渲染
10.3.5列表与Key
10.4元素渲染
10.4.1客户端渲染
10.4.2服务器端渲染
10.5组件
10.5.1React元素与组件的区别
10.5.2创建组件
10.5.3组件的输入接口
10.5.4组件的状态
10.5.5组件中函数处理
10.5.6组件的生命周期
10.5.7组件的引用
10.6组件设计与优化
10.6.1高阶组件
10.6.2Context模式
10.6.3Component 与PureComponent
10.6.4React.memo
10.6.5组件懒加载
10.6.6Portals
10.7React Hook
10.7.1React Hook介绍
10.7.2useState()
10.7.3useEffect()
10.7.4useLayoutEffect()
10.7.5useRef()
10.7.6useCallback()与useMemo()
10.7.7useContext()
10.7.8useReducer()
10.7.9自定义Hook
10.8路由(React Router)
10.8.1安装React Router
10.8.2两种模式的路由
10.8.3简单路由
10.8.4嵌套模式路由
10.8.5路由参数
10.8.6编程式路由导航
10.8.7多个Routes/
10.9状态管理(Redux)
10.9.1Redux介绍
10.9.2Redux基本用法
10.9.3Redux核心对象
10.9.4Redux中间件介绍
10.9.5Redux中间件(reduxthunk)
10.9.6Redux中间件(reduxsaga)
10.9.7Redux Toolkit简化Redux代码
10.10状态管理(Recoil)
10.10.1Recoil介绍
10.10.2Recoil核心概念
10.10.3Recoil核心API
10.11React移动端开发(React Native)
10.11.1React Native优点
10.11.2React Native安装与配置
第11章React进阶原理
11.1React源码调试
11.1.1React源码下载与编译
11.1.2React源码包介绍
11.2React架构原理
11.2.1React 15版架构 
11.2.2React 16版架构 
11.2.3React Scheduler实现
第12章React组件库开发实战
12.1React组件库设计准备
12.1.1组件库设计基本目标
12.1.2组件库技术选型
12.2搭建React组件库(MonoRepo)
12.2.1初始化Lerna项目
12.2.2创建React组件库(Package)
12.2.3创建一个Button组件
12.2.4使用Rollup进行组件库打包
12.3创建Playgrounds
12.4通过Jest搭建组件库测试
12.4.1安装配置测试框架
12.4.2编写组件测试代码
12.4.3启动单元测试
12.5使用Storybook搭建组件文档
12.6将组件库发布到NPM
第4篇Flutter 2框架篇
第13章Flutter语法基础
13.1Flutter介绍
13.2开发环境搭建
13.2.1Windows安装配置Flutter SDK
13.2.2macOS安装配置Flutter SDK
13.2.3配置VS Code开发Flutter
13.3第1个Flutter应用
13.3.1创建Flutter App项目
13.3.2编写Flutter App界面
13.3.3添加交互逻辑
13.4组件
13.5包管理
13.5.1pubspec.yaml文件
13.5.2通过pub仓库管理包
13.5.3以其他方式管理包
13.6资源管理
13.6.1图片资源管理
13.6.2多像素密度的图片管理
13.6.3字体资源的声明
13.6.4原生平台的资源设置
13.7组件设计风格
13.7.1Material(Android)风格组件
13.7.2Cupertino(iOS)风格组件
13.8尺寸单位与适配
13.9基础组件
13.9.1基础组件介绍
13.9.2构建布局
13.9.3列表与可滚动组件
13.9.4表单组件
13.10路由管理
13.10.1路由的基础用法
13.10.2路由传值
13.10.3命名路由
13.10.4路由拦截
13.10.5嵌套模式路由
13.11事件处理与通知
13.11.1原始指针事件
13.11.2手势识别
13.11.3全局事件总线
13.11.4事件通知
13.12网络
13.12.1HttpClient
13.12.2HTTP库
13.12.3Dio库
13.12.4WebSocket
13.12.5Isolate
13.13状态管理
13.13.1InheritedWidget
13.13.2scoped_model
13.14Stream与BLoC模式
13.14.1Stream
13.14.2RxDart
13.14.3BLoC模式
第14章Flutter Web和桌面应用
14.1Flutter Web介绍
14.1.1Flutter Web框架架构
14.1.2Flutter Web的两种编译器
14.1.3Flutter Web支持的两种渲染模式
14.1.4创建一个Flutter Web项目
14.2Flutter Desktop介绍
14.3Flutter Desktop开发案例
第15章Flutter插件库开发实战
15.1Flutter插件库开发介绍
15.2Flutter自定义组件库的3种方式
15.3Flutter自定义插件(Plugin)
15.4在Pub上发布自己的Package
 

本目录推荐