微信公众号:南京Android部落
关注可了解更多关于移动端前沿技术。
本文将花费您5分钟左右的时间

什么是Flutter

Flutter是谷歌在2018年2月份的谷歌IO大会上推出的一款跨平台的UI框架,可以快速的在Android和IOS平台上构建高质量的原生用户界面。可以与你现有代码一起工作,并且是完全开源的。

有什么优点

  • 快速开发

    毫秒级的热重载,修改代码的同时应用界面会立即更新。使用丰富的可定制的widget快速构建原生界面。

  • 灵活的UI

    分层的架构允许完全自定义,实现难以置信的快速渲染和富有表现力、灵活的设计

  • 原生级性能

    内置丰富的widget:滚动、导航、图标和字体等,完全和IOS或者Android原生应用同样的性能表现。

快速开发

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

漂亮的用户界面

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

响应式框架

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

 1class CounterState extends State<Counter> {
 2    int counter = 0;
 3
 4    void increment() {
 5        // 告诉Flutter state已经改变,Flutter会调用build()更新显示
 6        setState(() {
 7            counter++;
 8        });
 9    }
10
11    Widget build(BuildContext context) {
12        // 当setState被调用时,这个方法都会重新执行,
13        // Flutter对此方法做了优化,使重新执行变得很快
14        return new Row(
15            children:<Widget>[
16                new RaisedButton(onPressed:increment, child:new Text('Increment')),
17                new Text('Count:$counter'),
18            ],
19        );
20    }
21}

访问本地功能

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

 1Future<Null> getBateryLevel() async {
 2    var batteryLevel = 'unknown';
 3    try {
 4        int result = await methodChanel.invokeMethod('getBatteryLevel');
 5        batteryLevel = 'Battery level:$result%';
 6    } on PlatformException {
 7        batteryLevel = 'Failed to get battery level';
 8    }
 9    setState(() {
10        _batteryLevel = batteryLevel;
11    });
12}

统一的应用开发体验

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


Flutter从入门到放弃~

是时候学习Flutter了_Java