高一致性:实现UI像素级的控制 , Flutter渲染引擎依靠跨平台Skia图形库来实现 , 仅依赖系统图形绘制相关的接口 , 比如未来Android会支持vulkan , iOS会支持metal , 这些都是通过skia封装调用 。可最大程度上保证不同平台的体验一致性 , 见下图所示 。
文章插图
高性能:渲染性能优于现有的各种跨平台框架 , 可媲美原生性能的跨平台技术方案 , Dart代码执行效率比JS高 , 通过AOT编译成平台原生代码 , 渲染采用自渲染skia方案 , 既不需要JS Bridge桥接 , 也不需要Art虚拟机参与 。再从渲染原理来看看Flutter的高性能的底气在哪里 。
文章插图
图解:
- Android原生框架 , 通过调用Java Framework层 , 再调用到skia来渲染界面;
- 其他跨平台方案(如RN) , 通过JSBridge中间层来将JS写的APP转换成相应的原生渲染逻辑 , 可见比Native代码增加了更多逻辑 , 性能逊色差于原生框架;
- Flutter框架 , APP通过调用Dart Framework层 , 再直接调用到skia来渲染界面 , 并没有经过原生Framework过程 , 可见其渲染性能并不会弱于Native技术 , 这是一个性能上限很高的跨平台技术 。
7. 业界发展近况2017年5月google I/O大会正式对外公布Flutter , 到2018年12月发布Flutter1.0 , 引发全球大量的开发者和企业开始研究Flutter 。StackOverflow 2019年的全球开发者文件调查中 , Flutter被评选为最受开发者欢迎的框架之一 , 超过了TensorFlow和Node.js 。
文章插图
目前 , 全球越来越多的公司已经在大家耳熟能详的知名APP中使用Flutter技术并落地 , 尤其国内知名互联网公司对Flutter投入度很大 , 社区也是非常活跃 。
文章插图
8. Flutter未来趋势目前Flutter主要在移动Android/iOS跨双端 , Flutter 的愿景是成为一个多端运行的 UI 框架 , 能够支持不仅仅是移动端 , 还包括Web、桌面、甚至嵌入式设备 。在2019 Google I/O 开发者大会上推出的使用 Flutter 开发 Web 应用的框架 , 同年9月发布Flutter 1.9 , 并将Flutter web合入Flutter主仓库 。
文章插图
从架构图看 , Flutter采用同一个Dart Framework层来统一Flutter C++引擎和Web引擎 , 最终可以运行在Android , iOS , Browser上 , 从Flutter引擎代码不难看出Flutter也是支持Fuchsia操作系统 。
《 Android技术架构演进与未来 》文中已介绍过 , Fuchsia是Google内部正在开发的一款新的操作系统 , 采用Flutter作为系统默认的UI框架 , 也就是说Flutter天然支持Fuchsia , 这无疑让Flutter在众多的跨平台方案更有优势 。
从Fuchsia技术架构来看 , 内核层zircon的基础LK是专为嵌入式应用中小型系统设计的内核 , 代码简洁 , 适合嵌入式设备和高性能设备 , 比如IOT、移动可穿戴设备等 , 目前这些领域还没有标准化级别的垄断者 。以及在框架层中有着语音交互、云端以及智能化等模块 , 由此笔者揣测未来Fuchsia率先应用在音控等智能嵌入式设备 。
文章插图
目前大家普遍比较看好的未来两个技术就是5G和IoT时代 。对于5G的需求 , 很大程度上是因为移动互联网发展到“IoT时代”的阶段 。这个发展阶段 , 全球上网设备的数量可能会达到500亿个 。随着5G+IOT时代的到来 , 现在大家比较关注
推荐阅读
- 成茶拼配
- 中世纪后期煮茶茶具的演进
- 刨腹产如何坐月子
- 三明,茶叶生产技术开发取得明显成效
- 福建白茶的百年演进
- 福建九都,茶叶技术培训走进赖岭村
- 山楂果茶粉加工技术
- 福鼎白茶质量技术要求
- 人类移民火星可能吗 就现有技术而言,移民火星面临的最大问题
- 老茶人探索北方茶树越冬防护技术