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