V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
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 · Sep 22, 2015 · 7932 views
    This topic created in 3877 days ago, the information mentioned may be changed or developed.

    个人背景

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

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

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

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

    OC 的开源工具库大都在开始迁移,最新的库也很多以 swift 形式编写,语言的迁移实际上已经开始了。我相信等到下一个 iOS 版本,可能大多数 App 都会开始用 swift 形式来编写了。
    iamjjh
        17
    iamjjh  
       Sep 22, 2015
    都学
    maemolee
        18
    maemolee  
       Sep 22, 2015
    反正你不学哪样都不靠谱,还是都学了吧=。=
    ibcker
        19
    ibcker  
       Sep 22, 2015
    这时候入坑的感觉好纠结··学啥先都不太合适的节奏··
    icylord
        20
    icylord  
       Sep 22, 2015
    先学 C 哈
    tuoxie007
        21
    tuoxie007  
       Sep 22, 2015
    感觉现在新入坑的话,学 OC 的意义不大,我建议直接学 Swift ,有必要的时候再学也不迟。
    如果你想俩都学,建议先学 Swift ,反正学了 OC 你也很少会用,你看你以往学的都是 C 风格的, OC 你肯定忘的嗖嗖的,用的时候再学就是了
    yjxjn
        22
    yjxjn  
       Sep 22, 2015
    @wupher 我觉得都得学,比如你紧急需要一个库,但是人家用的就是 OC 写的,那你咋办呢?所以即使我觉得不用 OC 做开发, SW 为主要开发语言起码 OC 自己做出过 APP 来,这样的话,易于理解,我现在在学 SW ,但是发现好多项目还是以 OC 来的,所以啊,我现在掉过头来学 OC 。
    MarineLv
        23
    MarineLv  
       Sep 22, 2015   ❤️ 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  
       Sep 22, 2015
    React Native.js
    SolidZORO
        25
    SolidZORO  
       Sep 22, 2015 via iPhone
    入坑 OC 幾天,實在寫不下去了,跳 swift 寫得好爽。

    之前寫 js , php 的,簡直沒門檻。

    O


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

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

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

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

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

    试问国内多少人做出来了世界瞩目的包?还是 oc 写得,不准备转 swift ?
    就连 airbnb 之类都已经重写 swift 基本全部完成了。
    expkzb
        37
    expkzb  
       Sep 23, 2015
    @Tedko 苹果还发布了 apple watch 呢,现在看来不就是个笑话么。
    不能说他推什么咱就信什么,你说是吧
    Tedko
        38
    Tedko  
       Sep 24, 2015
    apple watch 可不是笑话啊。。当然这玩意很不成熟就是了。。
    Tedko
        39
    Tedko  
       Sep 24, 2015
    不是推什么相信什么。你要跟 apple 的人多讨论。才知道内部观点。比如 oc 转 swift 的自动化 apple 说不会做
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2528 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 98ms · UTC 07:01 · PVG 15:01 · LAX 00:01 · JFK 03:01
    ♥ Do have faith in what you're doing.