Flutter Engage China 开发者常见问题解答 | 上篇

再次感谢你们对 Flutter Engage China 活动 的关注和积极参与!咱们在活动先后收到了不少来自开发者的反馈和问题,Flutter 团队和演讲嘉宾在直播 Q&A 环节中也针对部分问题在第一时间给出回复。如今咱们将一些开发者关心的问题和回复整理出来分享给你们,但愿对您有所帮助。因为问题数量较多,咱们会分为上下两期发布。您也能够观看 Flutter Engage China 视频回顾精彩内容:前端

➡️ 点击这里观看直播回顾视频 ⬅️linux

如何更好地解决跟平台硬件交互的问题?

回答者: 于潇,Google Flutter 移动端团队负责人git

和硬件 API 交互最好的方法是经过 平台通道 (Platform Channel) 和平台的 SDK 进行交互。在这之上也有 Pigeon 之类的插件可供你们使用,它能够生成针对全部语言的终点 (endpoint),从而简化平台通道代码的编写过程。github

若是硬件有 C++ 的驱动的话,也可使用 外部函数接口 (FFI),经过 FFI 调用 C++ 的 SDK 来使用硬件层的能力。web

Flutter 在开发效率方面有哪些优点?

回答者: 刘森森,阿里巴巴 UC 客户端团队函数

Flutter 的开发效率很高,从阿里巴巴和 UC 多个团队的实际应用状况来看,主要体如今如下几点:工具

  • Flutter 具有很是良好的研发体验 ,能够说是很是接近 web 了: 包括提供了设备的热重载功能,在 IDE 里也能提供可视化布局,这些都很是便于开发和迭代。
  • Flutter 内置了不少符合现代化 UI 设计的 widget ,使得开发团队能很容易地开发出 UI 表现力很好的 Flutter 页面。
  • Flutter 跨平台的一致性很是强大

从开发者们实际落地使用的效果来看,单客户端的开发者使用 Flutter 就能够覆盖多端的研发任务。在 UC 团队里,前端的开发者也能深度参与 Flutter 的业务开发。另外 Flutter 在互操做上也很灵活,好比提供了 FFI、平台通道、外接纹理等作法,让开发团队能够更容易地为 Flutter 提供现有的原生组件,为组件研发的速度带来了很是大的提高。布局

在团队正式使用 Flutter 以前,建议你们把 Flutter 融入到现有的研发工做流程里,包括开发、测试、集成等各个阶段,并为开发者们进行一些常规的 Flutter 技能培训,这些作法能够大幅提高 Flutter 落地的效率。post

总的来讲,Flutter 对比传统的 Android 和 iOS 研发效率有质的飞跃。性能

Flutter 适合作游戏开发吗?

回答者: 樊舟颖 (Zoey),Google Flutter 产品经理

Flutter 的初衷并非为游戏而创做的,也就是说,游戏的应用场景并非 Flutter 一开始所考虑的。可是咱们在过去的一年到一年半里,发现确实有愈来愈多的游戏开发者开始使用 Flutter,并且在 Play Store 里得到了很是大的下载量。

就咱们观察到的状况而言,强调性能和图像表现,或者须要用到不少重力感应等特殊组件的游戏大部分仍是会用 Unity 这样的引擎来开发。可是一些休闲游戏,好比字谜、猜图、连连看,咱们有看到愈来愈多的人在使用 Flutter 开发。

后续咱们会经过用户问卷调查,了解游戏开发者使用 Flutter 的话主要有哪些需求。

Flutter 1 升级到 2 后有不少 API 都过期了,有好的方法快速从 1 转 2 么?

回答者: 董韬,Google Flutter 用户体验研究负责人

Flutter 2.0 版本的发布是一个比较主要的升级,从 release note 来看有大概 12 个重大变动 (breaking changes)。咱们团队对 API 的更改一直抱持很是谨慎的态度。毕竟咱们也了解开发者须要去更新到新的版本,这个过程当中会碰到一些障碍。但咱们也会不断改进 API,来让 Flutter 自己更加好用、易用。

若是在升级 Flutter 的过程当中碰到 API 变动的问题,这里有两个建议:

  • 请考虑使用咱们在 2.0 版本中同时发布的 Flutter Fix 工具。这个工具备命令行,也有和 IDE 进行集成,能够帮助你们更方便地自动进行 API 升级。
  • 建议你们放心及时地升级 Flutter 版本。若是您从一个相邻的版本升级到一个新的版本,那么须要更改的代码通常是比较少的。

Flutter 的渲染默认不是平台的主线程,那在渲染的时候会不会因为线程优先级问题而影响流畅度?若是出现流畅度问题,该如何解决?

回答者: 于潇,Google Flutter 移动端团队负责人

线程优先级确实有可能致使问题。在 Android 上咱们是有改变 "背景" 线程的优先级的,但在 iOS 上目前尚未。请继续关注咱们在这方面的探讨: https://github.com/flutter/flutter/issues/65752

除了 Ubuntu,其余 Linux 版本 (如 Red Hat) 要定制开发底层解析 Flutter 引擎吗?

回答者: 董韬,Google Flutter 用户体验研究负责人

Flutter 对 Linux 的支持实际上是不只限于 Ubuntu 的。只要您使用的 Linux 是 64 位的,就能够安装和使用 Flutter 去开发 App。具体能够参考 Flutter 官方的 Linux 安装说明

Ubuntu 则更方便了一些,提供了一个官方的 Flutter 安装工具。另外 Ubuntu 也开始用 Flutter 开发一些内置的 App。

但愿官方插件尽快解决现有的 issue,期待 Flutter 生态愈来愈好!

回答者: 杨天航 (Chris),Google Flutter 团队工程师

谢谢提出这个问题的同窗。咱们在去年的时候,因为各类缘由,把主要的工做重点放在了基础设施的建设上,包括稳定性这些方面。今年咱们的工做重点之一就是解决 issue,包括对 pull request 的审核等。大概在一个月前,咱们大大增长了每周整理 issue 和 PR 的时间,增长为去年的 4 倍以上。

另外,咱们目前还在跟一些公司和团队进行合做,好比 Baseflow,Invertase,以及和社区进一步加大合做,从而进一步提升 Flutter 插件的质量。

・・・

以上就是 Flutter Engage China 开发者常见问题解答 (上篇) 的内容,也请你们继续关注即将到来的下篇内容。若是您有任何疑问或者建议,也欢迎在评论区和咱们分享。

相关文章
相关标签/搜索