Skip to content

ytyubox/ithelp_from_swift_learn_objc

Repository files navigation

2020 itHelp 鐵人賽: 30 天從 Swift 學會 Objective-C

預計在 2020 年 9 月 itHelp 鐵人賽寫的文章。

Swift.org

為什麼要選這個主題

2019 年以前,由於 Swift 尚未達成 ABI 穩定,所以有許多公司在專案上的語言選擇上,會因為 Swift System 的 API 不穩定,為了避免產品在不同 iOS 版本之間有巨大的適應落差,因此會相對選擇歷史相對悠久的 Objective-C。今年( 2020 年) 是 Swift 迎來 ABI 穩定的第二年,市場上漸漸認同了 Swift 語言的價值,願意開始以 Swift 作為主要開發語言。根據 Stack Overflow 在 2020 年的 Developer Survey 中: Swift / Objective-C 的喜愛比率分別有 59.5 / 23.4%,恐懼比率則分別是40.5 / 76.6% 真實反應了全世界的開發者對於 這兩個語言的偏好。但是由於 Objective-C 學習資源的日漸短少,相關人才也越來越稀缺,Objective-C 的平均薪水足足高於 Swift 10 個百分點(世界範圍)。目前有不少資深的開發者強調想把 Objective-C 的舊有程式改寫成 Swift,這樣的想法成為了這次的鐵人賽選擇這個主題的原因:

透過在 Swift 開發經驗,了解 Objective-C 的語言文法、中心思想及適應 Swift 的方法。

我希望能在 30 天內使讀者了解 Objective-C 的閱讀、理解、改寫,並能夠進一步的具有提供 Swift friendly 的擴充能力。

// - TODO:目標主題清單

  • Compiler in terminal
  • Basic type
  • Type conversion
  • Optional chaining
  • Collection
  • Error handling
  • Value type: enum, structure
  • Object property, method
  • Object static property, method
  • Object constructor, destructor
  • Closure
  • Auto Referace Counting
  • Extension existed class
  • Protocol
  • Generic
  • Unit test
  • Modularization, Access controll
  • Swift friendly

Issues && Pull Request are appreciated

如果你有想知道的部分,或是文章有誤、需要補充的,歡迎各種形式的回饋。

About me

歡迎到我的 twitter 拜訪! @YuTsungYu

我的贊助頁面 ♥️https://www.buymeacoffee.com/ytyubox

About

這是我在 2020 年的 itHelp 鐵人賽文章專案,紀錄很多事情。

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project