Flutter
- Flutter谷歌的移动端UI框架,使用Dart语言开发,可以快速的在iOS和Android上构建高质量的原生用户界面。
以往的跨平台框架
-
WebView,这是第一个跨平台框架,基于JavaScript 和 WebView 例如 Cordova、PhoneGap、APPCan、Ionic等,应用程序可以编写成Html,并最终在移动平台的Webview中显示,并通过JavaScript interface和原生交互。
缺点:
- 加载速度慢,达不到原生UI体验。
- 内存消耗比较大。
- 手势、动画和原生差距较大。
- 相关原生功能支持有限。
-
响应式视图,原生体验的第二代跨平台框架,如ReactNative/Weex,生成虚拟DOM,并进一步对应生成原生的组件,让页面由原生组件组成,来到达原生的体验。JS代码和原生代码本身都是很快的,瓶颈经常发生在当我们视图从一边转向另一边时,所以构建高质量的应用程序时,我们必须将使用桥接的次数控制到最小。
缺点:
- 虚拟DOM和原生组件的沟通需要Bridge。
- 一些复杂的交互组件和动画性能上表现达不到原生效果。
- 各平台之间的兼容问题。
Flutter,第三代跨平台框架,Flutter也提供响应式的视图,Flutter采用不同的方法避免由JavaScript桥接器引起的性能问题,即用名为Dart的程序语言来编译,Dart是用预编译的方式编译多个平台的原生代码,这允许Flutter直接与平台通信,同时使用Skia图形引擎来完成图形、文本、图像、动画等绘制,拥有自己独立的一套图形系统,不再依赖于原生。
-
更多内容见
Flutter中文网
移动开发新利器 | 一文深入了解 Flutter 界面开发
下一代移动端跨平台框架-Flutter大解密
开始使用
现在按照Flutter中文网上面的资料,做Demo体验下Flutter。更多内容后期抽空探索。
要获得Flutter,请先使用git克隆Flutter,然后将该flutter工具添加到您的用户路径。运行 flutter doctor 显示您可能需要安装的剩余依赖项。
-
获取Flutter SDK
git clone -b beta https://github.com/flutter/flutter.git
-
修改环境变量 open ~/.bash_profile 将下面内容加入配置文件,并source ~/.bash_profile 刷新当前终端窗口。
export PUB_HOSTED_URL=https://pub.flutter-io.cn //国内用户需要设置 export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn //国内用户需要设置 export PATH= PATH_TO_FLUTTER_GIT_DIRECTORY/flutter/bin:$PATH //注意:PATH_TO_FLUTTER_GIT_DIRECTORY 为你flutter的路径,比如“~/document/code”
-
运行 flutter doctor
一般的错误会是xcode或Android Studio版本太低、或者没有ANDROID_HOME环境变量等,请按照提示解决。
-
Android Studio安装Flutter和Dart插件,在插件搜索中搜索Flutter,安装重启studio。
Flutter插件: 支持Flutter开发工作流 (运行、调试、热重载等).
Dart插件: 提供代码分析 (输入代码时进行验证、代码补全等).
-
创建一个新应用
选择 File>New Flutter Project
选择 Flutter application 作为 project 类型
然后点击 Next输入项目名称 (如 myapp), 然后点击 Next
点击 Finish等待Android Studio安装SDK并创建项目
在项目目录中,您应用程序的代码位于 ==lib/main.dart.==
下面用豆瓣电影的API做了一个简易丑陋的Demo,主要是体验Flutter创建界面、网络请求、数据解析的过程。
https://github.com/HappyMiao/FlutterDemo