回答这个问题之前,让我们先来简要地回顾一下 Swift 的发展状况。
时间退回到 2014 年 6 月。那时 Swift 刚刚发布,开发者们普遍认为 Swift 还达不到生产环境的标准,再加上一些以偏概全的 benchmark,甚至有人认为 Swift 不过是个玩具。大家有理由相信经历了几十年考验的 Objective-C 将继续承担生产工具的重任。
2015 年 Apple 对 Swift 进行了一些针对性的改进,包括性能提升和语言方面的增强(引入了 Error Handling、Protocol Extension 等)。2015 年 8 月 Apple 发布了 Swift 2,并于同年将其开源。2016 年 Swift 延续了如火如荼的发展态势,Apple 也计划在今年秋季发布 Swift 3 的稳定版。就在写这篇文章的时候,Swift 3 语言的演变已经达到了最后阶段,一切都在良好有序地进行着。
下面我们来看看从 Objective-C 切换到 Swift 的利弊。
不过 Swift 和 Objective-C 可以相互操作,也就是说我们能毫不费力地在 Swift 中使用 Objective-C 的第三方库。如果没有发布 library 或 framework 的需要,语法和 ABI 的不稳定并不应该成为切换到 Swift 的阻碍,因此在我看来就没有太强烈的理由再对 Swift 说 NO 了。
最近我们也看到有越来越多的公司开始拥抱 Swift 了,其中不乏像 Facebook 这样的大公司。Facebook 前不久发布的 Swift SDK 虽然还只是 Objective-C SDK 的 wrapper,但这也标志着 Swift 在日趋成熟,是时候可以委以重任了。LeanCloud 也响应用户呼声,在一周前发布了 LeanCloud Swift SDK。
如果一年前问我能不能切换到 Swift,我一定会给出保守的回答。但现在我认为该是切换 Swift 的绝佳时机了。虽然 Swift 距离稳定还有一段路要走,但至少可以说「Swift is not dead」,它会青春盎然地向前进,而不是偃旗息鼓失掉了方向。
头图:toptal.com