Hi,SwiftGG 翻译组启用了新的域名:swiftgg.team今后翻译组的各项活动将会在新域名下开展,不要错过哦!

作者:Thomas Hanning,原文链接,原文日期:2015-11-23
译者:Yake;校对:千叶知风;定稿:千叶知风

你应该把 Objective-C 的代码转为 Swift 吗?

未来是 swift 的,但是这就意味着你需要把 Objective-C 的代码都转为 Swift 吗?

选择一:不转代码坚持使用 Objective-C

乍一看这似乎是最简单的方法了。既然你已经有了一个 Objective-C 编写的项目,继续用OC写下去肯定不是问题。不过。这会产生一些问题:

未来可能不会有很多优秀的 Objective-C 开发者,因为会有许多 iOS 开发者将注意力放在了 Swift 上面。如果你的项目依赖于其他的开发者,未来你想要继续维持纯粹的 Objective-C 的项目恐怕不是一件容易的事儿。

但是即使你自己可以维护一个项目,这种方法也有害处。如果你没有 Swift 方面的实践,你可能会错失许多苹果通过 iOS SDK 引入的最新的开发技术。如果你想跟得上时代的步伐,你不得不学习 Swift

选择二:将 Objective-C 的代码转为 Swift

这是最激进的一种方法。但是想要将一个完整的项目从 Objective-C 转为 Swift 意味着要写一个新的项目了。虽然 Objective-CSwift 有很好的互操作性,但是他们的编程规范是完全不同的。所以如果你想要将 Objective-C 转为 Swift ,使用错误的编程范式是很危险的。

你还需要投入大量的时间和金钱。所以如果你不打算重写你的项目,这个方法就有点太夸张了。

选择三:将新的代码用 Swift 来写

这是一种不错的折中办法。由于 Objective-CSwift 之间的互用性很好,你可以用 Swift 来创建你新的类并让它们与你已有的 Objective-C 的代码交互。

使用这种方法你可以将你的项目一步步转为 Swift 而不需要投入过多的时间和金钱。更多的是这对于学习的过程也是很好的。与其重写一个完整的项目,不如将注意力集中在应用的某些部分。

并且这个方法的风险也小得多。如果采取这种方法你可能会发现自己一点儿都不喜欢 Swift (尽管不太可能会发生这种情况),你完全可以再回到 Objective-C 并且不会损失过多的时间和金钱。

结论

虽然有些情况下值得你将 Objective-C 的代码转为 Swift ,但最好的折中的办法就是将新代码用 Swift 来写并与你旧的 Objective-C 的代码进行交互。

参考:Should You Use Objective-C or Swift?

本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg

文章目录
  1. 1. 你应该把 Objective-C 的代码转为 Swift 吗?
    1. 1.1. 选择一:不转代码坚持使用 Objective-C
    2. 1.2. 选择二:将 Objective-C 的代码转为 Swift
    3. 1.3. 选择三:将新的代码用 Swift 来写
    4. 1.4. 结论