為什么很多大公司繼續使用 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?我的答案是:再等等。
