当前位置:首页 > 每日看点 > 正文内容

鸿蒙harmonyos全面开源意味着什么?

卡卷网1年前 (2025-01-08)每日看点222

自HarmonyOS3.1开始,HarmonyOS推出应用开发Stage模型,并在ArkTS语言、应用程序框架、We、ArkUI等子能力方面有所更新或增强。

HarmonyOS3.1开放的功能包括:

    Aility框架新增Stage开发模型,包含Stage模型生命周期、调度、回调、上下文获取、鉴权等。同时增强了应用的运行能力。ArkUI开发框架增强了声明式Canvas/XComponent组件能力,增强了组件布局能力及状态能力,优化了部分组件的易用性。应用包新增查询应用、Aility和ExtensionAility相关属性的接口。公共基础类库新增支持uffer二进制读写。We服务新增支持文档类We应用的文档预览和基础编辑功能,以及cookie的和存储。图形图像新增支持YUV、wep图片编等能力;新增nativevsync能力,支持自绘制引擎自主控制渲染节奏。媒体服务新增相机配置与预览功能。窗口服务新增Stage模型下窗口相关接口,增强窗口旋转能力,增强避让区域查询能力。全球化服务新增支持时区列表、音译、号码归属地等国际化增强能力。公共事件基础能力增强,commonEvent模块变更为commonEventManager。资源服务新增资源获取的同步接口,新增基于名称查询资源值的接口,新增numer、float资源类型查询接口,新增Stage模型资源查询方式。输入法服务新增输入法光标方向常量。

从HarmonyOSNEXTDeveloperPreview1(API11)版本开始,HarmonyOSSDK以Kit维度提供丰富、完备的开放能力,涵盖应用框架、、媒体、图形、应用服务、AI六大领域:

    应用框架相关Kit开放能力:AilityKit(程序框架服务)、ArkUI(方舟UI框架)等。相关Kit开放能力:UniversalKeystoreKit(密钥服务)、NetworkKit(网络服务)等。媒体相关Kit开放能力:AudioKit(音频服务)、MediaLiraryKit(媒体文件服务)等。图形相关Kit开放能力:ArkGraphi2D(方舟2D图形服务)、GraphiAccelerateKit(图形加速服务)等。应用服务相关Kit开放能力:GameServKit(游戏服务)、LocationKit(位置服务)等。AI相关Kit开放能力:IntentsKit(意图框架服务)、HiAIFoundationKit(HiAIFoundation服务)等。

Stage模型

从API9开始,Aility框架引入并支持使用Stage模型进行开发。因此,Aility框架模型结构具有两种形态:

    FA模型:API8及其更早版本的应用程序只能使用FA模型进行开发。Stage模型:从API9开始。Stage模型只支持使用ArkTS语言进行开发。

Stage模型是HarmonyOS3.1开始新增的模型,也是目前HarmonyOS主推且会长期演进的模型。在该模型中,由于提供了AilityStage、WindowStage等类作为应用组件和Window窗口的“舞台”,因此称这种应用模型为Stage模型。本书也主要介绍以Stage模型为主的开发方式。

Aility组件的生命周期

Aility生命周期切换以及和AilityStage、WindowStage之间的调度关系如下图1-7所示。

Stage模型定义Aility组件的生命周期,只包含创建、销毁、前后台等状态,而将与界面强相关的获焦、失焦状态都放在WindowStage之中,从而实现Aility与窗口之间的弱耦合;在服务侧,窗口服务依赖于组件服务,前者通知后者前后台变化,这样组件服务仅感知前后台变化,不感知焦点变化。

需要注意的是,在Aility中存在两个与WindowStage相关的生命周期状态onWindowStageCreate和onWindowStageDestroy,这两个生命周期状态的变化仅存在于具有显示能力的设备中。前者表示WindowStage已经创建完成,开发者可以通过执行loadContent的作设置Aility需要加载的页面;后者在WindowStage销毁后调用,以便开发者对资源进行释放。

ArkUI开发框架

ArkUI(方舟UI框架)是一个简洁的、高性能、支持跨设备的UI框架,提供了丰富的应用界面开发所需能力。

