HarmonyOS应用开发实战(JavaScript版)
- ISBN:9787302600312
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:540
- 出版时间:2022-03-01
- 条形码:9787302600312 ; 978-7-302-60031-2
本书特色
本书详细讲解HarmonyOS ArkUI的两大UI开发框架:ArkUI JS 和ArkUI ETS。通过大量案例带领开发者深入掌握HarmonyOS轻应用(ArkUI JS)、富应用(ArkUI ETS)、和智能家居(OpenHarmony 3.0 LTS)方向应用开发,通过游戏案例教学的方式,让读者快速学习和掌握基于鸿蒙操作系统的应用开发的能力。同时本书中提供了大量的代码示例,读者可以通过这些例子理解知识点,也可以直接在开发实战中稍加修改应用这些代码。
内容简介
本书详细讲解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基础知识,希望本书能够对读者学习使用鸿蒙开发者框架构建美观,快速,跨终端的移动应用程序有所帮助。
目录
**篇 开发准备篇
第1章 HarmonyOS系统简介
1.1 HarmonyOS的设计目标
1.1.1 5G万物互联时代
1.1.2 物联网操作系统碎片化
1.1.3 下一代操作系统的发展方向
1.2 HarmonyOS技术特性
1.2.1 分布式架构
1.2.2 操作系统可裁剪
1.2.3 一套代码多端运行
1.3 HarmonyOS技术架构
1.3.1 内核层
1.3.2 系统服务层
1.3.3 架构层
1.3.4 应用层
1.4 HarmonyOS与LiteOS
1.4.1 LiteOS-A 简介
1.4.2 LiteOS-M 简介
1.5 OpenHarmony生态
1.5.1 Android与 AOSP
1.5.2 HarmonyOS与 OpenHarmony
1.6 HarmonyOS与Fuchsia OS
1.6.1 Fuchsia OS系统架构
1.6.2 Fuchsia 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.1 ArkUI JS框架介绍
3.1.1 ArkUI JS框架的特征
3.1.2 ArkUI JS架构介绍
3.1.3 ArkUI 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.1 Flexbox布局
3.4.2 Grid网格布局
3.5 语法详细讲解
3.5.1 HML语法
3.5.2 CSS语法
3.5.3 JS逻辑
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.1 JavaScript调用Service Ability
4.1.1 JS端调用远端Service Ability
4.1.2 JS端订阅远端Service Ability
4.2 JS端调用音乐播放Service Ability
4.2.1 申请分布式使用权限
4.2.2 创建Java端Service Ability
4.2.3 音乐播放器前端的 UI
4.2.4 封装JS前端调用Service Ability的方法
4.2.5 JS端调用Service Ability的方法
4.2.6 音乐播放器遥控 UI
4.2.7 音乐播放器遥控逻辑实现
4.2.8 通过实体音量键控制远程设备音量
4.2.9 JS端订阅Service Ability中的播放状态
4.2.10 本节小结
4.3 JavaScript项目混合Java UI开发
4.3.1 JS Ability和Java Ability跳转
4.3.2 JS端调用相机拍照功能
第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.2 WebSocket
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.1 ArkUI TypeScript介绍
12.2 ets-loader编译ETS
12.3 TypeScript基础数据类型
12.3.1 布尔值
12.3.2 数字
12.3.3 字符串
12.3.4 数组
12.3.5 元组
12.3.6 枚举
12.3.7 any
12.3.8 void
12.3.9 null和undefined
12.3.10 never
12.4 TypeScript高级数据类型
12.4.1 泛型
12.4.2 交叉类型
12.4.3 联合类型
12.5 TypeScript面向对象特性
12.5.1 类
12.5.2 接口
12.6 TypeScript装饰器
12.6.1 属性装饰器
12.6.2 方法装饰器
12.6.3 参数装饰器
12.6.4 类装饰器
12.7 TypeScript模块与命名空间
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.3 AppStorage与组件同步
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.2 JS标签配置
13.6.3 app.ets
13.6.4 资源访问
13.6.5 像素单位
13.7 界面布局
13.7.1 Flex布局
13.7.2 Grid布局
13.7.3 堆叠布局
13.7.4 栅格布局
13.8 基础组件
13.8.1 Text组件
13.8.2 Button组件
13.8.3 Image组件
13.8.4 List组件
13.8.5 Swiper组件
13.8.6 Tabs组件
13.8.7 Scroll组件
13.8.8 AlertDialog组件
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.1 OpenHarmony介绍
15.2 OpenHarmony 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.1 OpenHarmony命令行启动hdcd
16.4.2 下载hdc_std工具
16.4.3 配置环境变量(Windows)
16.4.4 使用hdc_std安装 HAP
16.4.5 Hi3516DV300的运行
16.4.6 hdc_std连接不到设备
第17章 OpenHarmony “HiSpark智能赛车”
17.1 鸿蒙 HiSpark智能赛车游戏介绍
17.2 HiSpark智能赛车端实现
17.2.1 HiSpark赛车配置 WiFi网络
17.2.2 HiSpark赛车电机驱动
17.2.3 HiSpark赛车操作控制
17.3 将赛车控制模块添加到鸿蒙源码并编译
17.3.1 添加赛车控制模块代码
17.3.2 编译 OpenHarmony源码
17.3.3 烧录 OpenHarmony
17.4 鸿蒙 HAP端控制赛车实现
17.4.1 赛车控制手柄界面实现??
17.4.2 将赛车控制手柄设置为横屏模式
17.4.3 Java端通过Service Ability发送指令
17.4.4 赛车控制手柄界面逻辑实现
17.5 本章小结
第六篇 提 高 篇
第18章 轻鸿蒙端JavaScript框架
18.1 JerryScript轻量级引擎
18.1.1 编译JerryScript
18.1.2 运行JerryScript
18.2 轻量级JS核心开发框架
18.2.1 JS Framework
18.2.2 组件绑定实现
18.2.3 路由实现
18.2.4 图形绘制层
18.2.5 渲染流程
第19章 富鸿蒙端JavaScript框架
19.1 QuickJS引擎
19.1.1 安装基础编译环境
19.1.2 通过Git下载 QuickJS源码
19.1.3 编译 QuickJS
19.1.4 编译验证JS
19.2 Google V8引擎
19.3 ArkUI JS Engine框架
19.4 新方舟编译器(ArkCompiler 3.0)
第20章 类 Web范式组件设计与开发
20.1 JavaScript端组件设计
20.1.1 前端组件效果
20.1.2 组件的详细设计
20.2 JS的界面解析
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类
作者简介
徐礼文,华为认证HDE(HUAWEI Developer Experts)、华为首届HarmonyOS开发者创新大赛导师、开放原子开源基金会教育认证讲师、iCAN全国大学生创新创业大赛优秀导师。曾担任资深软件开发工程师、系统架构师、技术总监等职务,从事软件研究和开发15年。主要从事跨平台技术、人工智能、区块链,以及数字化架构方向的研究和技术指导工作,对国内外相关领域的技术、理论和实践有很深的理解和研究。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0