加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Flutter 实现原理及在马蜂窝的跨平台开发实践

发布时间:2019-03-27 13:02:53 所属栏目:教程 来源:电商客户端团队
导读:一向以来,跨平台开拓都是困扰移动客户端开拓的困难。 在马蜂窝旅游 App 许多营业场景里,我们实行过一些主流的跨平台开拓办理方案, 好比WebView 和 React Native,来晋升开拓服从和用户体验。但这两种方法也带来了新的题目。 好比行使 WebView 跨平台方

参考了业界内的办理要领,以及项目自身的现实场景,我们选择相同于 H5 在 Navite 中嵌入的方法,同一通过 openURL 跳转到一个 Native 页面(FlutterContainerVC),Native 页面通过 addChildViewController 方法添加 FlutterViewController(认真 Flutter 页面渲染),同时通过 channel 同步 Native 页面与 Flutter 页面。

Flutter 实现道理及在马蜂窝的跨平台开拓实践

  • 每一次的 push/pop 由 Native 提倡,同时通过 channel 保持 Native 与 Flutter 页面同步——在 Native 中跳转 Flutter 页面与跳转原生无差别
  • 一个 Flutter 页面临应一个 Native 页面(FlutterContainerVC) ——办理页面资源化
  • FlutterContainerVC 通过 addChildViewController 对单例 FlutterViewController 举办复用——担保生命周期完备性,处理赏罚相干解决变乱上报
  • 因为每一个 FlutterViewController(提供 Flutter 视图的实现)会启动三个线程,别离是 UI 线程、GPU 线程和 IO 线程,行使单例 FlutterViewController 可以镌汰对资源的占用——办理资源机能题目

Flutter 应用总结

Flutter 一经宣布就很受存眷,除了 iOS 和 Android 的开拓者,许多前端工程师也都很是看好 Flutter 将来的成长远景。信托也有许多公司的团队已经投入到研究和实践中了。不外 Flutter 也有许多不敷的处所,值得我们留意:

  1. 固然 1.2 版本已经宣布,可是今朝没有到达完全不变状态,1.2 宣布完了就呈现了控件渲染的题目。加上 Dart 说话生态小,进修资料也许不足富厚。
  2. 关于动态化的支持,今朝 Flutter 还不支持线上动态性。假如要在 Android 上实现动态性相对轻易些,iOS 因为考核缘故起因要实现动态性也许本钱很高。
  3. Flutter 中今朝拿来就用的手段只有 UI 控件和 Dart 自己提供手段,对付平台级此外手段还必要通过 channel 的方法来扩展。
  4. 已有工程迁徙较量伟大,早年沉淀的 UI 控件,必要从头再实现一套。
  5. 最后一点较量有争议,Flutter 不会从措施中拆分出特另外模板或机关说话,如 JSX 或 XM L,也不必要单独的可视机关器材。有的人以为共同 HotReload 成果行使很是利便,但我们发明这样代码会有很是多的嵌套,阅读起来有些吃力。

今朝阿里的闲鱼开拓团队已经将 Flutter 用于大型实践,并应用在了较量重要的场景(如产物详情页),为其后者提供了精采的小心。马蜂窝的移动客户端团队关于 Flutter 的试探才方才起步,前面尚有许多的题目必要我们一点一点去办理。不外无论从 Google 对其的重视水平,照旧我们从实践中看到的这些利益,都让我们对 Flutter 布满信念,也但愿在将来我们可以操作它缔造更多的代价和事迹。

路途虽远,犹可期许。

参考文献:

Flutter's Layered Design

https://www.youtube.com/watch?v=dkyY9WCGMi0

Flutter's Rendering Pipeline

https://www.youtube.com/watch?v=UUfXWzp0-DU&t=1955s

Flutter道理与美团的实践https://juejin.im/post/5b6d59476fb9a04fe91aa778#comment

(题图来历:收集)

【本文是51CTO专栏作者马蜂窝技能的原创文章,作者微信公家号马蜂窝技能(ID:mfwtech)】

戳这里,看该作者更多好文

【编辑保举】

  1. 马蜂窝动静总线——面向营业的动静处事计划
  2. 马蜂窝定制游抢单体系计划与成果焦点
  3. 方才,阿里开源 iOS 协程开拓框架 coobjc!
  4. 面向接口/协议?看DuerOS的手艺开拓
  5. 开拓职员不得不知的MySQL索引和查询优化
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读