iOS 跨平台开发,该用 Flutter 还是 Swift?

发表于 2年以前  | 总阅读数:2522 次

【CSDN 编者按】在商业和开源代码中被广泛使用的 Flutter 和 Swift 你更中意哪一个呢?本文对两者的优势、性能、流行度等方面进行比较分析,帮助您找出更适合自己项目的框架或语言。

以下为译文:

目前,iOS 应用程序已经成为一种有效的解决方案,如果你的公司还没有这款应用,就可能失去了潜在的收益。客户对可靠、友好的应用程序的需求从未像现在这样高。幸运的是,移动技术的进步使得开发高性能的 iOS 和 Android 应用程序变得很容易。

然而,在你正式构建应用程序之前,你必须确定选用哪个框架会更好。iOS 应用开发的两个主要选择是 Flutter/Dart 和 iOS/Swift。因此,我们对这两种移动应用程序框架作以比较,以帮助您找出更适合自己项目的框架或语言。

Flutter VS Swift

2014 年,苹果发布了其多范式编译编程语言 Swift。它是一种开源的通用语言,专为原生 iOS 开发而设计。Swift 提供了许多好处,包括:

  • 优秀的文档
  • 免费和开源
  • 代码可读性好
  • 速度快
  • 高级功能
  • 易于伸缩的动态库

Flutter 是谷歌开发的一个开源、多平台的移动 SDK。它使用 Dart 编程语言,Flutter允许你在相同的源代码中构建 iOS、Android、Linux、Windows、Mac、Google Fuchsia 和 web 应用程序。Flutter 和 Swift 有类似的优势,还有几项额外的好处:

  • 免费和开源,拥有更多的用户
  • 完美的文档
  • 速度快
  • 图形引擎
  • 加速开发的各种工具
  • 热重载
  • 兼容旧设备
  • 便于界面创建的小部件

构建速度

当你使用本地编程语言时,应用程序的构建时间都会比较快。因此,当您比较Flutter、Kotlin 或 Swift 的干净构建时间时,后一种语言肯定会更快。然而,当您额外构建时,Dart 语言也会变得更有竞争力。

上市时间

当考虑到 Flutter 与原生 iOS 开发的上市时间时,Flutter 确实很出色。很少有公司只想要一个单一平台的应用,所以如果你使用 Swift 来构建一个 iOS 应用,你还必须为 Android 开发一个单独的应用。这可能会非常昂贵,因为开发人员将不得不构建两个独立的代码库。

然而,当您将 Flutter 用于跨平台应用程序开发时,您可以利用一个代码库为多个平台开发应用程序。这些应用程序不仅可以在各自的操作系统和设备上完美运行,还可以减少开发、维护时间和费用。

此外,Flutter 的发展速度更快。有很多集成开发环境(IDE)加速了 Flutter 应用程序的开发,例如 Visual Studio Code,它有许多与 Android Studio 和 IntelliJ 相同的特性,但它更轻更快。你可以在几个月内就向市场推出一个基本的 Flutter MVP(Minimum Viable Product,最小化可行产品),并随着市场的变化逐步添加新功能,而不是等待一年半载或更长时间来启动一个完全开发好的应用程序。

插件和代码重用性

我们已经提到了 Flutter 出色的代码重用性,以及使用单一代码库为多个平台开发应用程序的优势。该优势也减少了测试时间,因为开发者不必为两个完全独立的应用程序测试其性能;而如果使用 Swift 或其他框架,他们可能就需要这样做。Flutter 还提供了各种各样的插件,以实现更快、更容易的开发。

性能

如果你有一大笔预算为每个平台开发不同的应用,那么 Swift 是一个很好的选择。您将使用本地框架开发流畅、快速、可靠的应用程序。然而,较小的预算并不意味着你必须在性能上妥协。

Flutter 应用程序可以在所有平台上提供本机级性能,因为它们使用本机编译的代码运行,没有解释器干扰。此外,Flutter 动画包可以很容易地构建一个整洁、直观的用户界面。大多数 Flutter 动画小部件不仅具有预先设置的效果,而且也可以根据您的特定需求自定义。

流行度和用例

在 2020 年的 Stackoverflow 调查中,Flutter 在最受欢迎的框架、库和工具的使用中位居前三名。Flutter 在 GitHub 上有 118 万颗 star,而 Swift 只有 5.5 万颗。当然,这两个框架都被用来创建各种各样的应用程序:

Swift Apps:

  • LinkedIn
  • SlideShare
  • Lyft
  • Firefox
  • Eventbrite

Flutter Apps:

  • Google Ads
  • Alibaba
  • Square
  • Ebay
  • Hamilton Musical
  • Reflectly
  • Groupon
  • Cryptomaniac
  • SpaceX Go
  • Realtor.com

