上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

阿里巴巴-周科羽-Flutter动态化框架- Aion的架构设计.pdf

编号:155781 PDF 35页 2.81MB 下载积分:VIP专享
下载报告请您先登录!

阿里巴巴-周科羽-Flutter动态化框架- Aion的架构设计.pdf

1、Flutter 动态化框架-Aion鸣羽 智能信息 Aion框架负责人个人简介周科羽(鸣羽),先后投身于Android插件化、多开、安全等技术领域,20年加入阿里智能信息事业群,负责了Flutter动态化框架-Aion 的从0到1搭建,以及负责了Aion框架从1.0 到 4.0版本的持续迭代。目录Aion 简介技术架构技术难点后续规划Aion简介为什么要做为什么要做FlutterFlutter动态化?动态化?为什么要做Flutter动态化 跨端框架对比FlutterProfile/ReleaseAOTlibapp.so/app.framework端技术跨端框架应用打包,发版ReactNativ

2、eJS Bundle前端技术跨端框架应用打包,上线打包解释执行为什么要做Flutter动态化 收益Flutter+动态化=1.研发测试效率2.快速迭代快速上线3.先上问题快速修复4.Flutter 支撑运营场景Aion简介怎么实现Flutter动态化?怎么实现Flutter动态化 方案对比Flutter动态化1.So 替换2.Snapshot JIT运行3.Web on Flutter4.自定义DSL5.双虚拟机解释执行6.单虚拟机混合执行怎么实现Flutter动态化 Android方案Flutter动态化1.So 替换2.Snapshot JIT运行3.Web on Flutter4.自定义

3、DSL5.双虚拟机解释执行6.单虚拟机混合执行只支持 AndroidDebug Flutter JIT VMRelease Flutter AOT VMlibapp.sosnapshotDart SourceCode怎么实现Flutter动态化 Web on FlutterFlutter动态化1.So 替换2.Snapshot JIT运行3.Web on Flutter4.自定义DSL5.双虚拟机解释执行6.单虚拟机混合执行JS 桥接 Flutter 引擎1.Widget 树桥接2.Render 树桥接3.渲染引擎桥接1.性能比原生差(增加了js engine,依赖ffi 通信)2.脱离Flu

4、tter生态1.前端技术栈 友好怎么实现Flutter动态化 自定义DSLFlutter动态化1.So 替换2.Snapshot JIT运行3.Web on Flutter4.自定义DSL5.双虚拟机解释执行6.单虚拟机混合执行代理类代理函数ProxyWidgetProxyElementProxyRender1.轻量级框架2.引擎Size增长小3.对原生侵入性低1.语法支持不完备(范型问题,类型比较)2.调用受限(局限在代理类和代理函数范围内)3.性能很差(for循环,复杂运算)怎么实现Flutter动态化 双虚拟机Flutter动态化1.So 替换2.Snapshot JIT运行3.Web

5、on Flutter4.自定义DSL5.双虚拟机解释执行6.单虚拟机混合执行增加支持动态加载的VM原生Flutter AOT VM动态化Dart代码非动态化Dart代码字节码1.动态化业务性能差(AOT JIT 解释执行)2.Size 增长巨大(两个libflutter.so)3.动态化业务与非动态化完全无法相互访问4.维护成本高支持双端解释器(类似Java Bytecode)1.支持所有语法、类继承2.支持Flutter生态内的三方库3.对原生框架侵入性低Flutter动态化1.So 替换2.Snapshot JIT运行3.Web on Flutter4.自定义DSL5.双虚拟机解释执行6.

6、单虚拟机混合执行FlutterVM支持解释执行AOT高性能高复杂代码非动态化业务动态化业务支持相互调用字节码1.动态化业务性能差(AOT JIT 解释执行)2.Size 增长巨大(两个libflutter.so)3.动态化业务与非动态化完全无法相互访问4.技术复杂度高1.支持所有语法、类继承2.支持Flutter生态内的三方库怎么实现Flutter动态化 单虚拟机混合执行怎么实现Flutter动态化 方案对比Flutter动态化1.So 替换2.Snapshot JIT运行3.Web on Flutter4.自定义DSL5.双虚拟机解释执行6.单虚拟机混合执行FlutterVM支持解释执行AO

7、T高性能高复杂代码非动态化业务动态化业务支持相互调用字节码1.支持所有语法、类继承2.支持Flutter生态内的三方库3.性能JIT Compiler机器码Android1.技术复杂度高Aion简介AionAion是什么?是什么?Aion简介AionAion是什么?是什么?一套基于一套基于解释执行解释执行&JIT&JIT&AOTAOT混合执行技术实现的混合执行技术实现的FlutterFlutter执行框架执行框架Aion框架的定位将将FlutterFlutter框架的研发模式从框架的研发模式从客户端技术客户端技术研发模式转变为研发模式转变为类前端技术类前端技术研发模式研发模式AionAion技

8、术架构技术架构Aion技术架构4.0 技术架构图Aion工程架构4.0 工程架构图AionAion技术难点技术难点技术难点AOT Dart VMKBCInterpreterKernelBytecodeAOTCode动态加载Library和Class编译优化,导致AOT代码被删除、不完整AOT函数和KBC函数相互调用如何保障KBC代码继承的AOT类和调用的AOT代码完整性?支撑密集计算动态化代码全语法支持如何保障KBC代码继承的AOT类和调用的AOT代码完整性如何保障KBC代码继承的AOT类和调用的AOT代码完整性调用AOT代码解决渲染执行效率如何保障KBC代码继承的AOT类和调用的AOT代码完

9、整性AOT虚拟机如何动态化加载LibraryAOT虚拟机如何动态化加载LibraryLibraryALibraryALibraryA_kbcCall LibraryA-Call LibraryA_kbc(bytecode)如何支撑高复杂密集计算动态化代码如何支撑高复杂密集计算动态化代码-指令优化技术AOT 函数与KBC函数相互调用KBC 解释器跨栈调用问题:AOT栈帧结构:KBC栈帧结构:后续规划后续规划Aion框架的定位将将FlutterFlutter框架的研发模式从框架的研发模式从客户端技术客户端技术研发模式转变为研发模式转变为类前端技术类前端技术研发模式研发模式后续规划FlutterFl

10、utter前端前端研发模式研发模式1.字节码生成重构 支持 SSA编译优化2.支持 Flutter 3.03.优化arm32 等低端机型的性能表现4.支持PC Flutter实现全平台动态5.进一步降低Aion接入的Size膨胀数据THANKS投简历:zhoukeyu.zkyalibaba-了解更多技术实践案例麦思博(msup)有限公司是一家面向技术型企业的培训咨询机构,携手2000余位中外客座导师,服务于技术团队的能力提升、软件工程效能和产品创新迭代,超过3000余家企业续约学习,是科技领域占有率第1的客座导师品牌,msup以整合全球领先经验实践为己任,为中国产业快速发展提供智库。高可用架构主要关注互联网架构及高可用、可扩展及高性能领域的知识传播。订阅用户覆盖主流互联网及软件领域系统架构技术从业人员。高可用架构系列社群是一个社区组织,其精神是“分享+交流”,提倡社区的人人参与,同时从社区获得高质量的内容。

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(阿里巴巴-周科羽-Flutter动态化框架- Aion的架构设计.pdf)为本站 (张5G) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部