Flutter、JetPack Compose和SwiftUI对比
Contents
从目前技术的发展来看,通过声明式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开发都应该去学。