4
請問 Swift 還會做出不向下相容的改版嗎? (/z/ios)

有點想要跳坑學 Swift 3,但是據聞 Swift 1 -> 2 -> 3 每次升版號舊程式就直接編譯不過或crash,不知道現在語言特性穩定下來了嗎? Apple 有做出比較可信的承諾了嗎?

IngramChen 積分 4 編輯於

swift 3 只有說之後會有 ABI 相容1

但 swift 4 仍然保留了可能會 break change 的說法。

不過我覺得可以入坑了,之後改的會越來越少吧。而且你寫 iOS 的話一定要會用 swift,因為新的 library 可能都只有 swift 版了,不能再等。

然後處理 break change 是工作的一部份,躲也躲不掉的。回報給你上級,說這是 iOS 開發成本的一部份。說實在的,Apple 把語言設計錯誤的責任轉嫁給用戶 (開發者),實在是不可取。

如果不是寫 iOS 就不要碰 Swift 了,浪費生命。

alexliang 積分 0

浪費生命是因為語言不好用嗎 還是可以用的環境範圍太小? 還是每個版本間 為了相容要一直work around??

IngramChen 積分 0

語言沒問題, 只是去寫 server 的話, 生態系沒起來, 還要擔 break change 的風險.

寫 server 很多選擇, 沒必要像 ios 一樣只能選一種

a2468726 積分 0

科科,React Native 這麼大一個 project 也是 Objective C/Objective C++ 啊,講得好像只有 Swift 能開發 iOS

IngramChen 積分 0

你可以繼續用 obj c 寫啦, 反正 apple 自家的程式全部是 obj c. 死不了的

但寫 app 要看 library 多不多, 新不新, 還有你找開發者的話, 死守 objc 你可能招不到寫 swift 的人...

chchwy 積分 0

感謝,其實我的目的是要學 Metal API ,算是個人業餘興趣。

只是現在 Metal 有兩套語言可選 Objc or Swift,所以才有順便學 Swift 的想法。目前看起來還是先用 Objc 好了