将 Swift 用于 Mac 应用程序有哪些优点和缺点?
What are the pros and cons of using Swift for a Mac app?
我正在开始开发一个新的应用程序,没有现有的代码库可以重用。我对 Objective-C 非常满意,但我想在 Swift 中构建应用程序,因为那是未来。但在此之前,我有几个问题:
Mac App Store 是否接受使用 Swift 编写的应用程序?
Swift 3 不是二进制兼容的,这是否意味着下一版本的 macOS 可能会破坏我的应用程序?我最终可能会遇到这样一种情况,即我必须为不同版本的 macOS 维护两个二进制文件吗?
是否所有 Xcode 调试工具都可用于 Objective-C 也可用于 Swift?
还有其他与此决定相关的因素吗?
我没有看到关于 Swift 应用程序的任何限制。它们在 Mac App Store 中被接受,无论您使用什么版本的 Swift,它们都将与最新和未来的 macOS 版本兼容。调试工具也适用于 Swift。
话虽如此,有利有弊:
优点:
- 现代语言,优于Objective-C
- Apple 的全面承诺
- 可以很容易地与 Objective-C 混合(例如与第 3 方库)
缺点:
- 更大的应用程序,因为所有应用程序都需要与 Swift 运行时库捆绑在一起。
- 尚无法在 Swift 中创建二进制库。它们必须在源代码中分发。
- XCode 中的重构仅适用于 Objective-C。
- 语言仍在不断发展。尽管 XCode 有助于在语言发生变化时进行升级,但仍然需要手动工作和重新测试。
我正在开始开发一个新的应用程序,没有现有的代码库可以重用。我对 Objective-C 非常满意,但我想在 Swift 中构建应用程序,因为那是未来。但在此之前,我有几个问题:
Mac App Store 是否接受使用 Swift 编写的应用程序?
Swift 3 不是二进制兼容的,这是否意味着下一版本的 macOS 可能会破坏我的应用程序?我最终可能会遇到这样一种情况,即我必须为不同版本的 macOS 维护两个二进制文件吗?
是否所有 Xcode 调试工具都可用于 Objective-C 也可用于 Swift?
还有其他与此决定相关的因素吗?
我没有看到关于 Swift 应用程序的任何限制。它们在 Mac App Store 中被接受,无论您使用什么版本的 Swift,它们都将与最新和未来的 macOS 版本兼容。调试工具也适用于 Swift。
话虽如此,有利有弊:
优点:
- 现代语言,优于Objective-C
- Apple 的全面承诺
- 可以很容易地与 Objective-C 混合(例如与第 3 方库)
缺点:
- 更大的应用程序,因为所有应用程序都需要与 Swift 运行时库捆绑在一起。
- 尚无法在 Swift 中创建二进制库。它们必须在源代码中分发。
- XCode 中的重构仅适用于 Objective-C。
- 语言仍在不断发展。尽管 XCode 有助于在语言发生变化时进行升级,但仍然需要手动工作和重新测试。