ToB企服应用市场:ToB评测及商务社交产业平台
标题:
【HarmonyOS开发】ArkUI-X 跨平台框架(利用ArkTs开发Android&IOS)
[打印本页]
作者:
宁睿
时间:
2024-7-11 00:36
标题:
【HarmonyOS开发】ArkUI-X 跨平台框架(利用ArkTs开发Android&IOS)
ArkUI-X 跨平台框架进一步将 ArkUI 开发框架扩展到了多个OS平台,目前支持OpenHarmony、HarmonyOS、Android、 iOS,后续会渐渐增加更多平台支持。开发者基于一套主代码,就可以构建支持多平台的精致、高性能应用。
一、跨平台框架有哪些?
1、React Native
React Native 是一个基于 JavaScript 和 React 的开源框架,由 Facebook 开发和维护。
它利用一种称为 JSX 的语法,将组件的布局和行为形貌为声明式的代码。
React Native 提供了访问设备原生功能的本领,通过利用内置的原生组件和模块,开发职员可以创建具有原生用户体验的应用步伐。
由于 React Native 的代码可以在多个平台上共享和重用,这使得开发和维护跨平台应用变得更加高效。
2、Flutter
Flutter 是一个由 Google 开发的开源框架,用于构建高性能、跨平台的移动应用步伐。
Flutter 利用 Dart 语言,它具有现代化的语法和特性,包罗强类型、异步编程和热重载。
Flutter 提供了自己的渲染引擎,可以实现高性能的用户界面,而且可以在 iOS、Android 和 Web 平台上运行。
通过利用 Flutter,开发职员可以通过一套代码库创建漂亮、响应式且原生般的应用步伐。
3、Xamarin
Xamarin 是一个跨平台移动应用开发框架,由 Microsoft 推出。
它利用 C# 语言和 .NET 平台,开发职员可以利用共享的代码库构建原生应用步伐,包罗 iOS、Android 和 Windows。
Xamarin 提供了对设备功能和原生 API 的访问,开发职员可以利用 Xamarin.Essentials 来访问常用的设备功能,如相机、传感器等。
Xamarin 还提供了丰富的工具和组件库,以提高开发效率并简化跨平台应用步伐的创建过程。
4、Ionic
Ionic 是一个基于 Web 技术的开源框架,用于构建跨平台的移动应用步伐。
它利用 HTML、CSS 和 JavaScript 来构建应用步伐,并通过利用 WebView 在不同平台上运行。
Ionic 结合了 Angular 框架和 Cordova 插件,提供了丰富的 UI 组件和原生功能的访问本领。
通过 Ionic,开发职员可以利用一套代码库创建移动应用步伐,并在 iOS、Android 和 Web 平台上进行部署。
5、NativeScript
NativeScript 是一个开源的跨平台移动应用框架,允许开发职员利用 JavaScript、TypeScript 或 Angular 构建原生应用步伐。
它通过利用原生组件和 API,以及内置的 JavaScript 运行时,将 JavaScript 代码转换为本机代码。
NativeScript 提供了对设备功能的访问,开发职员可以利用插件来扩展应用步伐的功能。
NativeScript 还支持 Angular、Vue.js 和 React 框架,以满足开发职员的不同需求。
6、uniapp
UniApp 利用 Vue.js 作为主要的开发框架,并提供了一套基于 Vue.js 的组件和 API,使开发职员可以利用熟悉的开发方式构建跨平台应用。开发职员可以编写一次代码,然后通过编译和转换过程,在不同平台上生成对应的原生应用步伐。
UniApp 提供了访问设备功能和原生 API 的本领,开发职员可以利用插件或内置的 API 来实现与设备的交互,如访问相机、地理位置、传感器等。别的,UniApp 还提供了一些特定平台的扩展本领和优化选项,以提供更好的用户体验和性能。
二、OpenHarmony的跨平台ArkUI-X
1、接纳 C++ 编写整体后端引擎代码,保持在多平台的可移植性,最小化平台依靠,降低平台移植本钱。
2、整体绘制接纳自渲染机制,降低平台依靠,同时进一步提升绘制效果的一致性。
3、抽象出平台适配层以及平台桥接层,以便不同平台的适配。
1、 下载DevEco Studo 4.0 beta2+
IDE下载地点width=device-width,initial-scale=1.0
https://docs.openharmony.cn/pages/v4.0/zh-cn/release-notes/OpenHarmony-v4.0-release.md/#%E9%85%8D%E5%A5%97%E5%85%B3%E7%B3%BB
2、 安装ArkUI-X的SDK
2.1 安装OpenHarmony的API10
2.1 安装ArkUI-X的SDK
3、 创建ArkUI-X项目
3.1 新建 => 导入 => 导入示例工程
3.2 基于示例Hello World工程进行ArkUI-X进行开发
将
Harmony
改为
OpenHarmony
,然后选择
ArkUI-X
下的示例工程
3.3 创建完成后,自动检查体系环境,安装依靠
4、 目录说明
编译完成后,直接将
.arkui-x
中的
Android
/
IOS
导入对应的平台即可
ArkUI-X应用工程
├── .arkui-x
│ ├── android // Android平台相关代码
│ └── ios // iOS平台相关代码
├── .hvigor
├── .idea
├── AppScope
├── entry
├── hvigor
├── oh_modules
├── build-profile.json5
├── hvigorfile.ts
├── local.properties
└── oh-package.json5
复制代码
期待可以兼容更多的平台,eg:Linux、Windows等...
三、
扩展:XComponent(动态加载/
EGL/OpenGLES渲染
)
遇到一个好玩的组件,在开发扫一扫功能时用到了,记载一下
XComponent
组件作为一种绘制组件,通常用于满足开发者较为复杂的自界说绘制需求,比方相机预览流的表现和游戏画面的绘制。
其可通过指定其type字段来实现不同的功能,主要有两个“surface”和“component”字段可供选择。
对于“surface”类型,开发者可将相关数据传入XComponent单独拥有的“surface”来渲染画面。
对于“component”类型则主要用于实现动态加载表现内容的目的。
名称形貌SURFACE用于EGL/OpenGLES和媒体数据写入,开发者定制的绘制内容单独展示到屏幕上。COMPONENTXComponent将酿成一个容器组件,并可在其中实行非UI逻辑以动态加载表现内容。TEXTURE用于EGL/OpenGLES和媒体数据写入,开发者定制的绘制内容会和XComponent组件的内容合成后展示到屏幕上。
说明:
type为COMPONENT(“component”)时,XComponent作为容器,子组件沿垂直方向布局:
垂直方向上对齐格式:FlexAlign.Start
水平方向上对齐格式:FlexAlign.Center
@Builder
function addText(label: string): void {
Text(label)
.fontSize(40)
}
@Entry
@Component
struct Index {
@State message: string = 'Hello XComponent'
@State messageCommon: string = 'Hello World'
build() {
Row() {
Column() {
XComponent({ id: 'xcomponentId-container', type: 'component' }) {
addText(this.message)
Divider()
.margin(4)
.strokeWidth(2)
.color('#F1F3F5')
.width("80%")
Column() {
Text(this.messageCommon)
.fontSize(30)
}
}
}
.width('100%')
}
.height('100%')
}
}
复制代码
动态加载
@Builder
的
addText
函数
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4