swift - 将 Swift 用于 Mac 应用程序的优缺点是什么?

标签 swift macos mac-app-store

<分区>

我正在开始开发一个新的应用程序,没有现有的代码库可以重用。我对 Objective-C 非常满意,但我想用 Swift 构建应用程序,因为那是 future 。但在此之前,我有几个问题:

Mac App Store 是否接受用 Swift 编写的应用程序?

Swift 3 不是二进制兼容的,那么这是否意味着下一个版本的 macOS 可能会破坏我的应用程序?我最终可能会遇到这样一种情况,即我必须为不同版本的 macOS 维护两个二进制文件吗?

是否所有适用于 Objective-C 的 Xcode 调试工具也适用于 Swift?

是否还有任何其他因素与此决定相关?

最佳答案

我没有看到任何关于 Swift 应用程序的限制。它们在 Mac App Store 中被接受,无论您使用什么版本的 Swift,它们都将与最新和 future 的 macOS 版本兼容。调试工具也适用于 Swift。

话虽如此,但各有利弊:

优点:

  • 现代语言,优于 Objective-C
  • Apple 的全面 promise
  • 可以很容易地与 Objective-C 混合(例如与第 3 方库)

缺点:

  • 更大的应用,因为所有应用都需要与 Swift 运行时库捆绑在一起。
  • 目前还无法在 Swift 中创建二进制库。它们必须以源代码形式分发。
  • XCode 中的重构仅适用于 Objective-C。
  • 语言仍在不断发展。尽管 XCode 在语言发生变化时有助于升级,但仍然涉及手动工作和重新测试。

关于swift - 将 Swift 用于 Mac 应用程序的优缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38949926/

相关文章:

macos - 如何更改 mac 应用商店 info.plist?

macos - 带有命令行助手的沙盒 OSX 应用程序提供 'unable to get root path'

swift - 如何验证单元格在 UI 测试中是否可见

ios - 如何保持 UIView 始终显示在多个 View 上

python - 在 mac 上安装 libicu-dev

c++ - CUDA cuFFT 架构 x86_64 的 undefined symbol

code-signing - 奇怪的代码签名错误

swift - 使用 Swift 以编程方式设置 UINavigationController 的 UINavigationBar

适用于所有屏幕尺寸的 iOS 全屏背景图片

textchange 上的 Swift macOS 通知