论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
移动端开发
›
鸿蒙
›
鸿蒙Next开辟速成(持续更新)
鸿蒙Next开辟速成(持续更新)
十念
金牌会员
|
2024-10-13 16:19:04
|
显示全部楼层
|
阅读模式
楼主
主题
827
|
帖子
827
|
积分
2481
整体概念
1、API涵盖应用框架、体系、媒体、图形、应用服务、AI六大领域。
应用框架相关Kit开放能力:Ability Kit(程序框架服务)、ArkUI(方舟UI框架)等。
体系相关Kit开放能力:Universal Keystore Kit(密钥管理服务)、Network Kit(网络服务)等。
媒体相关Kit开放能力:Audio Kit(音频服务)、Media Library Kit(媒体文件管理服务)等。
图形相关Kit开放能力:ArkGraphics 2D(方舟2D图形服务)、Graphics Accelerate Kit(图形加快服务)等。
应用服务相关Kit开放能力:Game Service Kit(游戏服务)、Location Kit(位置服务)等。
AI相关Kit开放能力:Intents Kit(意图框架服务)、HiAI Foundation Kit(HiAI Foundation服务)等。
开辟模型
开辟模型分为两种:
Stage模型
FA模型
官方保举使用stage模型进行开辟。
程序的包结构
Ability类型的Module,天生hap。
Library类型的Module,Library类型的Module分为Static和Shared两种类型,编译后会天生共享包。
Static Library:静态共享库。编译后会天生一个以.har为后缀的文件,即静态共享包HAR(Harmony Archive)。
Shared Library:动态共享库。编译后会天生一个以.hsp为后缀的文件,即动态共享包HSP(Harmony Shared Package)。
代码结构
配置文件
包括应用级配置信息、以及Module级配置信息:
AppScope > app.json5:app.json5配置文件,用于声明应用的全局配置信息,比如应用Bundle名称、应用名称、应用图标、应用版本号等。
Module_name > src > main > module.json5:module.json5配置文件,用于声明Module基本信息、支持的设备类型、所含的组件信息、运行所需申请的权限等。
ArkTS源码文件 Module_name > src > main > ets:用于存放Module的ArkTS源码文件(.ets文件)。
资源文件
包括应用级资源文件、以及Module级资源文件,支持图形、多媒体、字符串、布局文件等,详见资源分类与访问。
AppScope > resources :用于存放应用必要用到的资源文件。
Module_name > src > main > resources :用于存放该Module必要用到的资源文件。
其他配置文件
用于编译构建,包括构建配置文件、编译构建任务脚本、肴杂规则文件、依靠的共享包信息等。
build-profile.json5:工程级或Module级的构建配置文件,包括应用签名、产品配置等。
hvigorfile.ts:应用级或Module级的编译构建任务脚本,开辟者可以自界说编译构建工具版本、控制构建举动的配置参数。
obfuscation-rules.txt:肴杂规则文件。肴杂开启后,在使用Release模式进行编译时,会对代码进行编译、肴杂及压缩处理惩罚,保护代码资产。
oh-package.json5:用于存放依靠库的信息,包括所依靠的三方库和共享包。
编译与运行
从开辟态到编译态,Module中的文件会发生如下变更:
ets目次:ArkTS源码编译天生.abc文件。
resources目次:AppScope目次下的资源文件会合入到Module下面资源目次中,假如两个目次下存在重名文件,编译打包后只会保存AppScope目次下的资源文件。
module配置文件:AppScope目次下的app.json5文件字段会合入到Module下面的module.json5文件之中,编译后天生HAP或HSP最终的module.json文件。
App Pack是发布上架到应用市场的基本单元,但是不能在设备上直接安装和运行。
编译包安装调试
// 安装、更新,多HAP可以指定多个文件路径
hdc install entry.hap feature.hap
// 执行结果
install bundle successfully.
// 卸载
hdc uninstall com.example.myapplication
// 执行结果
uninstall bundle successfully.
复制代码
模拟器与真机的差异
模拟器与真机有些差异,执行程序最好以真机为主。
ArkTS语言
TypeScript的拓展
逼迫使用静态类型:静态类型是ArkTS最重要的特性之一。假如使用静态类型,那么程序中变量的类型就是确定的。同时,由于所有类型在程序现实运行前都是已知的,编译器可以验证代码的准确性,从而镌汰运行时的类型查抄,有助于性能提拔。
克制在运行时改变对象布局:为实现最大性能,ArkTS要求在程序执行期间不能更改对象布局。
限制运算符语义:为获得更好的性能并鼓励开辟者编写更清晰的代码,ArkTS限制了一些运算符的语义。比如,一元加法运算符只能作用于数字,不能用于其他类型的变量。
不支持Structural typing:对Structural typing的支持必要在语言、编译器和运行时进行大量的考虑和细致的实现,当前ArkTS不支持该特性。
当前,在UI开辟框架中,ArkTS重要扩展了如下能力:
基本语法:ArkTS界说了声明式UI描述、自界说组件和动态扩展UI元素的能力,再共同ArkUI开辟框架中的体系组件及其相关的事件方法、属性方法等共同构成了UI开辟的主体。
状态管理:ArkTS提供了多维度的状态管理机制。在UI开辟框架中,与UI相关联的数据可以在组件内使用,也可以在差异组件层级间传递,比如父子组件之间、爷孙组件之间,还可以在应用全局范围内传递或跨设备传递。另外,从数据的传递情势来看,可分为只读的单向传递和可变更的双向传递。开辟者可以机动地使用这些能力来实现数据和UI的联动。
渲染控制:ArkTS提供了渲染控制的能力。条件渲染可根据应用的差异状态,渲染对应状态下的UI内容。循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。数据懒加载从数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
十念
金牌会员
这个人很懒什么都没写!
楼主热帖
Velero系列文章(四):使用Velero进行 ...
微光互联 TX800-U 扫码器无法输出中文 ...
三天吃透Kafka面试八股文
Kali Linux利用MSF入侵安卓手机(小白版 ...
C/C++函数的调用约定详解
SonarQube安全扫描
【图书管理系统】Servlet+JSP+MySql 实 ...
Java多线程(一篇从0讲透)
xmrig挖矿样本分析 miner
Android Studio 实现登录注册-源代码 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表