首页 > 其他分享 >Flutter for OpenHarmony

Flutter for OpenHarmony

时间:2024-02-02 15:32:09浏览次数:29  
标签:OpenHarmony 开发 UI ArkUI Flutter NAPI

OpenHarmony SIG 组织在 Gitee 开源了兼容 OpenHarmony 的 Flutter。该组织主要用于孵化 OpenHarmony 相关的开源生态项目。

Flutter for OpenHarmony_harmonyos

Flutter for OpenHarmony_harmonyos_02

▲ 仓库地址:https://gitee.com/openharmony-sig/flutter_flutter

根据 README 的描述,此仓库是基于 Flutter SDK 对 OpenHarmony 的兼容拓展,可支持使用 Flutter Tools 指令编译和构建 OpenHarmony 应用程序。

仓库的 commit 记录显示,OpenHarmony 使用的 Flutter 版本是 3.7 稳定分支。由于刚开源,目前 Flutter Tools 指令仅支持 Linux。

Flutter for OpenHarmony_harmonyos_03

从创建的仓库来看,OpenHarmony SIG 目前正在积极适配 Flutter 的完整生态。

Flutter for OpenHarmony_harmonyos_04

据介绍,与 Flutter 不同的是,OpenHarmony 上层开发使用 ArkTS 和 ArkUI,调用 NAPI(Native API),NAPI 是一套基于 Node.js 规范开发的原生模块扩展开发框架。

NAPI 可以实现 JavaScript 与 C/C++ 代码之间相互访问,也就是 ArkTS 可以直接和 C/C++ 无缝调用,类似 dart ffi 效果。

方舟开发框架(简称 ArkUI)是一套构建分布式应用界面的声明式 UI 开发框架,为 OpenHarmony 应用的 UI开发提供了完整的基础设施,包括简洁的 UI 语法、丰富的 UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面开发。详情

方舟开发框架示意图:

Flutter for OpenHarmony_harmonyos_05

ArkTS 是鸿蒙生态的应用开发语言。它在保持 TypeScript(简称 TS)基本语法风格的基础上,对 TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。详情

ArkUI-X 进一步将 ArkUI 扩展到了多个 OS 平台:目前支持 OpenHarmony、HarmonyOS、Android、iOS,后续会逐步增加更多平台支持。开发者基于一套主代码,就可以构建支持多平台的精美、高性能应用。

标签:OpenHarmony,开发,UI,ArkUI,Flutter,NAPI
From: https://blog.51cto.com/u_16536309/9555401

相关文章

  • OpenHarmony—开发及引用动态共享包
    对于企业大型应用开发,有部分公共的资源和代码,只能在开发态静态共享,并且打包到每个依赖的HAP里,这样导致包体积较大,且有重复多份公共资源和代码重复打包到应用中。为了解决运行态状态无法共享,以及减少包体积,让多个HAP能够共享同一公共资源代码,DevEcoStudio支持动态共享包HSP(Harmon......
  • 2023 OpenHarmony年度运营报告
                                 ......
  • OpenHarmony—开发及引用静态共享包(API 9)
    HAR(HarmonyArchive)是静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。接下来,将简单介绍库模块的工程结构,如下图所示:相关字段的描述......
  • OpenHarmony 定义扩展组件样式:@Extend 装饰器
    说明:从APIversion9开始,该装饰器支持在ArkTS卡片中使用。装饰器使用说明语法@Extend(UIComponentName)functionfunctionName{...}使用规则●和@Styles不同,@Extend仅支持定义在全局,不支持在组件内部定义。●和@Styles不同,@Extend支持封装指定的组件的私有属性......
  • 调试OpenHarmony应用/服务
    调试流程DevEcoStudio提供了丰富的OpenHarmony应用/服务调试能力,帮助开发者更方便、高效的调试应用/服务。OpenHarmony应用/服务调试支持使用真机设备调试。使用真机设备进行调试前,需要对HAP进行签名后进行调试。详细的调试流程如下图所示:配置签名信息DevEcoStudio为开发者......
  • OpenHarmony—环境准备
    JSSDK安装失败处理指导问题现象下载JSSDK时,下载失败,提示“InstallJsdependenciesfailed”。解决措施JSSDK下载失败,一般情况下,主要是由于npm代理配置问题,或未清理npm缓存信息导致,可按照如下方法进行处理。1.检查网络是否受限,如果需要通过代理才能访问网络,可根据NPM代理......
  • OpenHarmony—ArkTS不支持生成器函数
    规则:arkts-no-generators级别:错误目前ArkTS不支持生成器函数,使用async或await机制进行并行任务处理。TypeScriptfunction*counter(start:number,end:number){for(leti=start;i<=end;i++){yieldi;}}for(letnumofcounter(1,5)){console.l......
  • OpenHarmony—ArkTS限制throw语句中表达式的类型
    规则:arkts-limited-throw级别:错误ArkTS只支持抛出Error类或其派生类的实例。禁止抛出其他类型(例如number或string)的数据。TypeScriptthrow4;throw'';thrownewError();ArkTSthrownewError();限制省略函数返回类型标注规则:arkts-no-implicit-return-types级别:错......
  • OpenHarmony 4.0的Rust开发
    OH4.0的Rust开发背景Rust是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。Rust官方也使用Cargo工具来专门为Rust代码创建工程和构建编译。OpenHarmony为了集成C/C++代码和提升编译速度,使用了GN+Ninja的编译构建系统。GN的构建语言简洁......
  • OpenHarmony—不支持解构赋值
    规则:arkts-no-destruct-assignment级别:错误ArkTS不支持解构赋值。可使用其他替代方法,例如,使用临时变量。TypeScriptlet[one,two]=[1,2];//此处需要分号[one,two]=[two,one];lethead,tail[head,...tail]=[1,2,3,4];ArkTSletarr:number[]=[1,2];......