2019 最前沿的几个 Flutter 实践:微信、咸鱼、美团

举报
xenia 发表于 2019/10/21 16:38:21 2019/10/21
【摘要】 以下文章来源于玉刚说 ,作者任玉刚玉刚说我有故事,你有酒吗?这里分享编程经验和职场跃迁秘诀,你一定会喜欢。本文转载自公众号 玉刚说两个月前,我去 北京国际会议中心参加了GMTC全球大前端技术大会,会议议题很多,我只关注了跨平台专场。在这个专场,微信小程序、阿里咸鱼和美团都分享了自己在Flutter方向的实践,我之前以为咸鱼对Flutter的研究比较超前,听了微信和美团的分享后才知道,咸鱼搞...

以下文章来源于玉刚说 ,作者任玉刚

玉刚说玉刚说

我有故事,你有酒吗?这里分享编程经验和职场跃迁秘诀,你一定会喜欢。

本文转载自公众号  玉刚说

两个月前,我去 北京国际会议中心参加了GMTC全球大前端技术大会,会议议题很多,我只关注了跨平台专场。在这个专场,微信小程序、阿里咸鱼和美团都分享了自己在Flutter方向的实践,我之前以为咸鱼对Flutter的研究比较超前,听了微信和美团的分享后才知道,咸鱼搞的那些都不算啥,我也算是大开眼界了,所以我想把这几个实践案例分享给你们,PPT在文末。

基于小程序技术栈的微信客户端跨平台实践

微信小程序,最开始是采用Webview渲染的方案,后面又采用了React-Native-Like的方案,再后来微信提出了一个很大胆的想法:上层依然使用WXML+WXSS来表示,但是底层使用Flutter引擎来渲染,而且他们觉得Platform Channel通信效率低,自己整了一个dart2cpp的模块来负责通信。

我看完以后,觉得确实牛逼,连Flutter的Platform Channel都给干掉了,Google知道后会不会又一次拜服给国内的工程师,没办法,咱国内的工程师就是思维活跃,点子多。

概览:

  • 小程序的体验问题根源

  • 类 RN 的原生渲染解决方案

  • 跨平台的 LV-CPP 渲染方案

  • 使用 Flutter 优化 LV-CPP 跨平台渲染方案

闲鱼基于Flutter技术的架构演进与创新

咸鱼作为Google Flutter的大力实践者和推手,他们的方案必定是中规中矩的,不可能像微信小程序那样大刀阔斧地开干。

这次分享主要讲述了咸鱼在Flutter方向的实践历程和踩坑经验:不太完善的设计的一些改进,如重新设计构建的新混合栈体系,以及资源一体化项目的一些进展和效果,新开源框架fish redux的设计以及实践效果,在闲鱼构建的研发智能化体系是怎样的,给Flutter带来了怎么样的效率提升,基于Flutter的高可用性的度量标准以及设计方案是怎样的,等等。

概览:

  • Flutter的优势与挑战

  • 基于Flutter的架构体系演进

  • 基于Flutter的工程体系建设

基于跨平台框架 Flutter 的动态化平台建设

美团的方案也很牛逼,和微信的方案有异曲同工之妙,看了之后确实佩服,倒不是说他们的方案多么不可思议,而是他们敢想敢干。

微信和咸鱼都强调Flutter的跨平台,而美团则强调了Flutter的动态化,而我们知道,Flutter不支持线上的动态化,所以美团的分享主要围绕逻辑层动态化和渲染层动态化来进行。由于美团的分享PPT是不外传(但是我有)的,所以里面的方案细节我就简单提一下,PPT暂时不放出了。

美团在动态化引擎部分预置了一个JSC模块,也就是JsCore,通过JSC来执行JavaScript从而实现逻辑层的动态化,而渲染层动态化则通过xml+css来展示,然后解析生成布局树并最终通过Flutter来渲染,可见Flutter渲染方案确实牛逼,不管是微信小程序还是美团,他们都通过Flutter来做渲染。

PPT链接(已失效,新链接见留言区)

https://pan.baidu.com/s/1FdiPLpREQ99mRQWn7e4Kwg
提取码: 98e7



本文转载自公众号【程序员小灰】

原文链接:https://mp.weixin.qq.com/s/Cnh5_OEChJ51364ILBn9qg

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。