从 Flutter 应用程序示例中可以看到,该框架可用于各种规模的企业构建各种应用程序,包括零售商、金融机构、供应商、特许经销商等。

然而,在考虑 Swift /Dart 时,请记住在某些情况下,本地框架可能会更好地服务。如果:

  • 你的应用程序大小比较小(1-3MB),因为 Flutter 应用程序往往比本地应用程序大很多。
  • 当你更新你的应用时,你需要使用热代码(hot code)推送来跳过应用商店(App Store)的审查过程。
  • 你正在开发一款更复杂的游戏,如《绝地求生》(PUBG)。Flutter 主要是为应用程序设计的,而不是游戏。然而,这个框架对于简单的游戏来说工作得很好。

*iOS 应用程序的附加功能

当着眼于为 iOS 应用开发选择合适的框架时,不要认为所有很酷的苹果解决方案都只与本地框架兼容。它可以无缝集成以下功能:

  • Apple HealthKit ——允许设备将用户的健康和健身数据读取/写入到他们的健康应用程序,为用户增加了不同层级的信息,并与他们当前的解决方案完美匹配。
  • Machine learning ——利用设备上的机器学习开发创新、强大的功能,给用户带来全新的体验。
  • HomeKit ——应用程序和设备能够无缝连接到用户当前的智能家庭系统,并使用 Siri 控制它们。

结论

Swift 本身就是一个很棒的本地框架,但 Flutter 提供了更多好处,包括使用单一源代码为多个平台开发应用程序的能力。Flutter 可以完美地为各种各样的应用程序工作,它享有更多的社区支持,它将节省您的开发时间和资金。Swift 适用于原生应用,但随着 Flutter 的不断改进,它在 iOS 应用开发方面甚至会超过 Swift。

本文由哈喽比特于2年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/BWj_5fGguSohDkrkvTKHQA

 相关推荐

刘强东夫妇:“移民美国”传言被驳斥

京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。

发布于:1年以前  |  808次阅读  |  详细内容 »

博主曝三大运营商,将集体采购百万台华为Mate60系列

日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。

发布于:1年以前  |  770次阅读  |  详细内容 »

ASML CEO警告:出口管制不是可行做法,不要“逼迫中国大陆创新”

据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。

发布于:1年以前  |  756次阅读  |  详细内容 »

抖音中长视频App青桃更名抖音精选,字节再发力对抗B站

今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。

发布于:1年以前  |  648次阅读  |  详细内容 »

威马CDO:中国每百户家庭仅17户有车

日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。

发布于:1年以前  |  589次阅读  |  详细内容 »

研究发现维生素 C 等抗氧化剂会刺激癌症生长和转移

近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。

发布于:1年以前  |  449次阅读  |  详细内容 »

苹果据称正引入3D打印技术,用以生产智能手表的钢质底盘

据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。

发布于:1年以前  |  446次阅读  |  详细内容 »

千万级抖音网红秀才账号被封禁

9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...

发布于:1年以前  |  445次阅读  |  详细内容 »

亚马逊股东起诉公司和贝索斯,称其在购买卫星发射服务时忽视了 SpaceX

9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。

发布于:1年以前  |  444次阅读  |  详细内容 »

苹果上线AppsbyApple网站,以推广自家应用程序

据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。

发布于:1年以前  |  442次阅读  |  详细内容 »

特斯拉美国降价引发投资者不满:“这是短期麻醉剂”

特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。

发布于:1年以前  |  441次阅读  |  详细内容 »

光刻机巨头阿斯麦:拿到许可,继续对华出口

据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。

发布于:1年以前  |  437次阅读  |  详细内容 »

马斯克与库克首次隔空合作:为苹果提供卫星服务

近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。

发布于:1年以前  |  430次阅读  |  详细内容 »

𝕏(推特)调整隐私政策,可拿用户发布的信息训练 AI 模型

据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。

发布于:1年以前  |  428次阅读  |  详细内容 »

荣耀CEO谈华为手机回归:替老同事们高兴,对行业也是好事

9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI操控无人机能力超越人类冠军

《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI生成的蘑菇科普书存在可致命错误

近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。

发布于:1年以前  |  420次阅读  |  详细内容 »

社交媒体平台𝕏计划收集用户生物识别数据与工作教育经历

社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”

发布于:1年以前  |  411次阅读  |  详细内容 »

国产扫地机器人热销欧洲,国产割草机器人抢占欧洲草坪

2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。

发布于:1年以前  |  406次阅读  |  详细内容 »

罗永浩吐槽iPhone15和14不会有区别,除了序列号变了

罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。

发布于:1年以前  |  398次阅读  |  详细内容 »
 相关文章
快速配置 Sign In with Apple 5年以前  |  7675次阅读
使用 GPUImage 实现一个简单相机 5年以前  |  5971次阅读
APP适配iOS11 5年以前  |  5749次阅读
 目录