为什么很多大公司继续使用 Objective-C,不用 Swift
我觉得这个问题最核心的原因就一点:历史包袱。
猿题库算是比较新兴的应用了,代码量级也是 10 万的级别。很多稍微有些年头的应用,代码行数超过百万行其实是挺常见的,上次和去哪儿网的一个朋友聊天,他说去哪儿的 iOS 端有超过百万行代码。这么大体量的代码,公司可能把业务都停下来,让你专门用 Swift 来重写代码么?绝对不可能的。
所以,可以肯定的是:国内 AppStore 上流行的,开发时间超过三年的应用,都有着极大的历史包袱。从公司商业角度,是不能接受整个 iOS 开发团队没有产品功能贡献,只做代码重构的。
上周和来自 uber 的道长聊了聊,即便是在美国 uber,他们也是抽非常小的一部分人力来做 Swift 重写的部分。而 Facebook,完全还是用 Objective-C 。所以你看,这一点上硅谷也一样。
当然,新的应用没有历史包袱,可以用 Swift 来写,比如国内的 Enjoy 就是这样的例子。
除开历史包袱之外,其实还有一些别的原因。我个人认为的第二个最大的原因就是:Swift 及其相关生产力环境并不完全成熟。包括语言,IDE,第三方库,包管理(Swift Package Manager)都还没有非常成熟。这就造成了更多人的观望。
如果还有第三个原因的话,就是我们公司尝试 OC 和 Swift 混编的经历并不轻松。所以,还是打算再等等。
如果你问我,Swift 是不是趋势?答案肯定是 YES。
如果你问我,什么时候用 Swift?我的答案是:再等等。