Re: [討論] 目前ios專案是用OBJ-C

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

Links booklink

Contact Us: admin [ a t ] ucptt.com