鸿蒙Flutter三方库适配指南-02.Flutter相关知识基础

鸿蒙Flutter三方库适配指南:Flutter相关知识基础

Flutter 三层结构

  1. Dart 层(Framework 层)

使用 Dart 语言 编写

提供了 UI 框架(widgets、material、cupertino) 和 渲染、手势、动画 等上层 API

面向开发者,负责 业务逻辑 与 界面搭建

  1. C/C++ 层(Engine 层)

Flutter 的 引擎核心,主要用 C/C++ 编写

包含 Skia/Impeller 图形渲染引擎、文本排版(libtxt)、Dart VM

负责 图形渲染、文本排版、GPU 加速 等底层性能相关工作

  1. Platform-dependent 层(Embedder 层)

负责与 宿主操作系统(Android、iOS、HarmonyOS、Windows、macOS、Linux) 的交互

提供 事件处理(输入、手势)、系统 API 调用、插件通信(Platform Channels)

不同平台有各自的 embedder 实现,使 Flutter 可以运行在不同系统上

Dart 语言基础知识

Dart 是一种面向对象的编程语言,Flutter 使用 Dart 作为其主要开发语言。

dart 复制代码
// 变量声明
String hi = 'hello';

// 常量声明
const String hello = 'hello';

// 类定义
class Person {
  String name = '';
  int age = 0;

  Person(String n, int a) {
    name = n;
    age = a;
  }

  String getName() {
    return name;
  }
}

Person p1 = Person('Alice', 25);

注组

在 Flutter 中,通常使用注解来标识组件和入口点:

dart 复制代码
// 主程序入口
void main() => runApp(MyApp());

// 组件装饰器
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: Scaffold(
        appBar: AppBar(title: Text('Hello')),
        body: Center(child: Text('Hello World')),
      ),
    );
  }
}

Flutter 与 ArkUI 对比

对比维度 Flutter ArkUI
开发语言 Dart ArkTS
架构层次 Dart Framework → C++ Engine → Platform Embedder ArkUI Framework(ArkTS) → ArkUI Engine → HarmonyOS 系统服务
渲染引擎 Skia 渲染 自研 ArkUI 渲染引擎
平台支持 Android / iOS / Windows / macOS / Linux / Web HarmonyOS / OpenHarmony
开发体验 热重载、Widget 声明式 UI ArkTS 声明式 UI、实时预览(Previewer)
插件机制 Platform Channels + FFI 调用,插件生态丰富 模块化开发 + 系统 API 调用,生态成长中
生态现状 全球活跃开发者 280 万+,pub.dev 插件库庞大 -
优势 跨平台统一 UI、生态成熟 原生性能高、系统集成度深、分布式支持
适用场景 跨平台应用、多端兼容 鸿蒙原生应用、分布式设备协同

语法对比

Flutter ArkUI

参考资料

相关推荐
年小个大9 小时前
受 go-zero 启发,我给 Flutter 写了一套 CLI 脚手架
android·flutter·架构
智塑未来14 小时前
鸿蒙游戏体验手册:四种能力从性能到玩法逐一解锁
游戏·华为·harmonyos
math_hongfan15 小时前
鸿蒙离线数据缓存高级架构:弱网预加载/离线数据优先级/同步冲突解决/上线后数据合并策略
学习·缓存·华为·架构·harmonyos·鸿蒙
math_hongfan18 小时前
鸿蒙企业级数据存储高级架构:从读写分离到冷热数据分层/归档策略/数据生命周期管理最佳实践
人工智能·学习·华为·架构·harmonyos·鸿蒙
GitLqr19 小时前
Flutter 居然能直接跑在 Apple Watch 上了?玩转 flutter-watchos
flutter·全栈·apple watch
math_hongfan20 小时前
鸿蒙存储异常高级排查:文件损坏检测/数据恢复/读写失败重试/磁盘空间预警系统性根治方案
学习·华为·harmonyos·鸿蒙
lilian23321 小时前
Harmony os 技术实战|拼豆制图10:把取消、解析失败和保存失败写成可恢复状态机
java·javascript·华为·harmonyos
2501_9197490321 小时前
华为鸿蒙美缝剂实用APP—小羊美缝
华为·harmonyos
2501_9197490321 小时前
华为鸿蒙积攒年度高光APP—小羊高光
华为·harmonyos
智塑未来1 天前
鸿蒙7碰一碰智感交互——碰哪儿传哪儿
华为·harmonyos