※ 引述《darktt (小朱)》之銘言:
: ※ 引述《issuemylove (skill)》之銘言:
: : 看到版上很多人討論 swift
: : 但是目前我正在進行的專案是用 objective-c (obj-c)
: : 已知swift 和 obj-c 可以互相使用
: : 主要是 obj-c 部分使用 swift 不知道會不會有問題
: : 使用上麻煩或者相容性上的bug
: : 畢竟新版本我會怕怕的
: : 大家建議obj-c 加上swift互相使用嗎?
: : 或改成全部 swift? 但我一想我應該會吐血...
: : 但用 obj-c 刻完全部感覺好像要變成上時代的產物 囧
: : 謝謝大家的討論
: 首先混用這點,我是聽說可以,
: 不過 Swift 是一個易學卻難讀的程式,
: 但是 Objective-C 是難學卻易讀,
: 這兩者相反,混用後的整體程式可讀性會變得很淒慘。
其實重點我覺得還是 coding convention 與架構切割
Swift 很 expressive, 所以寫的人需要自制, 多人協作時要協調
不然很容易就會變成 Perl 或發瘋的 Ruby (如果你知道我在講什麼)
然後如果某個部分是 Objective-C, 那邊就用 Objective-C, 反之亦然
儘量把兩邊溝通的部分做成 interface 才是正解
這對一般性的開發也通用, 只是跨語言更需要注意
: 另外我不認為 Swift 馬上成為一個流行,
: 主要是 Objective-C 有著 C 的血統,
: 所以它的部分功能是由 C 提供的,
: 像是 GCD 與 math.h 等等,
: 這是目前 Swift 所沒有的。
Swift 當然有 GCD, 你以為 Apple 工程師都製杖?
它和很多 C 標準庫的東西都有被 expose 成 Swift API
只是你要 import Foundation 而已
不過 Swift 不能馬上取代 Objective-C 倒是沒錯
至少向後相容就是個問題, 尤其台灣公司超愛支援超舊的 OS 版本 -_-
另一個比較麻煩的是與第三方函式庫整合
C 就算了, 要整合 C++ 還要先寫 wrapper 把 class 包起來
這部分 Objective-C (應該說 Objective-C++) 還是好太多