• 赚钱入口【需求资源】限时招募流量主、渠道主,站长合作;【合作模式】CPS长期分成,一次推广永久有收益。主动打款,不扣量;

SwiftUI的优势

iOS rin, seun 10个月前 (06-16) 181次浏览 0个评论

大约一年前,Apple在WWDC 2019上推出了SwiftUI。这仍然是一项非常年轻的技术,但是很显然,这不仅是iOS开发的未来,而且是macOS,watchOS和tvOS开发的未来。使用SwiftUI有什么优势?

发展更快

让我们面对现实:时间很重要。我们热爱我们的工艺,但我们也希望快速发展,以满足客户的需求并提高生产力。SwiftUI的重要组成部分是预览。它使您能够在开发时查看UI代码的图形结果。

在一定程度上也适用于通过使用界面生成器使用UIKit进行开发。但是,使用SwiftUI可以定义用于预览的测试数据。考虑一个表视图:您不仅看到单个原型单元,还看到了带有实际数据的整个表视图。此外,您可以同时看到不同的屏幕尺寸。还可以观察到其他状态,例如定位和暗模式。

您也可以使用实时预览。启动后,您可以与您的UI进行交互。这就像使用模拟器有很大的不同,您无需在应用更改后重新编译。

这样可以节省大量的构建时间。当项目变得庞大时,较长的构建时间会大大降低生产率。

开发较少出错

但是有一件事,就是时间比时间更重要:质量。构建具有很多交互可能性的UI的复杂性是巨大的。处理所有这些不同的状态(即已登录/未登录)非常困难,可以与处理多线程代码进行比较。

使用SwiftUI,这种复杂性大大降低了。UIKit是命令性编程,而SwiftUI是声明性编程。那有什么区别呢?顾名思义,通过使用命令式方法,您可以告诉框架应该发生什么以及如何发生。另一方面,通过使用声明性方法,您只需描述所需的结果。

一个示例:想象一个带有登录表单的屏幕。用户成功登录后,可以根据“已登录”状态在网络回调中更新UI。例如,您更改按钮的文本(“登录”->“注销”),显示用户名并显示其他菜单选项。当用户注销后,您有责任做出反应并更改UI状态。另一方面,如果使用声明性方法,则只需描述整个UI(取决于登录状态)即可。如果具有登录状态的变量发生更改,则UI将自动更新,而无需任何手动操作。

那只是一种状态。屏幕上可能有许多其他状态,并且取决于用户操作的顺序,可能会有无法预料的结果。当然,也有一些好的方法可以用命令方法来解决这个问题。但是,SwiftUI使其自动且轻松。

Swift UI令人兴奋

对于我作为iOS的长期开发人员来说,使用全新的技术来开发应用程序非常令人兴奋。这不像使用其他框架。这是一种不同的编程方法。如上一段所述,从命令式编程切换到声明式编程非常重要。 

对于我们开发人员来说,技术不仅仅是创建应用程序的工具。相反,技术本身至关重要。学习新技术就像拆开闪亮的新iPhone的盒子一样。 

无论如何,SwiftUI是未来

我认为,前面的原因足以证明切换到SwiftUI的合理性。但是,即使您尚未确信使用SwiftUI进行开发的速度更快且更不容易出错,每个iOS开发人员仍然有必要学习SwiftUI。

苹果大力推动SwiftUI,开发人员社区也对SwiftUI印象深刻。因此,SwiftUI的运行方式与Swift相同:是的,Objective-C仍然是一种出色的编程语言,并且仍然存在,但是Swift是iOS开发的语言。SwiftUI也会发生同样的情况。 

这并不意味着您不再需要UIKit!使用UIKit的App Store中有数百万个应用程序,将现有代码迁移到SwiftUI没有任何意义。有时甚至不可能,因为部署目标低于iOS 13。

此外,还有UIKit功能(如集合视图)尚不能用于SwiftUI。

因此,如果您想成为一名认真的iOS开发人员,则必须同时是UIKit和SwiftUI专家。

喜欢 (0)

您必须 登录 才能发表评论!