书籍详情

鸿蒙HarmonyOS应用开发实战(JavaScript版)

鸿蒙HarmonyOS应用开发实战(JavaScript版)

作者:徐礼文

出版社:清华大学出版社

出版时间:2022-03-01

ISBN:9787302600312

定价:¥129.00

购买这本书可以去
内容简介
  本书详细讲解HarmonyOS ArkUI(方舟开发框架)的两大UI框架:ArkUI JS(类Web范式框架)和ArkUI ETS(声明式UI范式框架)。通过大量案例带领开发者深入掌握HarmonyOS轻应用(ArkUI JS)、富应用(ArkUI ETS)、和智能家居(OpenHarmony 3.0 LTS)方向应用开发。 本书共6篇20个章节。篇为开发准备篇,共2章,介绍HarmonyOS的系统特性,架构和应用开发环境搭建;第二篇为类Web范式框架篇,共4章,深入浅出介绍ArkUI JS框架、内置组件、服务接口等,第5章通过一个分布式游戏案例深入讲解鸿蒙分布式应用开发的技巧,第6章深入讲解原子化服务和服务卡片的开发;第三篇为接口篇,共5章,深入讲解ArkUI JavaScript API;第四篇为声明式UI范式篇,共3章,深入讲解ArkUI声明式UI框架(ArkUI ETS),本篇第12章系统讲解ArkUI声明式框架的开发语言TypeScript,本篇第14章通过深入介绍ArkUI ETS实战:华为商城APP开发;第五篇为OpenHarmony篇,共3章,分别介绍OpenHarmony 3.0LTS的源码下载、编译、烧录和北向和南向应用开发;第六篇为提高篇,共3章,分别介绍轻鸿蒙端JavaScript框架和富鸿蒙端JavaScript框架的原理,后一章详细介绍如何给开发一个类Web范式的组件,并提交给Gitee OpenHarmony仓库。 学习本书内容,需要具备一定的HTML、CSS、JS基础知识,希望本书能够对读者学习使用鸿蒙开发者框架构建美观,快速,跨终端的移动应用程序有所帮助。
作者简介
  徐礼文,华为认证HDE (HUAWEI Developer Experts)、华为首届HarmonyOS开发者创新大赛导师、开放原子开源基金会教育认证讲师、iCAN全国大学生创新创业大赛优秀导师。曾担任资深软件开发工程师、系统架构师、技术总监等职务,从事软件研究和开发15年。主要从事跨平台技术、人工智能、区块链,以及数字化架构方向的研究和技术指导工作,对国内外相关领域的技术、理论和实践有很深的理解和研究。
