叫板 Android ,跨平台应用开发神器 Flutter 又添开源插件

flutter 的“野心”,在新一年里开出了花……
flutter 一头扎进了 2019,“一不小心”就遍地开花了。
从 2016 年项目启动,到在 2017 年的 google i/o 大会上首次公开亮相,再到 2018 年底凭借 1.0 正式版的推出狠狠刷了一波屏,flutter 历经观望审视、万众瞩目复又“泯然众人”,近来也再次回归业界关注的焦点。
google 方面似乎也从未隐藏其倾注在 flutter 身上的“野心”——当 android 开发的地位受到危及时,google 面对各路竞争回应称,“其他框架都无法和我们竞争,因为我们的竞争对手是我们自己!“。于是乎,承担着与原生 android 竞争使命的 flutter 应运而生。彼时的 google 将其定义为“一款新的用于创建移动应用的开源库”,“有助于更容易,更快速地开发出界面美观的移动应用。”
继而随着 flutter 1.0 正式版的推出,毫无意外地吸引了各方关注。更有评论称其为“google 承前启后的一步棋”,“前指的是基于 android 和 ios 的跨平台解决方案;后指的是它也是谷歌的下一代操作系统 fuchsia 的开发语言”。
“flutter 的核心是一个独立的可执行二进制文件,所以它不仅能改变移动开发的世界,也能改变桌面开发的世界。你只需编写一次代码,就可以在 android、ios、windows、mac 和 linux 上以原生方式发布,还能通过 angulardart 与 web 共享业务逻辑——这一点意义重大。”
与此同时,google 方面也透露,“虽然flutter 的首要目标平台是 ios 和 android,但他们也在不断探索将 flutter 拓展到手机端以外的更多平台上”。
诸多吸引人的特性之下,flutter 也积累了大批关注者。有评论表示,“尽管 flutter 社区仍然很年轻,但是已经逐渐有不少优秀的第三方插件涌现出来,加上 dart 相对全面的标准库,实现这样一个音视频 sdk 或是类似的功能并不需要自己大量地去造轮子”。
flutter + webrtc:agora flutter sdk 设计实践
近日,声网应开发者需求,推出了 agora flutter sdk,以 flutter plugin 的形式为 flutter app 增添实时音视频能力。flutter 产品经理 tim sneath 亦透过 twitter 表达了其对该项目的期待:
声网 agora web 工程师郝阳在此前的项目介绍文章中表示:
在应用层的开发过程中,风格非常接近于使用 react 进行 web 开发,加上 flutter 亚秒级的 hot reload 等特性,在开发体验与效率上相比原生开发确实有着不小的优势。
再考虑到逐渐完善的跨平台特性(桌面端的 flutter-desktop-embedding 项目与浏览器端的 humming bird 项目)以及可能会到来的谷歌新操作系统 fuchsia,对于无论是想要接触到原生开发的 web 开发者,还是追求更高的开发效率和更好的开发体验的原生开发者来说,flutter 都是一个非常适宜的切入角度,值得在新的一年里加入自己的技术栈中。
关于这个项目,csdn(id:csdnnews)特别邀请到声网 agora 资深工程师、agora flutter sdk 技术负责人龚宇华,就项目的开发实践、实时互动技术的发展以及开源选择等问题进行了分享:
开发那些事:为什么选择 flutter?
“flutter 作为谷歌大力主导推进的跨平台开发框架,在去年得到了越来越多开发者的关注。声网在去年注意到这个趋势,展开了一定的预研,并在 flutter 正式发布 1.0 后第一时间推出了 flutter 版 sdk。包括 react native、electron 等开发者使用较多的跨平台框架,我们也都推出了对应的sdk,方便开发者在自己的开发平台上接入我们的实时音视频服务。”
“flutter 同时还是一个正在快速发展中的跨平台开发框架,基础文档非常完整和具体,因此无论是开发 app 还是开发 plugin,上手都比较容易,照着官方文档的指导步骤很快就能搭起完整的开发环境。flutter 使用的 dart 语言需要一些熟悉时间,但作为一门比较新的现代编程语言,语法掌握起来并不复杂。总的来说,整个开发过程比较顺利,没有遇到什么坑。”
对商业团队而言,flutter 的生态是否足够完善曾经是大家关注的重点,谈及 flutter 现阶段的优势与不足,龚宇华也坦言,“flutter 还在快速的发展中,二月底已经发布了 1.2.1 版本,除了性能、稳定性的提升外,带来了新的 web 开发工具。目前 flutter 还无法很好地支持一些系统级的功能服务,比如应用内支付、推送通知、数据持久化保存等。语言能力上,dart 和 c/c++ 的桥接也不够简单。这些都是今年 flutter 需要继续改善的地方。另外,扩展到对 pc 平台的支持也是很多开发者期待的功能“。
5g 风口下,实时互动技术的机遇与挑战
为 flutter app 实现实时音视频通话功能是 agora flutter sdk 的主要特性。放之眼下,实时互动技术也确乎处于全面爆发时期,而传输延时问题一直是讨论这一问题时所关注的重点。对此,龚宇华分析表示:
“在实时音视频通话中,延时产生于各个环节中。采集和渲染本身产生的延时和设备硬件能力和内核优化有关。而传输延时一般指设备端到服务端的延时和服务端内部传输的延时。设备端到服务端的延时由设备端本身和接入的网络运营商质量决定,服务端内部传输则要靠路由选择、骨干网优化等技术手段降低延时。当然,传输延时再怎么优化也是无法打破物理极限的,不同的应用场景对延时的要求也不一样。比如社交直播、在线k歌等互动性强的场景,对低延时要求很高,而金融、直播答题等场景则更注重安全性、画质等其他技术指标。因此在实际应用中,需要根据场景的特性综合延时、卡顿、音频质量、视频清晰度等指标一起进行权衡,选择合适的方案。”
而谈及眼下火势甚旺的 5g 将会给实时互动领域带来的机遇和挑战,龚宇华指出,“5g 带来的带宽提升和延时降低对实时互动领域的影响是巨大的。随着 5g 时代的到来,实时传输 4k 分辨率将成为可能。移动设备硬件能力的进一步提升也能实现复杂度更高的编解码能力。这些都让将来的实时视频通话更高清和流畅,也会带来很多新的交互场景,比如 ar/vr 交互,实时 ai 换脸等等。这对音视频编解码、数据传输等基础技术都提出了新的挑战”。
flutter 及 agora flutter sdk 的未来趋势
明天的 flutter
“跨平台开发框架一直是一个热门的潮流,flutter 作为由谷歌推进的跨平台项目,从第一天起就吸引了大量注意力。随着不断的完善,也不乏一些公司已经选择 flutter 作为主要开发框架。总的来说,目前正处于开发者进来尝鲜的阶段,如果今年谷歌能保持对 flutter 进行质量和性能的改进,相信这个框架会得到越来越多的开发者的认可。”
明天的 agora flutter sdk
“agora flutter sdk 已经完成了对基础实时音视频功能的集成,开发者只要有实时沟通的需求,都可以使用 agora flutter sdk,将来会陆续集成加密、美颜等进阶功能。我们也将持续关注 flutter 社区,聆听开发者的需求。”
开源的可持续发展困局
据悉,目前该插件已在 github 上开源:
https://github.com/agoraio/flutter-sdk
而“开源”长期以来也都是开发者们会持续关注的话题,近来业界更是围绕“开源的可持续发展”发起了不少讨论。github 的开源项目经理 devon zuegel 就在不久前发布的一篇文章中,强调了开源社区中的一些问题,其中包括资源与治理不足、缺乏沟通、工作超负荷等。
此次采访中,龚宇华也就 flutter 和开源相关的问题谈了谈自己的看法:
“开源加速了技术和行业的交流和发展,这也是为什么互联网可以发展如此迅速的原因。但是开源本身又有一个难以避免的问题,就是开源项目大多是靠开发者和社区自身的驱动,很容易因为技术发展受限或者其他现实原因推进不了而搁置。相对而言,flutter 本身是个开放的开源社区,背后却有大公司推动,相当于两者的结合。既可以以开放促进技术迭代,同时又有大公司积极推动,所以目前比较火。”

要保证自动驾驶的安全性需要多少传感器?
为什么有时候会写出烂代码
声频系统在手机与PDA 中的应用与设计
看微软如何在十年后首次反超苹果,再次成为全球市值最高的公司
计算芯片的两个市场,MPU 与 MCU 之间是否有明确的界限?
叫板 Android ,跨平台应用开发神器 Flutter 又添开源插件
对讲机语音芯片方案选型!
电源设计中电容到底有多重要
二极管知识:串联防反接原理 并联防反接原理
设计管理系统消除了ASIC捷径风险
激光探测让智慧医疗更进一步 将“听”到癌细胞
国内EDA企业大盘点
FIR数字滤波器的FPGA实现研究策略
瑞萨电子携其最新解决方案亮相2018上海慕尼黑电子展,加速自动驾驶、智能家居等领域的智能化创新发展
使用Python来收集、处理和可视化人口数据
封测厂芯片出货数量创下新高
新能源汽车正迎来一个全新发展时代
电阻涨价80% 国巨电子回应市场供需决定
基于KY32MT028主控的高压工业风扇PCBA方案
基于网络存储技术实现地震数据处理解释一体化的布诸和管理应用