Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。 

Flutter的热重载可帮助您快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以在亚秒内重载,并且不会丢失状态。

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

富有表现力,漂亮的用户界面

使用Flutter内置美丽的Material Design和Cupertino(iOS风格)widget、丰富的motion API、平滑而自然的滑动效果和平台感知,为您的用户带来全新体验。

Brand-first shopping designFitness app designContact app designiOS chat app design

浏览 widget 目录.

现代的,响应式框架

使用Flutter的现代、响应式框架,和一系列基础widget,轻松构建您的用户界面。使用功能强大且灵活的API(针对2D、动画、手势、效果等)解决艰难的UI挑战。

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

  void increment() {
    // 告诉Flutter state已经改变, Flutter会调用build(),更新显示
    setState(() {
      counter++;
    });
  }

  Widget build(BuildContext context) {
    // 当 setState 被调用时,这个方法都会重新执行.
    // Flutter 对此方法做了优化,使重新执行变的很快
    // 所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget
    return new Row(
      children: <Widget>[
        new RaisedButton(
          onPressed: increment,
          child: new Text('Increment'),
        ),
        new Text('Count: $counter'),
      ],
    );
  }
}

浏览 widget 目录 ,了解更多关于 响应式框架.

访问本地功能和SDK

通过平台相关的API、第三方SDK和原生代码让您的应用变得强大易用。 Flutter允许您复用现有的Java、Swift或ObjC代码,访问iOS和Android上的原生系统功能和系统SDK。

访问平台功能非常简单。以下是interop example(互操作示例)中的一个片段:
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;
  });
}

了解如何使用 packages, 或编写 平台通道, 来访问原生代码、API、SDK。

统一的应用开发体验

Flutter拥有丰富的工具和库,可以帮助您轻松地同时在iOS和Android系统中实现您的想法和创意。 如果您没有任何移动端开发体验,Flutter是一种轻松快捷的方式来构建漂亮的移动应用程序。 如果您是一位经验丰富的iOS或Android开发人员,则可以使用Flutter作为视图(View)层, 并可以使用已经用Java / ObjC / Swift完成的部分(Flutter支持混合开发)。

构建

漂亮的用户界面

  • 丰富的2D GPU加速API
  • 响应式框架
  • 动画/运动API
  • Material组件和Cupertino widgets

流畅的编码体验

  • 亚秒级,有状态的热重载
  • IntelliJ: 代码重构、补全等
  • Dart语言和核心库
  • 包管理器

全功能的应用程序

  • 与移动操作系统API和SDK交互
  • Maven/Java
  • Cocoapods/ObjC/Swift

优化

测试

  • 单元测试
  • 集成测试
  • 设备上测试

调试

  • IDE 调试器
  • 基于Web的调试器
  • async/await aware
  • Expression evaluator

性能分析

  • 时间线(Timeline)
  • CPU和内存
  • 应用内性能图标

部署

编译

  • Native ARM 代码
  • Dead code elimination

发布

  • App Store
  • Play Store

了解详细的Flutter技术总览