flutter、tauri、maui你更看好哪一个?

哈喽,我是老刘

我们团队使用Flutter已经5年多了,当时选择Flutter的时候也是做了一些各个框架的对比的

不过那时候没有对比过Tauri

所以这里先说说Tauri,然后对比Flutter和Maui

Tauri

如果我的信息没有太过滞后的话

Tauri 目前支持移动端的V2版本还是beta阶段

那来看Tauri的架构,其实就是UI层面通过系统Native提供的功能去渲染网页

底层调用系统功能则是通过Rust实现

所以其实它的架构和Electron是最接近的,可以看作是对标

正式发布后的效果如何还要看正式版的优化和生态

不过从目前的架构来看

在手机端我觉得性能很难做到太好

因为它很难突破网页的性能限制

那么接下来看看Flutter和Maui的对比

Flutter vs MAUI

MAUI的架构

和RN其实很类似

MAUI的控件,最终在各个平台上会调用原生的系统控件

由系统控件完成最后的展示和渲染

而C#开发的代码作为业务逻辑的中间层

看下面这个按钮的实现

这种架构的好处是上层框架可以不用考虑各个平台的渲染问题

但是也带来了以下两个问题:

1、 平台一致性、兼容性不够好

这点其实很好理解

既然UI绘制最终交给了各平台的原生控件

那么如何保证一个上层控件的功能,在不同平台的原生控件上都有对应的实现?

如果一个功能在某些平台上有某些平台上没有怎么办?

而一旦在原生控件部分产生bug

那么开发人员就必须要回到原生代码层面进行定位和解决

这就进一步造成了碎片化和兼容性问题

2、 存在一定的性能损耗

这个问题我举个例子进行说明

比如我们要实现一个拖拽功能

就是在屏幕上点住一个元素,然后拖拽到屏幕其它地方

而且元素在屏幕的不同位置要显示不同的颜色

那这个代码如果在上层框架部分实现

就需要元素在屏幕上每移动一个像素

都从原生传递一个移动事件给上层框架

上层框架根据移动的位置计算颜色等显示信息

而这种大量的实时数据传输,会严重拖慢性能

那么再来看看Flutter架构,为什么Flutter没有类似的问题?

Flutter架构

Flutter最大的特点就是自带绘制引擎

也就是说Flutter抛弃了调用原生控件的思路

转而通过集成一个绘制引擎

把所有UI展示的工作自己实现了一遍

换个说法,Flutter相当于把原生UI替换掉了

这也就是为什么Flutter可以避免上面说的那些问题的原因

来看原生、MAUI和Flutter的架构对比

所以在目前的这种架构体系下

我更看好Flutter未来的发展

当然,如果Flutter的开发语言能换成C#那也是极好的

或者MAUI也集成一个渲染引擎也是很不错的方案

好了,关于几种跨平台框架的对比,就先介绍到这里

如果看到这里的同学有学习Flutter的兴趣,欢迎联系老刘,我们互相学习。

点击免费领老刘整理的《Flutter开发手册》,覆盖90%应用开发场景。

可以作为Flutter学习的知识地图。
覆盖90%开发场景的《Flutter开发手册》

相关推荐
samble4 小时前
从零搭建灌装监控系统(十九):单元测试实战,xUnit + 内存SQLite + 反射测试私有方法
c#·wpf·mvvm·modbus·工业控制
大龄秃头程序员5 小时前
Flutter 最少代码验证:为什么子 Isolate 调原生,一定要先回到主 Isolate?
flutter
FungLeo6 小时前
成为全栈·Flutter App 篇·分类、标签与搜索:移动端内容发现
flutter·移动开发·标签·搜索·分类管理·成为全栈
人道领域7 小时前
【面试八股速通篇01】锁与并发工具
java·开发语言·面试·c#
宇卿.8 小时前
C#字段、属性、索引器、常量
开发语言·计算机视觉·c#
m0_738185828 小时前
Flutter 鸿蒙化实战:the_apple_sign_in 适配 OpenHarmony,Apple 登录
flutter·华为·harmonyos·鸿蒙
程序员Linc8 小时前
ONNXOCRSharp 开源手记 02|v0.4.0 PDF识别
开发语言·pdf·c#·ocr·onnxocrsharp
m0_738185828 小时前
Flutter 鸿蒙化实战:umeng_analytics_plugin 适配 OpenHarmony,友盟统计
flutter·华为·harmonyos·鸿蒙
慧都小妮子9 小时前
MSG 附件太占内存?Aspose.Email for .NET 26.9 延迟加载
c#·.net·aspose·内存优化·延迟加载·aspose.email·附件内存
慧都小妮子9 小时前
FastReport PDF/UA 导出:让出海 PDF 满足无障碍合规要求
pdf·c#·fastreport·报表导出·pdf/ua·pdf 无障碍