2016-08-15 39 views
0

我开始开发一个新的应用程序,没有现有的代码库可以重复使用。我对Objective-C很满意,但是想要在Swift中构建应用程序,因为这是未来。但在此之前,我有几个问题:在Mac应用程序中使用Swift有什么优点和缺点?

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

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

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

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

+0

这是没有意义的声称这个问题是基于意见的。我在问题中提出的四个问题都有客观的答案。 –

+0

您的问题被搁置的原因是因为整体问题。你应该单独询问/研究这些问题。询问利弊主要是基于意见的。 – penatheboss

+0

如果你考虑基于观点的利弊,那很好,但他们不是。你认为重要的因素是基于意见的因素,而不是因素本身。例如,接受的答案表明,Xcode中的重构仅适用于Objective C.这是事实,而非意见。 –

回答

1

我没有看到任何关于Swift应用程序的限制。它们被Mac App Store所接受,无论您使用哪种版本的Swift,它们都可以兼容最新和未来的macOS版本。调试工具也适用于Swift。

话虽如此,有优点和缺点:

优点:

  • 现代语言,优于Objective-C的
  • 由苹果公司完全致力于
  • 可以轻松地与目标混合-C(例如与第三方库)

缺点:

  • 更大的应用程序,因为所有的应用程序都需要与Swift Runtime库捆绑在一起。
  • 目前尚不可能在Swift中创建二进制库。他们必须在源代码中分发。
  • XCode中的重构仅适用于Objective-C。
  • 该语言仍在不断发展。尽管如果语言改变XCode有助于升级,但仍然需要手动工作和重新测试。
相关问题