在商业和开源代码中被广泛使用的Flutter和Swift你更中意哪一个呢?本文对两者的优势、性能、流行度等方面进行比较分析,帮助您找出更适合自己项目的框架或语言。
作者TimSneath译者
风车云马
以下为译文:
目前,iOS应用程序已经成为一种有效的解决方案,如果你的公司还没有这款应用,就可能失去了潜在的收益。客户对可靠、友好的应用程序的需求从未像现在这样高。幸运的是,移动技术的进步使得开发高性能的iOS和Android应用程序变得很容易。
然而,在你正式构建应用程序之前,你必须确定选用哪个框架会更好。iOS应用开发的两个主要选择是Flutter/Dart和iOS/Swift。因此,我们对这两种移动应用程序框架作以比较,以帮助您找出更适合自己项目的框架或语言。
FlutterVSSwift
年,苹果发布了其多范式编译编程语言Swift。它是一种开源的通用语言,专为原生iOS开发而设计。Swift提供了许多好处,包括:
优秀的文档
免费和开源
代码可读性好
速度快
高级功能
易于伸缩的动态库
Flutter是谷歌开发的一个开源、多平台的移动SDK。它使用Dart编程语言,Flutter允许你在相同的源代码中构建iOS、Android、Linux、Windows、Mac、GoogleFuchsia和web应用程序。Flutter和Swift有类似的优势,还有几项额外的好处:
免费和开源,拥有更多的用户
完美的文档
速度快
图形引擎
加速开发的各种工具
热重载
兼容旧设备
便于界面创建的小部件
构建速度
当你使用本地编程语言时,应用程序的构建时间都会比较快。因此,当您比较Flutter、Kotlin或Swift的干净构建时间时,后一种语言肯定会更快。然而,当您额外构建时,Dart语言也会变得更有竞争力。
上市时间
当考虑到Flutter与原生iOS开发的上市时间时,Flutter确实很出色。很少有公司只想要一个单一平台的应用,所以如果你使用Swift来构建一个iOS应用,你还必须为Android开发一个单独的应用。这可能会非常昂贵,因为开发人员将不得不构建两个独立的代码库。
然而,当您将Flutter用于跨平台应用程序开发时,您可以利用一个代码库为多个平台开发应用程序。这些应用程序不仅可以在各自的操作系统和设备上完美运行,还可以减少开发、维护时间和费用。
此外,Flutter的发展速度更快。有很多集成开发环境(IDE)加速了Flutter应用程序的开发,例如VisualStudioCode,它有许多与AndroidStudio和IntelliJ相同的特性,但它更轻更快。你可以在几个月内就向市场推出一个基本的FlutterMVP(MinimumViableProduct,最小化可行产品),并随着市场的变化逐步添加新功能,而不是等待一年半载或更长时间来启动一个完全开发好的应用程序。
插件和代码重用性
我们已经提到了Flutter出色的代码重用性,以及使用单一代码库为多个平台开发应用程序的优势。该优势也减少了测试时间,因为开发者不必为两个完全独立的应用程序测试其性能;而如果使用Swift或其他框架,他们可能就需要这样做。Flutter还提供了各种各样的插件,以实现更快、更容易的开发。
性能
如果你有一大笔预算为每个平台开发不同的应用,那么Swift是一个很好的选择。您将使用本地框架开发流畅、快速、可靠的应用程序。然而,较小的预算并不意味着你必须在性能上妥协。
Flutter应用程序可以在所有平台上提供本机级性能,因为它们使用本机编译的代码运行,没有解释器干扰。此外,Flutter动画包可以很容易地构建一个整洁、直观的用户界面。大多数Flutter动画小部件不仅具有预先设置的效果,而且也可以根据您的特定需求自定义。
流行度和用例
在年的Stackoverflow调查中,Flutter在最受欢迎的框架、库和工具的使用中位居前三名。Flutter在GitHub上有万颗star,而Swift只有5.5万颗。当然,这两个框架都被用来创建各种各样的应用程序:
SwiftApps:
SlideShare
Lyft
Firefox
Eventbrite
FlutterApps:
GoogleAds
Alibaba
Square
Ebay
HamiltonMusical
Reflectly
Groupon
Cryptomaniac
SpaceXGo
Realtor.