目录
篇开发准备篇
第1章HarmonyOS系统简介
1.1HarmonyOS的设计目标
1.1.15G万物互联时代
1.1.2物联网操作系统碎片化
1.1.3下一代操作系统的发展方向
1.2HarmonyOS技术特性
1.2.1分布式架构
1.2.2操作系统可裁剪
1.2.3一套代码多端运行
1.3HarmonyOS技术架构
1.3.1内核层
1.3.2系统服务层
1.3.3架构层
1.3.4应用层
1.4HarmonyOS与LiteOS
1.4.1LiteOSA 简介
1.4.2LiteOSM 简介
1.5OpenHarmony生态
1.5.1Android与AOSP
1.5.2HarmonyOS与OpenHarmony
1.6HarmonyOS与Fuchsia OS
1.6.1Fuchsia OS系统架构
1.6.2Fuchsia OS与产业
1.7本章小结
第2章开发环境搭建
2.1鸿蒙应用开发环境搭建
2.1.1下载和安装Node.js
2.1.2下载和安装DevEco Studio
2.1.3运行Hello World
2.2鸿蒙应用程序运行调试
2.2.1在远程模拟器中运行应用
2.2.2在Simulator中运行应用
2.3使用真机设备运行应用
2.3.1手动真机签名流程
2.3.2自动化真机签名流程
2.4本章小结
第二篇ArkUI JS UI篇
第3章ArkUI JS框架详细讲解
3.1ArkUI JS框架介绍
3.1.1ArkUI JS框架的特征
3.1.2ArkUI JS架构介绍
3.1.3ArkUI JS运行流程
3.2创建一个ArkUI JS项目
3.2.1新建ArkUI JavaScript项目
3.2.2编写界面布局
3.2.3编写界面逻辑代码
3.2.4通过模拟器预览效果
3.3项目目录结构
3.3.1项目整体结构
3.3.2项目的配置文件
3.3.3资源文件的使用方式
3.4页面布局
3.4.1Flexbox布局
3.4.2Grid网格布局
3.5语法详细讲解
3.5.1HML语法
3.5.2CSS语法
3.5.3JS逻辑
3.5.4多语言支持
3.6内置组件
3.6.1容器组件
3.6.2基础组件
3.6.3媒体组件
3.6.4画布组件
3.7自定义组件
3.7.1自定义组件定义
3.7.2自定义组件事件与交互
3.8本章小结
第4章ArkUI JS与Java混合开发
4.1JavaScript调用Service Ability
4.1.1JS端调用远端Service Ability
4.1.2JS端订阅远端Service Ability
4.2JS端调用音乐播放Service Ability
4.2.1申请分布式使用权限
4.2.2创建Java端Service Ability
4.2.3音乐播放器前端的UI
4.2.4封装JS前端调用Service Ability的方法
4.2.5JS端调用Service Ability的方法
4.2.6音乐播放器遥控UI
4.2.7音乐播放器遥控逻辑实现
4.2.8通过实体音量键控制远程设备音量
4.2.9JS端订阅Service Ability中的播放状态
4.2.10本节小结
4.3JavaScript项目混合Java UI开发
4.3.1JS Ability和Java Ability跳转
4.3.2JS端调用相机拍照功能
第5章ArkUI JS游戏开发案例
5.1飞机大战游戏介绍
5.2飞机大战游戏分析
5.2.1游戏性能问题分析
5.2.2游戏角色分析
5.3飞机大战核心算法
5.3.1碰撞检测算法
5.3.2子弹飞行算法
5.4飞机大战游戏界面实现
5.4.1游戏主界面
5.4.2游戏控制手柄界面
5.5飞机大战核心代码实现——单机篇
5.5.1加载游戏资源
5.5.2太空背景动画
5.5.3游戏动画入口
5.5.4绘制游戏主角
5.5.5绘制游戏敌机
5.5.6绘制子弹对象
5.5.7绘制爆炸效果
5.5.8操作主角飞机
5.6飞机大战核心代码实现——鸿蒙篇
5.6.1多设备间游戏流转
5.6.2实现游戏远程控制
5.7本章小结
第6章原子化服务和服务卡片开发
6.1什么是原子化服务
6.1.1原子化服务特征
6.1.2原子化服务与传统应用的区别
6.1.3原子化服务上架流程
6.1.4原子化服务开发要求
6.1.5原子化服务开发流程
6.2什么是服务卡片(Service Widget)
6.2.1服务卡片定义
6.2.2服务卡片的三大特征
6.2.3服务卡片的设计规范
6.2.4服务卡片的整体架构
6.3服务卡片开发详细讲解
6.3.1创建JavaScript服务卡片
6.3.2服务卡片界面实现
6.3.3服务卡片数据绑定
6.3.4服务卡片数据更新
6.3.5服务卡片跳转事件和消息事件
第三篇JavaScript API篇
第7章基本功能接口
7.1页面路由
7.1.1页面路由用法
7.1.2页面路由动画
7.2应用上下文
7.3日志打印
7.4应用配置
7.5窗口
7.6弹框
7.7动画
7.8剪贴板
第8章网络与媒体接口
8.1网络访问
8.2WebSocket
8.3上传和下载
8.4媒体
第9章分布式能力接口
9.1分布式迁移
9.1.1申请分布式迁移权限
9.1.2通过FeatureAbility发起迁移
9.2分布式拉起
9.2.1申请分布式迁移权限
9.2.2允许以显式的方式拉起远程或本地的FA
9.2.3拉起远程带返回值的FA
9.2.4分布式API在FA中的生命周期
9.3文件数据管理
9.3.1轻量级存储
9.3.2文件管理
第10章系统设备接口
10.1消息通知
10.2地理位置
10.3设备信息
10.4应用管理
10.5媒体查询
10.6振动
第11章多实例管理
11.1多实例接口
11.1.1多Ability实例管理
11.1.2多Ability之间跳转
11.2使用NPM安装JavaScript模块
第四篇ArkUI ETS UI篇
第12章ArkUI ETS开发语言入门
12.1ArkUI TypeScript介绍
12.2etsloader编译ETS
12.3TypeScript基础数据类型
12.3.1布尔值
12.3.2数字
12.3.3字符串
12.3.4数组
12.3.5元组
12.3.6枚举
12.3.7any
12.3.8void
12.3.9null和undefined
12.3.10never
12.4TypeScript高级数据类型
12.4.1泛型
12.4.2交叉类型
12.4.3联合类型
12.5TypeScript面向对象特性
12.5.1类
12.5.2接口
12.6TypeScript装饰器
12.6.1属性装饰器
12.6.2方法装饰器
12.6.3参数装饰器
12.6.4类装饰器
12.7TypeScript模块与命名空间
12.7.1模块
12.7.2命名空间
第13章ArkUI ETS框架详细讲解
13.1框架特点
13.2组件化设计
13.2.1组件装饰器@Component
13.2.2组件的内部私有状态@State
13.2.3组件的输入和输出属性
13.2.4单向同步父组件状态@Prop
13.2.5双向同步状态@Link
13.2.6自定义组件的生命周期函数
13.2.7跨组件数据传递@Consume和@Provide
13.2.8监听变量状态变更@Watch
13.2.9自定义组件方法@Builder
13.2.10统一组件样式@Extend
13.3状态管理仓库
13.3.1持久化数据管理
13.3.2环境变量Environment
13.3.3AppStorage与组件同步
13.4渲染控制语法
13.4.1条件渲染if...else...
13.4.2循环渲染ForEach
13.5动画效果
13.5.1属性动画
13.5.2显式动画
13.5.3转场动画
13.5.4手势处理
13.6框架结构详细讲解
13.6.1文件组织
13.6.2JS标签配置
13.6.3app.ets
13.6.4资源访问
13.6.5像素单位
13.7界面布局
13.7.1Flex布局
13.7.2Grid布局
13.7.3堆叠布局
13.7.4栅格布局
13.8基础组件
13.8.1Text组件
13.8.2Button组件
13.8.3Image组件
13.8.4List组件
13.8.5Swiper组件
13.8.6Tabs组件
13.8.7Scroll组件
13.8.8AlertDialog组件
13.8.9自定义弹框
第14章ArkUI ETS UI开发案例
14.1华为商城框架封装
14.1.1公共组件封装
14.1.2公共数据接口封装
14.2商城首页实现
14.2.1头部组件
14.2.2头部滚动
14.2.3轮播广告
14.2.4导航菜单
14.2.5限时购
14.3商城商品分类页实现
14.3.1中间左侧分类区
14.3.2中间右侧商品区
14.4商品详情页实现
14.4.1头部商品图片轮播区
14.4.2商品价格展示栏
14.4.3商品底部购买栏
第五篇OpenHarmony篇
第15章OpenHarmony基础
15.1OpenHarmony介绍
15.2OpenHarmony 3.0 LTS编译与烧录
15.2.1编译环境搭建
15.2.2标准系统编译和烧录
第16章OpenHarmony应用开发详细讲解
16.1配置OpenHarmony SDK
16.2创建OpenHarmony工程
16.2.1选择项目模板
16.2.2创建ArkUI JS项目
16.3配置OpenHarmony应用签名信息
16.3.1生成密钥和证书请求文件
16.3.2生成应用证书文件
16.3.3生成应用Profile文件
16.3.4配置应用签名信息
16.4推送并将HAP安装到开发板/设备
16.4.1OpenHarmony命令行启动hdcd
16.4.2下载hdc_std工具
16.4.3配置环境变量(Windows)
16.4.4使用hdc_std安装HAP
16.4.5Hi3516DV300的运行
16.4.6hdc_std连接不到设备
第17章OpenHarmony “HiSpark智能赛车”
17.1鸿蒙HiSpark智能赛车游戏介绍
17.2HiSpark智能赛车端实现
17.2.1HiSpark赛车配置WiFi网络
17.2.2HiSpark赛车电机驱动
17.2.3HiSpark赛车操作控制
17.3将赛车控制模块添加到鸿蒙源码并编译
17.3.1添加赛车控制模块代码
17.3.2编译OpenHarmony源码
17.3.3烧录OpenHarmony
17.4鸿蒙HAP端控制赛车实现
17.4.1赛车控制手柄界面实现
17.4.2将赛车控制手柄设置为横屏模式
17.4.3Java端通过Service Ability发送指令
17.4.4赛车控制手柄界面逻辑实现
17.5本章小结
第六篇提高篇
第18章轻鸿蒙端JavaScript框架
18.1JerryScript轻量级引擎
18.1.1编译JerryScript
18.1.2运行JerryScript
18.2轻量级JS核心开发框架
18.2.1JS Framework
18.2.2组件绑定实现
18.2.3路由实现
18.2.4图形绘制层
18.2.5渲染流程
第19章富鸿蒙端JavaScript框架
19.1QuickJS引擎
19.1.1安装基础编译环境
19.1.2通过Git下载QuickJS源码
19.1.3编译QuickJS
19.1.4编译验证JS
19.2Google V8引擎
19.3ArkUI JS Engine框架
19.4新方舟编译器(ArkCompiler 3.0)
第20章类Web范式组件设计与开发
20.1JavaScript端组件设计
20.1.1前端组件效果
20.1.2组件的详细设计
20.2JS的界面解析
20.2.1在dom_type中增加新组件的属性定义
20.2.2新增DOMMyCircle类
20.3后端的布局和绘制
20.3.1新增MyCircleComponent类
20.3.2新增MyCircleElement类
20.3.3新增RenderMyCircle类
20.3.4新增FlutterRenderMyCircle类
 
猜您喜欢

读书导航