【完结14章】跨平台高手必修课--Flutter动态化解决方案实战
近年来,跨平台技术的迅速发展为移动端开发带来了革命性的变化。以 React Native 和 Flutter 为代表的跨平台技术,极大地提升了前端开发者的工作效率。
在Flutter实践层面,简单来说分为三个流派:
方案一:JavaScript是最好的语言( 碰瓷PHP) 主要思路:利用Flutter做渲染,开发使用js,逻辑层通过v8/jscore解释运行。代表框架是腾讯的MXFlutter。这个框架是开源的,大写的 。
方案二:DSL + JS
主要思路:基于模板实现动态化,主要布局层采用Dart转DSL的方式,逻辑层使用JS。代表框架是58同城开源的Fair。
方案三:布局,逻辑,一把梭
主要思路:与方案一最主要的区别是,逻辑层也是使用dart,增加了一层语法解析和运行时。有一个代表,美团的MTFlutter,然而没有开源动向,无从考察更多。
Flutter由于可以跨平台,再加上出自Google,在移动端颇受关注,有点像当初J2之于企业应用。Flutter主要的优势是跨平台,采用自己的Dart虚拟机和Skia渲染引擎,从而不依赖Native语言和渲染,并且支持AOT和JIT编译机制,从而性能和效果也能得到保证。其中Flutter的语言Dart与JS十分接近,其Widgets与Web Components的理念也十分相似,所以很适合Web开发思路,即支持页面动态化更新和可视化搭建。
总体架构上分为四大部分,
第一部分是可视化搭建平台,负责开发DSL页面和配置数据。
第二部分是低代码服务中台,提供组件保存、页面发布和数据加工能力。
第三部分是面向端的接口服务,包括模板和数据接口。
第四部分是端,这块是核心重点,端上需要支持一整套DSL的解析和渲染映射,并且要做好相应的优化,以保证渲染性能和效率。
![QQ截图20240611150439.png](https://static.golangjob.cn/240612/c4981eef3ddfd608e86d9d64eda6957e.png)
有疑问加站长微信联系(非本文作者)
![](https://static.golangjob.cn/static/img/footer.png?imageView2/2/w/280)