Swift 是蘋果在 2014 年的 WWDC(全球開發者大會)上推出的新的 iOS 開發語言。
Swift 是一種現代語言,相比於 Objective C 來說有許多新語言的特性,也更容易上手。
之所以還有很多大廠不使用 Swift 作為開發,主要還是因為許多歷史原因。
首先,Objective C (以下簡稱 OC)相容著很多舊的系統,多少年來他一直都沒有什麼大的變化。而 Swift 在誕生初期經歷過很多的版本迭代,向下相容性也並不好。可以這麼說,Swift 3.0 之前的版本基本上每次升級就意味著重寫一次程式碼。 Swift 之父在 Swift 推出 2.0 之後跳槽去了谷歌,對語言本身的穩定性也影響至深。
其次許多優秀的第三方庫都是用 OC 實現的,比如著名的網路庫 AFNetworking,SDWebImage 等。Swift 雖然這幾年發展迅猛,也推出了對應的第三方庫(比如 Alamofire,Kingfisher 等),但是開發人員需要一定的學習成本,企業在這些轉化的過程中也需要付出一定的成本。可以這麼說,如果不是新專案,大部分的企業還是選擇用 OC 來作為主流開發語言。
大廠有很多線上正在使用的專案(歷史包袱),仍然在使用 Objective C,完全使用 Swift 重構需要投入大量的人力物力,雖然 Swift 很優秀,但是重新上線意味著許多隱患。不到萬不得已是不會冒這個風險的。
那麼話說回來, Swift 真的有那麼優秀嗎?
筆者作為一個 iOS 五年多開發經驗的人員,去年開始學習並使用 Swift,從體驗感來說只能用兩個字來形容:真香。
新的特性讓開發人員可以更好的關注專案的設計和程式碼的書寫,不用再被 OC 冗長的命名和陳舊的呼叫方式而困擾。
除此之外還有很多對比,不一而足。
如果沒有歷史包袱,真的是十分推薦大家學習 Swift
Swift 是蘋果在 2014 年的 WWDC(全球開發者大會)上推出的新的 iOS 開發語言。
Swift 是一種現代語言,相比於 Objective C 來說有許多新語言的特性,也更容易上手。
之所以還有很多大廠不使用 Swift 作為開發,主要還是因為許多歷史原因。
首先,Objective C (以下簡稱 OC)相容著很多舊的系統,多少年來他一直都沒有什麼大的變化。而 Swift 在誕生初期經歷過很多的版本迭代,向下相容性也並不好。可以這麼說,Swift 3.0 之前的版本基本上每次升級就意味著重寫一次程式碼。 Swift 之父在 Swift 推出 2.0 之後跳槽去了谷歌,對語言本身的穩定性也影響至深。
其次許多優秀的第三方庫都是用 OC 實現的,比如著名的網路庫 AFNetworking,SDWebImage 等。Swift 雖然這幾年發展迅猛,也推出了對應的第三方庫(比如 Alamofire,Kingfisher 等),但是開發人員需要一定的學習成本,企業在這些轉化的過程中也需要付出一定的成本。可以這麼說,如果不是新專案,大部分的企業還是選擇用 OC 來作為主流開發語言。
大廠有很多線上正在使用的專案(歷史包袱),仍然在使用 Objective C,完全使用 Swift 重構需要投入大量的人力物力,雖然 Swift 很優秀,但是重新上線意味著許多隱患。不到萬不得已是不會冒這個風險的。
那麼話說回來, Swift 真的有那麼優秀嗎?
筆者作為一個 iOS 五年多開發經驗的人員,去年開始學習並使用 Swift,從體驗感來說只能用兩個字來形容:真香。
新的特性讓開發人員可以更好的關注專案的設計和程式碼的書寫,不用再被 OC 冗長的命名和陳舊的呼叫方式而困擾。
OC 沒有名稱空間,就導致很多類名需要加字首,非常二。OC 沒有可選型別,需要加大量的 if else 判空,稍有不慎就藏 bugSwift 的列舉型別非常的強大,可以幫助開發者更好的表達業務邏輯Swift 的 extension 比起 OC 的 category 方便太多,包括協議和列舉在內的多種方式都可以使用擴充套件來實現。Swift 的設計本身更適合函數語言程式設計,也更適合面向介面程式設計,更容易裝逼除此之外還有很多對比,不一而足。
如果沒有歷史包袱,真的是十分推薦大家學習 Swift