我到底应该学SwiftUI?UIKit?还是both?

本文探讨了在Swift开发中是否应该只使用SwiftUI。尽管SwiftUI是苹果的未来,但因其API覆盖有限、兼容性问题和社区支持不足,完全转向SwiftUI并不实际。建议开发者应同时了解SwiftUI和UIKit,为未来的SwiftUI主流趋势做好准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
最近有些朋友问我,我学Swift到底应该学SwiftUI还是UIKit也要学?哈哈,你是不是也在期待着这样的回答:all in SwiftUI吧,UIKit的内容不用管了!然鹅,如果你听了这话,那目前阶段甚至一两年内你都可能只是写一写玩玩的项目了。各位看官,且听我细说为啥不能all in SwiftUI吧。

在解释之前,我需要说明一点:SwiftUI毫无疑问是一个很优秀的用户界面框架,而且100%会成为苹果所有平台开发的未来。但是,目前编写一个商业级的APP,依然需要你对UIKit的知识有足够的了解。

实际上,不选择现在all in是有以下三个方面的考虑:

  • API覆盖有限
  • 兼容性有限
  • 社区支持有限

API覆盖有限

就目前来说,不管你是想做企业级应用还是做自己的业余项目,其中一个掣肘的点是SwiftUI的API提供不如UIKit的丰富。

举个栗子,如果你想做一个商品展示的网格视图,在UIKit中我们会选择UICollectionView实现,但是SwiftUI并没有提供相同的控件;又或者你想让用户可以多行输入,UIKit中你会使用UITextView,但是在SwiftUI中也没有。有时间你会感觉很心累,在UIKit中很常见的功能在SwiftUI中不是很难实现就是做不到,比如设置列表视图的分割线缩进?比如给alert弹框添加一个文字输入框?这在UIKit中就一行代码的事,SwiftUI说臣妾做不到啊!奔溃!

当然没有提供这些和UIKit一一对应的API,并不是苹果公司的开发小哥们懒,更像是他们故意为之:他们没有一次性的发布所有API的包装器,然后再不断的修改,而是采取更加谨慎的方式,即增量添加API。这种方式的好处是显而易见的:在未来版本迁移上会非常的简单,而且这也给了苹果的工程师们更多的时间打磨这些不成熟的API。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值