ArkUI包括UI组件、动画、绘制、交互事件、JSAPI扩展机制等。

ArkUI在HarmonyOSNEXT版本带来如下能力的新增或增强:

    针对三方框架场景提供组件NDK接口,涵盖组件创建、属性设置、事件注册、自定义能力、组件树构建。自定义节点能力增强,提供FrameNode的自定义能力以及节点能力,并提供基础组件、手势、事件的Modifier能力。Nigation新增页面生命周期:支持onWillShow和onWillHide页面生命周期、转场动画支持打断和接续、页面内容扩展到状态栏、单例跳转能力和自定义动效能力增强。Video/XComponent/Canvas组件支持AI能力,支持文本和实体识别。Text等文本类组件支持属性字符串。支持使用NativeWindowEventFilter能力拦截按键事件。支持使用画中画功能。新增提供智慧多窗的适配指导

ArkTS编程语言

ArkTS(方舟编程语言)提供HarmonyOS应用开发语言ArkTS相关的公共核心基础能力接口,包括并发、容器、流、文本编、XML、I、uffer等能力。

ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS基于TypeScript(简称TS)语言扩展而来,是TS的超集。这也是为什么ArkTS的原名叫eTS,是extendTypeScript的简写。ArkTS继承了TS的所有特性,并且ArkTS在TS基础上还扩展了声明式UI能力,让开发者以更简洁、更自然的方式开发高性能应用。

ArkTS在HarmonyOSNEXT版本带来如下能力的新增或增强:

    Taskpool新增支持任务组、串行队列、长时任务、取消任务、宿主通信、设置任务、设置任务依赖关系,新增受限worker能力。新增流基础能力,包括流读、写、双工和转换。增强Uri、TextDecoder、StringDecoder等模块能力。Taskpool、TextDecoder、uffer、i等模块接口性能优化。

ArkWe

ArkWe(方舟We)提供了在应用中使用We页面的能力,支持应用集成We页面、小程序、浏览器网页浏览等场景的混合开发。

ArkWe在HarmonyOSNEXT阶段带来如下能力的新增或增强:

    网页加载与页面导航:新增支持打开UniversalLink链接、应用托管网络、应用级自定义DNS。网页渲染与显示:新增支持oject/emed标签的同层渲染与事件传递、长网页渲染模式、网页长截图、扩展安全区域与H5避让区查询能力、预览PDF(内置PDFView扩展)。UX一致性增强:增强支持文本选择智能选词、图片长按识文、列表滑动曲线与原生一致。网页媒体:新增支持显示HEIF图片、网页视频托管、网页音视频与摄像头控制。网页安全隐私:新增广告过滤能力支持定义自定义拦截规则,智能防跟踪及三方Cookie的访问,网页高级安全模式。W3C兼容性增强:支持设置meta标签的viewport属性,支持鼠标悬停提示tooltip、datalist元素,支持自定义光标样式等。性能增强:新增ArkWe组件动态创建与上下树、JaScript接口性能提升、V8引擎性能优化。DFX增强:新增支持WeGPU进程提升应用稳定性,应用可使能We渲染进程,提升应用安全与稳定性,无障碍常用功能,增强网页性能度量接口(LCP/FMP),生成crashpad崩溃信息。

“纯血鸿蒙”解读

2023年8月4,在华为开发者大会上,华为发布HarmonyOSNext开发者预览版本。据介绍,HarmonyOSNEXT底座全线自研,去掉了传的AOSP代码,不再兼容安卓开源应用,仅支持鸿蒙内核和的应用,因此也被称为“纯血鸿蒙”。

HarmonyOSNEXT可以理解为HarmonyOS面向未来的、自研程度更高的下一代鸿蒙。

