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 · 7170 次点击
    这是一个创建于 3349 天前的主题,其中的信息可能已经有所发展或是发生改变。

    个人背景

    • 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   ·   实用小工具   ·   2303 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 15:57 · PVG 23:57 · LAX 07:57 · JFK 10:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.