转:一套代码iOS、Android两端运行,Google Flutter意味着什么?
原文:https://www.toutiao.com/a6569388465538990600/?tt_from=weixin&utm_campaign=client_share×tamp=1529580533&app=news_article&utm_source=weixin&iid=35476649324&utm_medium=toutiao_android&wxshare_count=1
一套代码iOS、Android两端运行,Google Flutter意味着什么?
何为 Flutter?
“Flutter 可帮助你更容易、更快速的开发出界面美观的移动应使用。”Google 官方如是说。
实则,Flutter 是由 Google 的工程师团队打造的一款移动 UI 框架,它用的是 Google 自己开发的网络编程语言——Dart 语言,因而,开发者只需用过 Java 或者 JavaScript 之类的语言,那么 Flutter 也极易上手。
Flutter 旨在帮助开发者创立拥有美观 UI 界面、高性可以、高稳固、高帧率、低推迟的跨平台(Android 和 iOS)移动应使用。Flutter 的界面设计与 Web 应使用相似,所以开发者很容易在 Flutter 上找到相似 HTML/CSS 编码的感觉。
和 React Native 相比,尽管用的语言不同,但 Flutter 也提供响应式的视图。此外,Flutter 开发出来的应使用在不同的平台使用起来跟原生应使用具备一样的体验。例如,返回图标 Android 和 iOS 是不一样的;滚动内容滚动究竟的反馈也是不一样的。
一套代码iOS、Android两端运行,Google Flutter意味着什么?
Flutter 发展历程
2017 年 Google I/O 大会上,Google 初次推出了一款新的使用于创立移动应使用的开源库——Flutter;
2018 年初,Google 发布了 Flutter 的第一个 beta 版本;
在今年 5 月的 Google I/O 大会上,Flutter 升级到了 beta 3 版本;
今天,Flutter 发布了首个预览版,这意味着 Flutter 进入了正式版(1.0)发布前的最后阶段。
观其发展,就在上个月,Flutter 进入了 GitHub stars 排行榜前 100 名,如今已有 27k 个 star。经历了短短一年的时间,Flutter 生态系统得以快速增长,活跃的 Flutter 使用户也增长了 50%。由此可见,Flutter 在开发者中受到了热烈的欢迎,其未来的发展不容小觑。
一套代码iOS、Android两端运行,Google Flutter意味着什么?
Flutter 的优势
为何自 Flutter 发布以来,受到了诸多开发者较高的评价?自然与其优点息息相关:
高生产率:
- 一套代码能开发出 Android 和 iOS 应使用;
- 用更少的代码实现更多的功可以,即便在单一的操作系统之上,用更现代的、更具备表达性的开发语言及公告方法,也能完成更多的功可以;
- 开发原型和迭代更加方便;
- 在应使用运行的时候即可以修改代码并重新加载(用热重载)修改后的功可以;
- 直接修改崩溃的 bug,而后继续从崩溃的地方执行调试;
创立优雅的、可定制的使用户界面:
- Flutter 内置了对纸墨设计(Material Design)的支持,提供了丰富的 UI 控件库能使用来创立纸墨设计风格的 UI;
- 提供了可定制的 UI 框架,不再受制于手机平台控件的支持。
用 Flutter 能干什么?
快速开发:
Flutter 的热重载可帮助使用户快速地进行测试、构建 UI、增加功可以并更快地修复错误。在 iOS 和 Android 模拟器或者真机上能在亚秒内重载,并且不会丢失状态。
一套代码iOS、Android两端运行,Google Flutter意味着什么?
富有体现力,漂亮的使用户界面:
用 Flutter 内置美丽的 Material Design 和 Cupertino(iOS风格)widget、丰富的 motion API、平滑而自然的滑动效果和平台感知,为开发者带来全新体验。
一套代码iOS、Android两端运行,Google Flutter意味着什么?
现代的,响应式框架
用 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'), ], ); }}
访问本地功可以和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; });}
统一的应使用开发体验
Flutter 拥有丰富的工具和库,能轻松地同时在 iOS 和 Android 系统中实现开发者想要完成的功可以。即便开发者没有任何的手机端开发体验, Flutter 也是一种轻松快捷的方式来构建漂亮的移动应使用程序。 假如开发者已是一位经验丰富的 iOS 或者 Android 开发人员,则能用 Flutter 作为视图(View)层, 并能用已经使用 Java / ObjC / Swift 完成的部分(Flutter 支持混合开发)。
Flutter 首个预览版的发布
目前 Flutter 已发布了第一个预览版。此次,Flutter 开发团队主要专注于让 Flutter 适使用于更多的应使用场景,并修复 Bug 并让 Flutter 更加稳固。其中相比 beta 3 主要升级包括:
- 添加了对带有 ARMv7 指令集芯片的 32 位 iOS 设施的支持,使得 Flutter 兼容包括 iPad Mini 和 iPhone 5c 在内的更多设施;
- 完善了 video player package 以支持更多的视频格式并变得更稳固;
- 支持了 Firebase 动态链接(Dynamic Links)以支持跨平台创立和解决链接;
- 并进一步改进如何将 Flutter 小部件增加到现有 Android 和 iOS 应使用的文档。
除此之外,Visual Studio Code 的 Flutter 扩展新版本带来了新的大纲视图,语句完成以及直接从 Visual Studio Code 启动模拟器等功可以。
一套代码iOS、Android两端运行,Google Flutter意味着什么?
Flutter 预览版也从社区中得到了很多支持,来自外部的贡献就包括 Flutter 对硬件键盘和条形码扫描仪、视频录制、图像的支持。此外,还有许多新软件包对 Flutter 包站点的贡献,例如 Flutter Platform Widgets,一组可自适应 iOS 或者 Android 的小部件; mlkit,Firebase MLKit API 的包装类(wrapper); 序列动画(Sequence Animation)。
那么该如何升级呢?
假如你已经在 beta channel 上了,只要要运行一句命令:
$ flutter upgrade
如何更快上手学习 Flutter?
就国内而言,用 Flutter 的使用户仅次于美国和印度,拥有世界第三多的 Flutter 使用户。国内科技巨头中,阿里巴巴基于 Flutter 开发的应使用程序已经有了上千万安装量,腾讯也将用 Flutter 推出 NOW 直播手机用户端。那么国内的开发者该如何快速上手 Flutter?
对此,Flutter 团队正式发布了中文 Flutter 网站:https://flutter-io.cn/。其中包含了源自社区的许多中文 Flutter 资料,从而帮助国内开发者更好地用 Flutter。
一套代码iOS、Android两端运行,Google Flutter意味着什么?
此外,还能通过以下资源进行深入理解:
- I/0 分享视频:https://www.youtube.com/playlist?list=PL0o58xSX-Jvi6zBDe7SW4W6h5hauQ-xxF
- 技术周刊:https://flutterweekly.net/
- 实践视频:https://www.youtube.com/watch?v=syd0c9Vi2hg
- 开发视频:https://www.youtube.com/watch?v=yr8F2S3Amas
- Github 地址: flutter/flutter
- Flutter 网站:https://flutter.io/
- Flutter – 不一样的跨平台处理方案:https://juejin.im/post/5afd77466fb9a07aab2a12da
- Flutter 初尝:从 Java 无缝过渡:http://wuxiaolong.me/2018/03/08/Flutter/
- 最近使用 Flutter 做了几个 APP:https://zhuanlan.zhihu.com/p/37232700
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 转:一套代码iOS、Android两端运行,Google Flutter意味着什么?