“纯血鸿蒙”具有以下特点:

    全面自研:鸿蒙通过全新的架构和核心技术实现了全面自研,正式脱离了Android的影响,成为正的作。自主可控:鸿蒙内核、文件、编程语言和编译器等均为华为自主研发,确保了的安全性和稳定性。高度弹性:鸿蒙内核具有高度弹性的架构,能够根据硬件需求灵活组合作能力,满足各种终端的需求。鸿蒙内核:作为“纯血鸿蒙”的核心,鸿蒙内核提供了更安全、更流畅、更弹性的基础。其服务之间能够更好地隔离,从架构上保证了的安全性。文件:使用自研的文件,进一步提升了的稳定性和性能。编程语言与编译器:鸿蒙还自研了编程语言和编译器,确保了开发过程的性和高效性。隔离:鸿蒙内核的服务之间隔离性更好,从架构上保证了的安全性,获得了全球首张智能终端领域CCEAL6+证书。隐私保护:新的隐私保护机制极大减少了权限弹窗,提升了用户的隐私安全体验。

综上所述,“纯血鸿蒙”是华为在作领域的一次重要突破和创新成果。它不仅代表了华为在自研技术方面的实力和决心,也为全球科技界带来了新的惊喜和期待。

参考资料

    《跟老卫学HarmonyOS开发》开源免费教程,s://githu/waylau/harmonyos-tutorial《鸿蒙HarmonyOS应用开发实战》(清华大学出版社)“鸿蒙实战短视频App从0到1掌握HarmonyOS”(s://coding.imooc/class/674.html《鸿蒙HarmonyOS应用开发入门》(清华大学出版社)“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”(s://coding.imooc/class/843.html《鸿蒙HarmonyOS应用开发从入门到精通战(第2版)》(北京大学出版社)《鸿蒙之光HarmonyOSNEXT原生应用开发入门》(清华大学出版社)

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/7171.html

分享给朋友:

相关文章

1个月5款APP,陌生人社交又火了:当年经纬投陌陌,暴赚11亿美金

1个月5款APP,陌生人社交又火了:当年经纬投陌陌,暴赚11亿美金

互联网巨头们正在陌生人社交领域疯狂试探。 这是陌生人社交罕见热闹的一幕。今年 10 月底,映客完成 8500 万美元收购陌生人社交软件“积目”;进入 11 月之后,前有百度推出匿名社交APP“听筒”,后有腾讯低...

我爸讽刺我,写个破代码一年才十几万,他在工地带50个人,让我回去跟他干,写代码没出路,我该怎么选择?

我跟你一样的情况,本人现身说法,千万不要跟你爸干,我就是反面教材,现在想回去都回不去了,快十年没写代码了,再就是岁数大了,38岁了,35岁以上的码农根本就没公司愿意要,而且会受歧视。工程不好干,首先就是不合法,在法律层面,根本就没有包工头的...

都是前端框架,为什么用 React 的人会有优越感?

都是前端框架,为什么用 React 的人会有优越感?

上家公司一直搞react,最近第一次写个vue3项目。老板朋友来了看了下页面说:这用vue写的吧。我:是...老板朋友:一看就知道是vue做的。这tm你看一眼页面就知道用的啥框架?这感觉就是,我一直用苹果,偶尔用了下华为打电话,有个人离老远...

腾讯云为何在云服务市场败给了阿里云?

IDC领域,2010年以前,万网、新网互联、新网,三家公司瓜分天下,其中万网市场份额最高,排名第一。当时,万网的域名是http://www.net.cn,通过该域名就可以判断万网的地位。2010年阿里云成立,直接收购了万网,大量用户直接流向...

想入个键盘,想买机械的但是太贵,求知友推荐一款手感比较好的薄膜键盘?

想入个键盘,想买机械的但是太贵,求知友推荐一款手感比较好的薄膜键盘?

相信很多接触过286的90后朋友都和我有一样的体会,以前的机械键盘真的是让人头皮发麻,不仅敲击要非常用力,而且很吵。所以后面随着大家的生活消费水平的上升,家家户户都有电脑了,自然也不想再用打字来宣扬自己有电脑的优越感,基本上大家都换成了又轻...

在 Kubernetes 中,Service 的实现原理是什么,它是如何实现服务发现的?

行,问的这个问题挺有意思,Kubernetes 里 Service 是怎么实现的,服务发现是怎么回事,咱就直说了。这事儿看起来挺玄乎,但掰开揉碎了讲,也就那么回事。你得把这事儿想得简单点,别一上来就被啥术语吓住了——其实全是些搬砖的套路。咱...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。