Flutter是什么?

Flutter是什么?

Flutter 是由 Google 开发并维护 的一个开源 UI 软件开发工具包(SDK),用于通过一套代码库构建高性能、高保真的跨平台应用程序

一、核心定位

  • 目标:解决传统跨平台开发中“性能差”和“UI 不一致”的痛点。
  • 口号:“Write once, run anywhere”(一次编写,多端运行),但更强调原生级性能像素级 UI 控制

二、支持的平台(截至 2025 年)

移动端:iOS、Android
Web 端:通过 Flutter Web 构建响应式网页或 PWA
桌面端:Windows、macOS、Linux(自 Flutter 3.0 起正式支持)
嵌入式设备:如智能屏(Google Nest Hub)、车载系统、IoT 设备

一套 Dart 代码可编译运行在 6+ 平台上。

三、核心技术特点

特性

说明

自绘 UI 引擎

不依赖平台原生控件,使用 Skia 图形引擎(C++ 编写)直接绘制界面,确保各平台 UI 完全一致。

Dart 语言

使用 Google 自研的 Dart 语言(AOT 编译为原生 ARM 代码),性能接近原生,且支持 JIT 热重载。

热重载(Hot Reload)

修改代码后 毫秒级生效,无需重启应用,极大提升开发效率。

声明式 UI + Widget 体系

所有 UI 元素都是 Widget(组件),通过组合嵌套构建复杂界面,支持响应式编程。

高性能

无 WebView、无 JavaScript 桥接,直接与 GPU 通信,动画流畅达 60/120 FPS

四、架构分层

Framework 层(Dart)

  • 提供 Material(Android 风格)和 Cupertino(iOS 风格)组件库
  • 包含布局、动画、手势、状态管理等高级功能

Engine 层(C++)

  • 核心为 Skia 渲染引擎
  • 提供 Dart 运行时、文本布局、文件 I/O、网络等底层能力

Embedder 层(平台相关)

  • 与 Android(Java/Kotlin)、iOS(ObjC/Swift)等平台交互
  • 处理窗口、事件循环、线程调度等

五、典型应用场景

  • 移动 App:闲鱼、美团、Bilibili、Google Ads、腾讯视频等
  • 企业后台 / 内部工具:跨平台桌面应用
  • Web 应用:轻量级 SPA 或管理后台(注意:SEO 支持较弱)
  • 智能设备界面:车载 HMI、智能家居控制面板

六、优缺点简析

优点

  • 真正的跨平台,UI 高度一致
  • 性能优异,接近原生
  • 开发效率高(热重载 + 丰富组件)
  • Google 长期维护,生态活跃

缺点

  • 应用包体积较大(空项目约 4–6 MB)
  • Dart 语言生态不如 JavaScript/TypeScript 丰富
  • 某些平台新特性(如 iOS 18 新 API)需等待 Flutter 适配
  • 原生模块集成需写 Platform Channel,有一定门槛

七、快速体验

# 安装后创建并运行一个 Flutter 应用 flutter create my_app cd my_app flutter run

修改 lib/main.dart 后按 r 键即可热重载查看效果。

八、学习资源

总之,Flutter 是当前最主流的跨平台 UI 框架之一,特别适合追求高性能、一致体验、快速迭代的团队。如果你要开发多端应用,它是非常值得考虑的技术选型。


 

评论 (0)
登录或创建帐户发表评论

我们使用 cookie 来个性化您的体验。

更多的