批量上传,套装书可能不全,下单前咨询在线客服!有特殊要求,下单前请咨询客服!
¥ 103.45 4.9折 ¥ 209 全新
库存15件
作者徐礼文
出版社清华大学出版社
ISBN9787302614746
出版时间2022-11
装帧平装
开本16开
定价209元
货号29494313
上书时间2024-11-02
随着Web技术的迅猛发展,以Electron、ReactNative、ArkUI等为代表的新的混合式开发模式日趋成为与Qt、Android、iOS原生开发并肩的开发模式之一。随着WebVR、WebAR、WebAssembly等一系列技术的日趋成熟,原本前端之间的隔阂会逐渐消失,逐步进入大前端开发的时代。
近几年,随着新硬件和新商业模式的兴起,传统的前端技术得到了新的应用和发展空间,特别是以HTML5和新一代JavaScript语言为代表的大前端技术正在渗透到技术的各个环节,这也对前端工程师提出了新的要求并带来了新的机遇。
HTML5和新一代JavaScript语言以其自身的广泛适配性和良好的运行效率已经不简单地只作为网页开发专用技术了,它们可以很好地和其他底层语言进行调用和连接,已经可以广泛适用于万物互联的场景应用开发。如华为公司在2021年推出了自己的下一代物联网操作系统(HarmonyOS)后,推出了自己的操作系统应用开发框架ArkUI,该框架就是基于JavaScript语言实现的一套跨终端的应用开发框架,它通过前端的JavaScript语言与底层的C 语言进行相互高效调用,实现了一套代码多端运行的目标。
2021年,全球社交平台Facebook正式更名为Meta,该名字源自Metaverse,中文翻译为元宇宙,意思是新型社会体系的数字生活空间。元宇宙是整合多种新技术产生的下一代三维化的互联网应用形态。它基于扩展现实技术和数字孪生技术实现从现实到虚拟的空间拓展; 借助人工智能和物联网实现虚拟人、自然人和机器人的融合共生; 借助区块链、Web 3.0、数字藏品/NFT等实现经济价值的增值。
这一新的模式必将带来重大的技术突破和新技术的创新,元宇宙时代的大前端开发将是一个突破传统前端局限而面向一体化的时代。
在新模式、新技术和新硬件的加持下,大前端未来可能进入下一个领域——元宇宙前端。可以看到目前WebVR、WebAR、WebGL等新的Web视觉和Web 3D技术正在兴起,未来必定成为前端的主流技术。
本书特色
本书通过介绍目前广为流行的三大前端框架及生态体系,带领读者全面掌握从移动互联应用开发到万物互联应用开发技术和实战技巧。本书共4篇15章,由浅入深,带领读者从学习移动互联开发(Vue、React)框架入手再到物联网开发(Flutter)框架开发。本书第1篇先从大前端主流开发语言(ECMAScript 6、TypeScript、Dart)讲起,在基础篇中全面介绍大前端打包构建流程及工程化体系。再从基础、原理和实战的三个纬度出发全面介绍Vue、React、Flutter三大框架的基础语法、实现原理、源码编译、核心算法及企业级组件库项目搭建。本书提供了大量的代码示例,读者可以通过这些例子理解知识点,也可以直接在开发实战中稍加修改而应用这些代码。另外,提供了书中所有案例所涉及的源码,以便于读者高效地学习。
本书内容
本书4篇15章的主要内容如下:
第1篇,开发基础篇(第1~6章)。第1章介绍大前端的发展过程和发展趋势; 第2章介绍ECMAScript 6语法及用法; 第3章介绍前端构建工具,详细介绍Webpack、Rollup、ESBuild和Vite的原理及使用; 第4章介绍TypeScript的语法及用法; 第5章介绍Dart的语法及用法; 第6章介绍MonoRepo管理模式及如何设计一个企业级脚手架工具。
第2篇,Vue 3框架篇(第7~9章)。第7章全面介绍Vue 3框架语法和使用; 第8章介绍Vue 3框架原理、Vue 3源码下载和编译、Vue 3的双向数据绑定和Vue 3 Diff算法原理; 第9章介绍如何构建一个基于Vue 3的组件库。
第3篇,React框架篇(第10~12章)。第10章介绍React框架语法和使用; 第11章介绍React框架原理、React源码下载和源码测试; 第12章介绍如何构建一个基于React的组件库。
第4篇,Flutter 2框架篇(第13~15章)。第13章介绍Flutter 2的语法和使用; 第14章介绍Flutter Web和桌面应用开发; 第15章介绍Flutter插件库开发与发布。
本书读者对象
学习本书内容需要具备一定的HTML、CSS、JS基础知识,本书可以作为前端开发者提升技能的工具书,也可以作为前端开发者搭建企业级前端产品体系的参考书,还可以作为普通开发者从网页开发过渡到万物互联开发的参考书。恳请读者批评指正。
致谢
感谢清华大学出版社赵佳霓编辑在写作本书过程中提出的宝贵意见,以及我的家人在写作过程中提供的支持与帮助。
徐礼文2022年8月
本书源码下载
随着移动互联时代到万物互联超级终端时代的变化,开发者也从移动互联开发转型到万物互联时代的超级终端开发,本书全面讲解大前端时代的核心技术栈和核心开发语言,并通过一本书融汇贯通,本书是普通前端开发者通向大前端架构师的桥梁,本书中涉及大量案例和企业一线实践操作经验,是前端开发者转型为大前端架构师的书籍。
本书共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组件设
— 没有更多了 —
以下为对购买帮助不大的评价