最新版本:   Flutter Release Preview 1.

翻译此网站:   了解更多.

Illustration with a mobile phone, a pencil, and an abstract drawing of widgets.

以极短的时间构建优雅的原生级应用

Flutter 是谷歌的移动端 UI 框架,可在极短的时间内构建 Android 和 iOS 上高质量的原生级应用。 Flutter 可与现有代码一起工作, 它被世界各地的开发者和组织使用, 并且 Flutter 是免费和开源的.
快速开发

程序的热重载可以在瞬间完成,让应用在生命周期内得到重绘。丰富且完全可定制的部件可以让你在几分钟内构建原生级界面。

极具表现力和灵活性的 UI

Flutter 能够快速发布专注于终端用户体验的功能。其分层架构允许完全自定义,从而实现快速渲染和极具表现力与灵活性的设计。

本地化表现

Flutter 的部件包含所有重要的平台差异,如滚动,导航,图标和字体,以在 iOS 和 Android 上提供完整的 UI 本地化表现。

快速开发

Flutter 的热重载 可帮助您快速轻松地试验,构建 UI,添加功能和快速地修复错误。在 iOS 和 Android 的模拟器与硬件上体验亚秒级重载的同时不会丢失状态。

Make a change in your code, and your app is changed instantly.

极具表现力和美观 UI

使用 Flutter 内置的 Material Design 和 Cupertino(iOS 风格)的部件、丰富的手势 API、自然平滑的滑动和不同的平台表现来提升用户体验。

Brand-first shopping design Fitness app design Contact app design iOS chat app design

浏览 部件目录.

现代化响应式框架

使用Flutter的现代化响应式框架和丰富的平台、布局和基础组件来构建你的用户界面。使用功能强大且灵活的API(针对 2D,动画,手势,动效等)解决复杂的用户界面设计。

class CounterState extends State<Counter> {
  int counter = 0;

  void increment() {
    // Tells the Flutter framework that state has changed,
    // so the framework can run build() and update the display.
    setState(() {
      counter++;
    });
  }

  Widget build(BuildContext context) {
    // This method is rerun every time setState is called.
    // The Flutter framework has been optimized to make rerunning
    // build methods fast, so that you can just rebuild anything that
    // needs updating rather than having to individually change
    // instances of widgets.
    return new Row(
      children: <Widget>[
        new RaisedButton(
          onPressed: increment,
          child: new Text('Increment'),
        ),
        new Text('Count: $counter'),
      ],
    );
  }
}

浏览 组件目录 来学习 响应式框架。.

使用平台原生功能及 SDK

通过平台 API,第三方 SDK 和原生代码让你的应用具有强大的扩展性。 Flutter 允许重复使用现有的 Java,Swift 和 ObjC代码,并访问 iOS 和 Android 上的原生功能和 SDK。

访问平台的原生功能非常简单。 如以下是来自 平台交互 demo 的代码片段:

Future<Null> getBatteryLevel() async {
  var batteryLevel = 'unknown';
  try {
    int result = await methodChannel.invokeMethod('getBatteryLevel');
    batteryLevel = 'Battery level: $result%';
  } on PlatformException {
    batteryLevel = 'Failed to get battery level.';
  }
  setState(() {
    _batteryLevel = batteryLevel;
  });
}

学习如何使用 扩展库, 或者编写 平台通道, 来访问原生代码、API 和 SDK。

统一应用开发

Flutter 的工具和库可以帮助你轻松地将自己的想法带到 iOS 和 Android 设备上。如果你没有任何移动开发经验,用 Flutter 来构建漂亮的移动应用是你不错的选择。如果你是一位经验丰富的 iOS 或 Android 开发人员,则可以使用 Flutter 作为你应用的用户界面开发工具,并充分利用现有的大部分Java、ObjC 或 Swift 代码。

应用构建

漂亮的用户界面

  • 丰富的2D 硬件加速API
  • 响应式框架
  • 动画和运动 API
  • Material 风格和 Cupertino 风格的部件

流畅的编程体验

  • 亚秒级、保留状态的热重载
  • IntelliJ 的 refactor、代码补齐等功能
  • Dart 语言及其核心库
  • 依赖库管理

构建功能齐全的应用

  • 调用平台的 API 和 SDK
  • Maven/Java
  • Cocoapods/ObjC/Swift

应用优化

测试

  • 单元测试
  • 集成测试
  • 设备端实时测试

调试

  • IDE 调试器
  • 基于 Web 的调试器
  • async/await 的可感知
  • 实时表达式值显示

分析

  • 时间线
  • CPU 和 内存
  • 应用内视图

部署

编译

  • 本地 ARM 机器码
  • 消除冗余代码

分发

  • App Store
  • Play Store

通过学习 技术概览 来了解 Flutter 为什么如此特殊。

现在就来体验 Flutter,轻松入门。