基于Weex的Flutter项目框架

最近在做的一个项目,项目的前期采用Weex开发。但是随着交互复杂度的增加,Weex一处开发多处多处运行的特征并没有很好的体现,相反很多时候我们还是需要做IOS和Android的适配。如今火热的Flutter相比Weex和Rn来说,给出了更好的跨平台解决方案。所以我们设计了一套基于Weex实现,底层跑在Flutter Engine上的框架。

渲染引擎


 底层的Runtime采用isolate engine,框架业务逻辑,Dom的解析逻辑和Render逻辑都跑在这里。

 渲染引擎采用Flutter的Skia,彻底剥离了Android和IOS的差异性.


架构图

思路


    将Weex VirsualDom的解析都替换成Flutter Widget.

    设计基于Weex2Dart的Brider,使JS和Dart可以相互调用


性能


    weex-demo的性能展示


性能

release环境下采用AOT模式,性能会有质的飞跃。


包大小


Android-Release版本只有10m大小


优点


相比Weex和Rn具有更好的性能,同时具有更好的跨平台性

相比Flutter,具有动态部署的能力(Flutter Release采用AoT模式并没有动态部署的能力,即使Debug版本也只是开发环境下才有动态化能力并没有可以实施项目的能力)

只需要会Weex开发或则Rn开发就可以,不需要额外学习Dart,已有的Weex项目可以无缝切换。

你可能感兴趣的:(基于Weex的Flutter项目框架)