想要入坑 iOS 开发,直接学 Swift 还是学 OC 呢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
pseudo
V2EX    iDev

想要入坑 iOS 开发,直接学 Swift 还是学 OC 呢

  •  
  •   pseudo 2015-09-22 14:19:40 +08:00 7584 次点击
    这是一个创建于 3676 天前的主题,其中的信息可能已经有所发展或是发生改变。

    个人背景

    • php/html/css/js 使用比较频繁(有项目开发维护)
    • c/c++使用较为熟练
    • java 开发过一个小型 SSH 项目,并不熟练
    • c#开发过 WinForm 程序若干

    现在想入坑 iOS ,在语言选择上不知道前辈们有何建议呢

    39 条回复    2015-09-24 02:49:48 +08:00
    zhicheng
        1
    zhicheng  
       2015-09-22 14:21:02 +08:00
    都学
    GKLuke
        2
    GKLuke  
       2015-09-22 14:23:13 +08:00   1
    先下载一个安全的 xcode ,大实话
    864000951
        3
    864000951  
       2015-09-22 14:24:31 +08:00
    楼主也算是个杂家,既然如此都学了吧
    ifconfig
        4
    ifconfig  
       2015-09-22 14:24:41 +08:00
    纠结
    pseudo
        5
    pseudo  
    OP
       2015-09-22 14:33:32 +08:00
    @GKLuke 所幸网络还不错, Xcode 一直都是 App Store 更新

    @zhicheng
    @864000951 感觉目前精力有限,都学可能时间上不够。非要选一个先学的话感觉还是先从相对来说更成熟的 OC 开始学好一点?
    machinemxy
        6
    machinemxy  
       2015-09-22 14:37:52 +08:00
    类似的问题三天两头能看见。
    qinix
        7
    qinix  
       2015-09-22 14:37:53 +08:00 via iPhone
    都一样,随便找个学起来,反正迟早都是要学的
    pseudo
        8
    pseudo  
    OP
       2015-09-22 14:41:02 +08:00
    @machinemxy 不好意思,忘记发帖之前搜索了
    @qinix 好的,谢谢啦
    a412739861
        9
    a412739861  
       2015-09-22 14:54:32 +08:00
    @pseudo 自己做着玩?那就直接 swift 。找工作可能 oc 多一点,不过再过段时间也是要 swift 了吧,现在看好多的教程都是 swift 了。
    totalfee
        10
    totalfee  
       2015-09-22 14:54:46 +08:00
    自己用的话学 Swift 就可以了,能创造价值就行。
    做为职业技能的话,两者都学,这样以后找工作时,不管是全新开发 app 还是维护老项目都不成问题。
    BruceLi
        11
    BruceLi  
       2015-09-22 14:57:07 +08:00
    Swift 上手快,写起来舒服,不过可用的资源比较少,自己学习应该没关系吧,建议 Swift (好声音导师 style )。
    cielpy
        12
    cielpy  
       2015-09-22 15:28:33 +08:00
    Swift 入门, OC 至少要能看懂,因为就算用 Swift 搞开发,少不了要看一些 OC 的库、代码什么的。
    rvw
        13
    rvw  
       2015-09-22 15:30:54 +08:00
    先 oc 再 swift
    0roc
        14
    0roc  
       2015-09-22 15:42:31 +08:00
    无论学 objc 还是 swift 先搞个自己的 App 出来,搞出来之后你就知道该学什么了!
    iEason
        15
    iEason  
       2015-09-22 15:44:11 +08:00
    先 oc 再 swift
    wupher
        16
    wupher  
       2015-09-22 15:50:32 +08:00
    swift

    OC 的开源工具库大都在开始迁移,最新的库也很多以 swift 形式编写,语言的迁移实际上已经开始了。我相信等到下一个 iOS 版本,可能大多数 App 都会开始用 swift 形式来编写了。
    iamjjh
        17
    iamjjh  
       2015-09-22 16:06:43 +08:00
    都学
    maemolee
        18
    maemolee  
       2015-09-22 16:09:41 +08:00
    反正你不学哪样都不靠谱,还是都学了吧=。=
    ibcker
        19
    ibcker  
       2015-09-22 18:27:08 +08:00
    这时候入坑的感觉好纠结学啥先都不太合适的节奏
    icylord
        20
    icylord  
       2015-09-22 19:05:40 +08:00
    先学 C 哈
    tuoxie007
        21
    tuoxie007  
       2015-09-22 19:33:17 +08:00
    感觉现在新入坑的话,学 OC 的意义不大,我建议直接学 Swift ,有必要的时候再学也不迟。
    如果你想俩都学,建议先学 Swift ,反正学了 OC 你也很少会用,你看你以往学的都是 C 风格的, OC 你肯定忘的嗖嗖的,用的时候再学就是了
    yjxjn
        22
    yjxjn  
       2015-09-22 21:24:24 +08:00
    @wupher 我觉得都得学,比如你紧急需要一个库,但是人家用的就是 OC 写的,那你咋办呢?所以即使我觉得不用 OC 做开发, SW 为主要开发语言起码 OC 自己做出过 APP 来,这样的话,易于理解,我现在在学 SW ,但是发现好多项目还是以 OC 来的,所以啊,我现在掉过头来学 OC 。
    MarineLv
        23
    MarineLv  
       2015-09-22 21:50:47 +08:00   1
    先上结论:建议先学 OC 再 swift 。

    一:个人认为 OC 比 swift 简单。
    OC 的设计思路很单纯,就是面向对象,单继承多协议那一套。要学的语法不多,只是怪点而已。
    swift 是多范式的,面向对象,函数式,泛型都有,其实比 OC 要复杂。

    二: swift 很多特性是为了兼容 OC 的,先学会 OC 容易理解其设计意图。

    三:工程中仍然需要接触 OC 。
    首先 cocoa touch 就是 OC 的。理论上是和 swift 无缝对接,有些地方还得和 OC 打交道,比如 selector 还是得用 OC 方法的格式来写。
    另外,实际工作中可能需要维护老代码,使用一些 OC 的库,这个就不必多说了。

    现在 swift 是大趋势,代码写起来确实比 OC 表达能力强很多。
    miao1007
        24
    miao1007  
       2015-09-22 22:12:58 +08:00
    React Native.js
    SolidZORO
        25
    SolidZORO  
       2015-09-22 23:15:04 +08:00 via iPhone
    入坑 OC 天,在不下去了,跳 swift 得好爽。

    之前 js , php 的,直。

    O


    OC
    OC
    OC
    felixzhu
        26
    felixzhu  
       2015-09-22 23:56:05 +08:00
    学 swift 吧,等你发现还是要学 oc 的时候再回头去学。。。。
    zonghua
        27
    zonghua  
       2015-09-23 00:18:01 +08:00 via iPhone
    学生理学或者医学吧,或许楼上说的技术云云以后直接灌输入脑
    strom001
        28
    strom001  
       2015-09-23 07:46:39 +08:00
    我不知道大家怎么会觉得 OC 怪。别的语言, html / css / js 不算, OC 算是我会的唯一一个语言,非常棒。我很喜欢 OC ,感觉别的语言都很怪(关键我不会哈哈)。
    strom001
        29
    strom001  
       2015-09-23 07:49:03 +08:00
    看看 swift ,毫无食欲。
    vincentxue
        30
    vincentxue  
       2015-09-23 09:18:08 +08:00
    我搞了好几年 iOS ,来说点实际的,你要是想找 iOS 的工作,目前看来, OC 是必学的。自己玩,就 Swift 就好。

    Swift 是大势,但不像 Python 2 和 3 的那种趋势。

    Swift 语言特性要比 OC 多很多,我是觉得 Swift 比 OC 要难学,但语法可能比 OC 好学。

    目前阻碍我使用 Swift 的原因就是 CocoaPods 配合 Swift 最低要 iOS 8 。
    m8syYID5eaas8hF7
        31
    m8syYID5eaas8hF7  
       2015-09-23 09:18:13 +08:00
    OC
    swift 目前用的还比较少,用的时候再学也不迟,因为比较简单
    而且据说 OC 和 Swift 混编的话会有不少没解决的 bug
    earnrepuNey
        32
    earnrepuNey  
       2015-09-23 09:38:36 +08:00
    用 Swift 开发新项目,能看懂和维护 Objective-C 的项目。
    pseudo
        33
    pseudo  
    OP
       2015-09-23 10:10:24 +08:00
    多谢各位回复,十分受益!
    codeface
        34
    codeface  
       2015-09-23 11:20:44 +08:00
    至少你得看得懂 OC 语法。
    如果你今后想去大公司工作的话,老项目基本不可能用 Swift 的。
    Swift 的语法简单,在掌握了 OC 的 cocoa 框架的基础上,转 Swift 是相当快的。
    dorentus
        35
    dorentus  
       2015-09-23 13:31:05 +08:00 via iPhone
    你有 C 和 C++ 基础,那么建议直接学 Swift

    Objective-C 的语法你应该随便看看就能理解了
    Tedko
        36
    Tedko  
       2015-09-23 13:41:34 +08:00
    楼上那些说几年 ios 的基本都在扯淡。
    Apple 自己都在转 Swift 了。
    大型开源项目的作者都不维护 oc 项目,全部转 swift 。就连复杂的包也有大量 swift 出现了。

    试问国内多少人做出来了世界瞩目的包?还是 oc 写得,不准备转 swift ?
    就连 airbnb 之类都已经重写 swift 基本全部完成了。
    expkzb
        37
    expkzb  
       2015-09-23 15:53:04 +08:00
    @Tedko 苹果还发布了 apple watch 呢,现在看来不就是个笑话么。
    不能说他推什么咱就信什么,你说是吧
    Tedko
        38
    Tedko  
       2015-09-24 02:48:51 +08:00
    apple watch 可不是笑话啊。。当然这玩意很不成熟就是了。。
    Tedko
        39
    Tedko  
       2015-09-24 02:49:48 +08:00
    不是推什么相信什么。你要跟 apple 的人多讨论。才知道内部观点。比如 oc 转 swift 的自动化 apple 说不会做
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3742 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 00:06 PVG 08:06 LAX 17:06 JFK 20:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86