Flutter 技术在会展云中大显神通
导读
在《会展云技术解读》专题中,咱们先发推出了 4 篇文章,别离从 平安 、 设计 、 智能举荐零碎 、 挪动监控 等维度深刻解读会展云背地的技术能力:
???? 平安篇——多重平安保障护航云上会展
???? 设计篇——基于服务设计的线上展览
???? 智能举荐篇——深度解读智能举荐零碎搭建之路
???? 挪动监控篇——面对突发事变,APP 如何做好解体剖析与性能监控?
会展云解决方案笼罩了 业务 , 技术 , 平台 , 利用 四个层面,业务层面提供科技感十足的云上展厅、多种模式的论坛会议等;利用层面有多种解决方案,直播解决方案、视频会议解决方案、挪动研发解决方案等;技术层面依靠海量弹性云计算能力和短缺可扩大的云存储及带宽资源,集成了多种京东中台平台的能力,有技术中台、数据中台、智能中台及业务中台能力,可疾速响应前台利用的需要。
作为云上展会,最终出现给宽广参会者的对外窗口必然是网站、APP、H5、小程序等线上零碎,挪动开发必然是重中之重。
家喻户晓,Flutter 是谷歌公司提供的跨平台 UI 工具包,反对跨 Android、iOS 等多个平台复用代码,同时容许应用程序间接与根底平台的服务交互。 其设计目标是使开发人员可能在不同平台上尽量复用代码,交付高性能的利用。
作为可扩大的分层零碎,Flutter 有一系列独立的库,每一个库都依赖于更底层的库。对于操作系统来说,Flutter 利用和其余的原生利用的打包形式雷同。平台特定的嵌入器提供一个入口点,和底层操作系统进行协商,拜访诸如渲染界面、输入输出、音讯事件循环等服务。通过嵌入器,能够将 Flutter 代码作为模块集成到现有应用程序,也能够作为一个残缺的利用。
作为 Flutter 的外围组成部分,Flutter Engine 次要由 C ++ 编写,提供了 外围 API 的低级实现,包含图像,文本布局,文件和网络 I /O,插件架构以及 Dart 运行时和编译工具链。 开发人员通过 Flutter Framework 与 Flutter 交互,该框架提供了一种以 Dart 语言编写的响应式框架,包含一系列丰盛的组件、根底库。
(图片起源:Flutter 官网)
不久前胜利举办的中国国内服务贸易交易会(简称服贸会)首次采取 新模式——线上线下展会交融,而服贸会 APP 作为云上展会对外运维的重要窗口,为来自寰球不同规模、不同行业的参展商、采购商提供展览展现、论坛会议、洽谈签约的数字平台。
在本次服贸会 APP 开发中,局部功能模块采纳 Flutter 开发,咱们将 Flutter 实现的性能以一个模块的形式嵌入到主 APP 中运行。Android 以 AAR(Android Archive)的形式嵌入,iOS 以 Framework 的形式嵌入。集成形式非常简单,以 Android 为例:进入 Flutter module 目录,执行 flutter build aar,依照命令的输入后果进行集成。
Flutter module 和原生模块之间通过 Platform Channel 进行通信。Flutter 定义了三种不同类型的 Channel, 别离如下:
名称形容BasicMessageChannel 反对传递字符串和半结构化信息 MethodChannel 反对通过异步办法调用进行通信 EventChannel 反对通过事件流进行通信
三种 Channel 尽管互相独立,设计上很类似,都蕴含如下重要的变量:
变量形容String nameChannel 名称,用作惟一标识 BinaryMessenger messenger 负责音讯的发送和接管 MessageCodec codec 音讯编解码器
音讯在发送方先通过 codec 进行编码,而后通过 messenger 发送,最初在接管方通过 codec 解码。
目前咱们的混合开发只进行了页面级别的实际,一次展现一个残缺的 Flutter 页面,不存在原生页 view 和 Flutter view 在同一页面混合展现的状况。原生和 Flutter 之间只须要反对页面跳转,没有大量的数据传输要求。基于此咱们只采纳了 MethodChannel 进行通信。代码如下:
flutter 端:
Android:
咱们只对独立的模块应用 Flutter 开发,在咱们的混合计划中,原生和 Flutter 视图作为独立页面展现,不波及共享视图的场景。下面介绍的 接入形式 、 通信形式 根本能够实现这种维度的混合开发。
作为新一代的跨平台计划,Flutter 能够显著进步开发效率(从咱们的实践经验看,混合开发节约大略三分之一的人力);Dart 作为 Flutter 应用层的主打语言,语法和支流语言很靠近,学习成本低,容易应用;Flutter 的 hot reload 等技术能够显著进步开发调试效率。总之 Flutter 技术值得投入工夫学习应用。
举荐浏览:
- 知你所想,推你所愿 深度解读展会场景智能举荐搭建之路
- 会展云技术解读丨多重平安保障护航云上会展
- 京东技术中台 Flutter 实际之路(二)
欢送点击【京东智联云】,理解开发者社区
更多精彩技术实际与独家干货解析
欢送关注【京东智联云开发者】公众号