SwiftUI vs Interface Builder和故事板[关闭]

Posted

技术标签:

【中文标题】SwiftUI vs Interface Builder和故事板[关闭]【英文标题】:SwiftUI vs Interface Builder and storyboards [closed] 【发布时间】:2020-01-16 09:32:08 【问题描述】:

我是 ios 开发新手,我使用故事板和界面构建器来设计我的应用程序 UI。但现在我看到很多人都在使用 SwiftUI。我搜索了 SwiftUI 并发现了一些关于它的观点,因为 SwiftUI 与新的 Xcode 设计工具无缝协作,以使我们的代码和设计完美同步。但我无法将它与 Interface builder & Storyboard 进行比较。 SwiftUI 相对于 Interface Builder 和 Storyboard 的优缺点是什么? SwiftUI 会完全移除 Interface Builder 和 storyboards 吗?

【问题讨论】:

SwiftUI 的一大缺点是你的应用只能在 iOS 13 或更高版本上运行。还有更多关于 UIKit 的信息、示例和 3rd 方控件 twitter.com/MengTo/status/1217731240524046341 我会把这个 Twitter 帖子留给你 :) 在我看来,我从 Storyboard 开始,最后以简单的编码是创建图形组件的最佳方式 :D 但是 SwiftUI 是一个很棒的处理工具,尝试学习它,您将创造出伟大的东西:D 【参考方案1】:

在故事板和xib 等界面构建器中,您可以看到自己在做什么。您获取一个组件,然后将其添加到情节提要中,这就是您设计 UI 的方式,但是如果您以编程方式执行相同的操作,那么它会变得更加困难,因为您什么都看不到,而且您必须有经验才能这样做。每次你必须构建一个应用程序才能看到UI 中的更改,但SwiftUI 解决了这个问题,因为它会在你编写代码时不断更新。为了解决这个问题,Apple 提出了SwiftUI,它可以帮助您查看正在发生的事情。任何人都可以从Storyboard 移动到SwiftUI

就个人而言,我从Storyboard 开始,然后转到XIB,然后我转到Flutter,这完全不同,SwiftUI 的灵感来自Flutter。您必须记住,SwiftUI 支持从 iOS 13 开始。你必须从storyboard开始,然后当你获得经验后,你可以移动到SwiftUI

更新:另外,还有另一种开发 UI 的方法,那就是通过编程 UI 编码。我已经以编程方式开发 UI 已经很长时间了,就个人而言,它有助于更​​多地理解 UI 的概念,并且您可以开始添加许多扩展,这将使您的项目在后期易于维护。当您在一个小组中开发时,界面构建器会在很多时候引发合并冲突,这很快就会变得很痛苦。 (2020 年 10 月 30 日)

【讨论】:

以上是关于SwiftUI vs Interface Builder和故事板[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Thread class vs Runnnable interface(转)

Interface Vs. Abstract Class

TypeScript Interface vs Type知多少

qt5 + vs2015自定义控件错误:undefend interface

WiFi GM MDI vs. Genius GM MDI 2 Multiple Interface

Java中抽象类和接口的区别(abstract class VS interface)