← 返回
Flutter

Flutter

Flutter 旨在用一套代码构建高性能、原生编译的移动、Web 与桌面应用。它使用 Dart 语言,采用自绘渲染与 AOT 编译,在平台一致性与运行性能上都有不错表现。

主要优势之一是开发效率高:热重载(Hot Reload)让你改代码后几乎立刻看到效果,无需整应用重启。内置丰富的 Widget,便于快速搭建可定制、观感统一的界面。

性能方面,Impeller 是当前 Flutter 的核心竞争力:所需着色器在引擎构建时离线编译,而非像传统 Skia 那样在运行时动态编译——后者若编译跟不上帧节奏,容易出现「着色器卡顿」掉帧。Impeller 专注服务 Flutter,在 iOS 等平台上的表现尤其值得关注。

自 2025 年起,Platform 与 UI 线程合并:Engine 启动完成后 Dart main 与 Platform UI 跑在同一线程,Dart 与 Kotlin/Java、Swift/Objective-C 等原生代码可通过同步方式互操作,不再一律依赖 Channel 异步桥接(也会带来新的线程模型问题,需额外留意)。

鸿蒙(OpenHarmony / HarmonyOS NEXT)方面,Google 官方 Flutter SDK 不含 ohos 平台;需改用 OpenHarmony SIG 维护的适配版 SDK,在 DevEco Studio 中配置 HarmonyOS SDK 后,用 flutter create --platforms ohos flutter build hap 构建 HAP。常用插件往往要从 flutter_packages 以 Git 依赖引入,与 iOS/Android 的 pub.dev 体验并不相同。

Flutter 适合 愿意学习新语言、希望一套代码覆盖移动与桌面的开发者。

    优势

  • 跨平台

    一套代码可覆盖多种平台,缩短开发周期、降低维护成本。

  • 性能

    引擎与框架针对各平台硬件做了优化,整体性能在跨平台方案里较突出。

  • 用户界面

    内置面向 iOS 与 Android 的 UI 组件,便于做出符合两端设计规范的界面。

  • 原生 API

    提供与原生 API 的桥接,可访问相机、加速度计等设备能力。

  • 社区活跃

    社区规模大,文档、教程与示例丰富,遇到问题相对好查。

    劣势

  • 学习曲线

    需要学习 Dart,对只熟悉 JavaScript/Type 的团队来说有一定门槛。

  • 安装包体积

    应用会打包 Flutter 引擎,安装包通常比纯原生应用更大一些。

  • 内存占用

    需随应用打包渲染引擎,内存占用在跨平台方案里通常偏高。

  • 文字排版

    自绘文字栈在复杂排版、与系统字体特性对齐等方面,往往不如各平台原生文本引擎。

  • Web 与热更新

    Web 端目前仅走 wasm 路线;无官方热更新方案,第三方(如 Shorebird)在国内稳定性一般。

  • 鸿蒙适配

    官方 SDK 不直接支持鸿蒙;需换用社区适配版工具链,三方库与 Google 版 Flutter 版本线可能滞后,分布式等鸿蒙特性需自行写 Platform Channel。

    基本信息

  • 维护方

    Google
  • 首发时间

    2017 年 5 月 12 日

    语言

  • Dart

目标平台

  • Web
  • macOS
  • iOS
  • Android
  • Windows
  • 已过时 · 不计入覆盖统计

    Flutter 官方不支持小程序。MPFlutter 等社区方案曾将 Flutter 编译到微信宿主,但项目已长期停更,无法跟上 Flutter 新架构与微信基础库更新,弃坑风险极高。