作者:Thomas Hanning,原文鏈接,原文日期:2015-11-23
譯者:王亞珂;校對:千葉知風;定稿:千葉知風
你應該把 Objective-C
的代碼轉為 Swift
嗎?
未來是 swift
的,但是這就意味著你需要把 Objective-C
的代碼都轉為 Swift
嗎?
選擇一:不轉代碼堅持使用 Objective-C
乍一看這似乎是最簡單的方法了。既然你已經(jīng)有了一個 Objective-C
編寫的項目,繼續(xù)用OC寫下去肯定不是問題。不過。這會產(chǎn)生一些問題:
未來可能不會有很多優(yōu)秀的 Objective-C
開發(fā)者,因為會有許多 iOS
開發(fā)者將注意力放在了 Swift
上面。如果你的項目依賴于其他的開發(fā)者,未來你想要繼續(xù)維持純粹的 Objective-C
的項目恐怕不是一件容易的事兒。
但是即使你自己可以維護一個項目,這種方法也有害處。如果你沒有 Swift
方面的實踐,你可能會錯失許多蘋果通過 iOS SDK
引入的最新的開發(fā)技術。如果你想跟得上時代的步伐,你不得不學習 Swift
。
選擇二:將 Objective-C
的代碼轉為 Swift
這是最激進的一種方法。但是想要將一個完整的項目從 Objective-C
轉為 Swift
意味著要寫一個新的項目了。雖然 Objective-C
與 Swift
有很好的互操作性,但是他們的編程規(guī)范是完全不同的。所以如果你想要將 Objective-C
轉為 Swift
,使用錯誤的編程范式是很危險的。
你還需要投入大量的時間和金錢。所以如果你不打算重寫你的項目,這個方法就有點太夸張了。
選擇三:將新的代碼用 Swift
來寫
這是一種不錯的折中辦法。由于 Objective-C
與 Swift
之間的互用性很好,你可以用 Swift
來創(chuàng)建你新的類并讓它們與你已有的 Objective-C
的代碼交互。
使用這種方法你可以將你的項目一步步轉為 Swift
而不需要投入過多的時間和金錢。更多的是這對于學習的過程也是很好的。與其重寫一個完整的項目,不如將注意力集中在應用的某些部分。
并且這個方法的風險也小得多。如果采取這種方法你可能會發(fā)現(xiàn)自己一點兒都不喜歡 Swift
(盡管不太可能會發(fā)生這種情況),你完全可以再回到 Objective-C
并且不會損失過多的時間和金錢。
結論
雖然有些情況下值得你將 Objective-C
的代碼轉為 Swift
,但最好的折中的辦法就是將新代碼用 Swift
來寫并與你舊的 Objective-C
的代碼進行交互。
參考:Should You Use Objective-C or Swift?
本文由 SwiftGG 翻譯組翻譯,已經(jīng)獲得作者翻譯授權,最新文章請訪問 http://swift.gg。