看板 MacDev 關於我們 聯絡資訊
※ 引述《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++) 還是好太多 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.94.57 ※ 文章網址: http://www.ptt.cc/bbs/MacDev/M.1402892879.A.21B.html ※ 編輯: uranusjr (140.112.94.57), 06/16/2014 12:34:52
abcdefghi:所以說,C才是王道,ObjC/Swift/Java來來去去,不變的只有C 06/16 13:44
Killercat:C不適合寫MVC Obj-C算是一個不錯的妥協 06/16 14:05
Killercat:要作UI view model的話 C算力有未逮了 06/16 14:06
manlike:做UI view model用C一樣是嚇嚇叫 GTK一樣用好好的~ 06/16 14:54
manlike:什麼MVC不過就是種概念 也不一定要是OO才語言能實現 06/16 14:55
uranusjr:如果 GTK 真那麼好你以為發明 Vala 的人是吃飽太閒嗎XD 06/16 15:01
jojoSpirit:語言不過是一開始,什麼語言都不重要..... 06/16 17:00
Killercat:鋸子很棒 可以鋸斷千年神木,不過拿來切豬肉就.... 06/16 17:22
Killercat:「不是行不行,而是適不適合」. GTK正好是我最不願意 06/16 17:23
Killercat:拿來寫UI的framework之一(另外一個是MFC) 06/16 17:23
Killercat:當然我不否認也許有人拿電鋸切豬肉切的又好又順手就是 06/16 17:24
Killercat:不過對我來講,恩,換個順手點的語言會好一點 06/16 17:25
abcdefghi:今天用Java開發PDF engine, 明天又改成用ObjC寫, 後天又 06/16 22:46
abcdefghi:改成用Swift寫, 還不如專心用C寫出最穩定的一版, 再依不 06/16 22:47
abcdefghi:同的語言包層wrapper就好, 高階的語言很適合現代化的軟 06/16 22:50
abcdefghi:體架構,但做最佳化和debug也不見得輕鬆,反而最後要reuse 06/16 22:52
abcdefghi:現有的module時,高階語言要互通就很麻煩. 06/16 22:53
Killercat:er...這...要怎麼用C寫出iOS? (呆滯) 06/16 23:21
Killercat:C寫出android我是會啦 但是iOS...有點超出我常識範圍了 06/16 23:22
Killercat:老實講obj-c大概99.95%的用途都用是開發iOS/cocoa吧 06/16 23:23
abcdefghi:如果我那一段會讓你誤解成, 不論在那一種平台全部都用C 06/16 23:43
abcdefghi:做開發, 那直接跳過我那一段推文吧. :) 06/16 23:44
Killercat:我想說的是,如果一個語言不是那麼好維護卻還是很多人用 06/17 00:00
Killercat:比較大的原因一定是不可取代性。天底下不是什麼事情都 06/17 00:01
Killercat:能用C解決的(當然,我也是喜歡C/C++能解決的 我連pytho 06/17 00:01
Killercat:n都不太喜歡用)。我理解,不過時代真的再往前走呢 06/17 00:01
Killercat:swift也是 objc也是 其實我討厭透弱型別語言XD 06/17 00:02
yuanruo:swift最大問題是沒有private member和function 06/17 00:02
yuanruo:不過作者在官網說之後會加進去.. 06/17 00:02
tom19830924:台灣的公司真的超愛支援舊版本的啊 超贊同 待的兩家公 06/17 10:30
tom19830924:司都會這樣 而且都要兼容到前兩版 之前6出來要4.3兼容 06/17 10:31
tom19830924:現在8出來 要6兼容 都已經跟主管說了那些統計數據 以 06/17 10:32
tom19830924:及那些完全不升級的 事實上也根本不會上app store 06/17 10:33
tom19830924:但就是不把話當一回事 06/17 10:33
issuemylove:放棄老舊版本 可以省很多事呢 CP值高很多 06/17 11:13
issuemylove:那些主管真的腦袋有點死阿 06/17 11:13
manlike:是省你的事又不是省他的事,他會鳥你才怪 XD 06/17 11:15
manlike:他想的只有噢幹,不能兼容以前的版本,被客訴怎麼辦? 06/17 11:16
manlike:上頭說東西做這麼爛怎麼辦? 當然是操死工程師才做省事~ 06/17 11:18
redok:有那種主管也是公司的悲哀阿ㄏㄏ 06/28 12:47