Contents

Flutter、JetPack Compose和SwiftUI对比

从目前技术的发展来看,通过声明式API来构建UI将会成为主流。

框架 Flutter JetPack Compose SwiftUI
支持平台 Android、iOS、Web、Desktop Android iOS、MacOS、iPadOS
开发语言 dart kotlin swift
性能
优点 跨平台 原生,简化UI构建 原生,简化UI构建
缺点 性能相比原生稍差,跨多平台目前还不完善,UI嵌套深 不支持跨平台,Android的UI构建包 仅支持Apple自家的跨平台,iOS的UI构建包,缺乏竞争力

1. 如何选择?

这问题是个悖论,因为这三个东西完全不一样,面向的场景和未来也不一样。

flutter

跨平台,使用自己的skia引起渲染,支持移动端(android、iOS)、web、桌面应用程序。 所有的跨平台框架都绕不开目标平台,所以flutter想使用它来做跨平台开发,你得懂一些Android知识,iOS知识,h5知识。尤其在项目越来越复杂的情况下,和目标平台的耦合越来越深,导致后期还得进行相当一部分的原生开发。 但是跨平台是趋势,从iOS和Android出现的时候跨平台问题就开始探讨了,flutter用于快速出前期产品非常有效,学会它毫无疑问会提升自己的竞争力。

JetPack Compose

Android UI工具包,只能用于AndroidUI构建,未来发展如何不知道,开发方式类似flutter,可以大幅度简化原来Android UI的构建方式,短时间应该不会完全普及,有闲暇与兴趣的可以去学学。

SwiftUI

Apple未来的UI统一方案,能用于Apple全家桶的UI构建,以Apple的号召力,应该会大力推动它普及,iOS开发都应该去学。

2. 代码对比