新書推薦:
《
冯友兰和青年谈心系列:不是问题的问题(哲学大师冯友兰和年轻人谈心,命运解读)
》
售價:HK$
55.8
《
月与蟹(青鲤文库)荣获第144届直木奖,天才推理作家经典作品全新译本。一部青春狂想曲,带你登上心理悬疑之巅。
》
售價:HK$
50.4
《
索恩丛书·盛清统治下的太监与皇帝
》
售價:HK$
88.5
《
透过器物看历史(全6册)
》
售價:HK$
490.6
《
我在台北故宫博物院读名画
》
售價:HK$
109.8
《
尼罗河往事:古埃及文明4000年
》
售價:HK$
76.2
《
一个人·谁也不是·十万人(诺贝尔文学奖得主反思自我的巅峰之作)
》
售價:HK$
54.9
《
重写晚明史(全5册 精装)
》
售價:HK$
781.8
|
編輯推薦: |
本书详细讲解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基础知识,希望本书能够对读者学习使用鸿蒙开发者框架构建美观,快速,跨终端的移动应用程序有所帮助。
|
關於作者: |
徐礼文,华为认证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.1LiteOSA 简介
1.4.2LiteOSM 简介
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.2etsloader编译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类
|
內容試閱:
|
随着IoT产业的快速发展,消费者手中拥有越来越多的智能设备,但当前智能设备的操作系统仍然是以面向单设备的体验为主,没有发挥出多设备协同的优势,少量设备互联的体验难以在整个生态内系统性地规模复制。
HarmonyOS作为万物互联时代的操作系统,用革命性的分布式技术带来“超级终端”,实现多终端协同,为用户提供“超级应用”和“超级服务”。对于设备厂家,基于HarmonyOS,可以更便捷地加入IoT生态,实现设备智能化的产业升级。对于应用厂家,基于全新的操作系统HarmonyOS可将应用触达更多类终端(包括手机),发掘更多流量入口,吸引更多用户,实现从智能手机市场到全新万物互联市场的变革。
在2020年9月10日的华为开发者大会上,HarmonyOS开源项目OpenHarmony正式对公众开源,并托管在开放原子开源基金会,首个版本支持128KB~128MB设备。自9月开源以来,得力于广大开发者的关注及贡献,OpenHarmony开源社区已陆续发布了1.0初始版本、3.0 LTS版本,完善了SIG申请及项目孵化机制、第三方库组件组织代码库及Codelabs样例代码库,并已成为Gitee平台热度的开源项目之一。
2021年,升级到HarmonyOS的华为自有品牌手机超过1亿部,OpenHarmony生态也逐步建立起来,华为和美的打造的智能家居操作系统已发布。HarmonyOS正在逐步改变国内产业生态和国际产业竞争格局。
希望本书能够帮助HarmonyOS应用开发爱好者打开国产操作系统应用开发之门,正如华为消费者业务CEO余承东先生所说: “没有人能够熄灭满天星光,每位开发者都是华为公司要汇聚的星星之火,星星之火可以燎原。”HarmonyOS正聚集每位开发者的努力和贡献,
HarmonyOS作为底层基石为企业数字化赋能,其芯片、人工智能等技术通过云端输出,为全球数字化创新带来了崭新的活力。基于HarmonyOS打造的HMS移动生态将是继安卓、iOS后全球第三大移动应用生态。
本书特色
本书详细讲解HarmonyOS ArkUI的两大UI开发框架: ArkUI JS 和ArkUI ETS。通过大量案例带领开发者深入掌握HarmonyOS轻设备(ArkUI JS)、富设备(ArkUI ETS)和智能家居(OpenHarmony 3.0 LTS)方向应用开发,通过游戏案例教学的方式,让读者快速学习和掌握基于HarmonyOS的应用开发。同时本书提供了大量的代码示例,读者可以通过这些例子理解知识点,也可以直接在开发实战中修改并应用这些代码。另外,笔者专门为本书中的游戏实战章节录制了高清配套教学视频,并提供了本书涉及的源代码,以便于读者高效、直观地学习。
本书内容
本书分六篇共20章,主要内容如下:
篇,共2章,介绍HarmonyOS的系统特性、架构和应用开发环境搭建;
第二篇,共4章,深入浅出地介绍ArkUI JS框架内置组件、服务接口等,其中第5章通过一个分布式游戏案例深入讲解鸿蒙分布式应用开发的技巧,第6章深入讲解原子化服务和服务卡片的开发;
第三篇,共5章,深入讲解ArkUI JavaScript API;
第四篇,共3章,深入讲解ArkUI声明式UI框架(ArkUI ETS),其中第12章系统讲解ArkUI声明式框架的开发语言TypeScript,第14章深入介绍ArkUI ETS实战: 华为商城App开发;
第五篇,共3章,介绍OpenHarmony 3.0 LTS的源码下载、编译、烧录、北向和南向混合应用开发;
第六篇,共3章,介绍轻设备端JavaScript框架和富设备端JavaScript框架的原理,其中第20章详细介绍如何开发一个类Web范式的组件,并提交Gitee OpenHarmony仓库。
本书读者对象
学习本书内容需要具备一定的HTML、CSS、JavaScript基础知识,希望本书能够对读者学习使用鸿蒙开发者框架构建美观、快速、跨终端的移动应用程序有所帮助。本书适合HarmonyOS应用开发爱好者,以及嵌入式爱好者阅读。
致谢
感谢华为杭州研究所JS开发框架负责人吴勇辉、HarmonyOS JS框架架构师马家骏在写作本书过程中提出的宝贵改进意见,以及在写作本书过程中华为上海研究所于小飞提供的支持与帮助。
目前HarmonyOS ArkUI框架版本迭代较快,本书所涉及的内容可能在未来鸿蒙的框架版本中有所变化,望大家谅解。
徐礼文2022年1月
本书源代码
|
|