V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
charzluo
V2EX  ›  Apple

[求教] Swift3 还是 Objective-C

  •  1
     
  •   charzluo · 2017-07-12 12:12:26 +08:00 · 4071 次点击
    这是一个创建于 2473 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先说说背景,我是公司产品,最近公司在尝试新方向,所以可能需要了解一下 iOS 相关的开发内容,之前逛论坛看到 Swift 升级到了 3,并且似乎对之前版本的兼容性有一定的问题,所以一直对 iOS 开发的语言选择有一定的困惑。

    如果按照现在 0 基础的前提下,想学习 iOS 开发,应该是以 Swift3 入手,还是继续学习传统的 Objective-C ?

    比较害怕项目因为语言问题而导致重构,甚至重新开发,所以想听听大家的意见。

    非常感谢。
    49 条回复    2017-07-23 17:13:27 +08:00
    ThomasWiz
        1
    ThomasWiz  
       2017-07-12 12:17:01 +08:00   ❤️ 1
    公司项目用的 OC,个人业余项目用 Swift。
    theendis
        2
    theendis  
       2017-07-12 12:17:20 +08:00   ❤️ 1
    当然 swift 啊
    Daniel65536
        3
    Daniel65536  
       2017-07-12 12:19:24 +08:00 via iPhone   ❤️ 1
    当然是 swift4 啊
    yeziahehe
        4
    yeziahehe  
       2017-07-12 12:43:50 +08:00   ❤️ 1
    swift4 啊
    chengxiao
        5
    chengxiao  
       2017-07-12 12:46:08 +08:00   ❤️ 1
    歪个楼 RN 吧
    xuyuheng0905
        6
    xuyuheng0905  
       2017-07-12 12:52:39 +08:00   ❤️ 1
    这么说吧,objc 是必需品。
    mooczz
        7
    mooczz  
       2017-07-12 13:03:30 +08:00   ❤️ 1
    Swift 是锦上添花,没有锦哪有花?
    charzluo
        8
    charzluo  
    OP
       2017-07-12 13:12:45 +08:00
    @Daniel65536 @ThomasWiz @chengxiao @mooczz @theendis @xuyuheng0905 @yeziahehe 谢谢大家,铜币献上。似乎求稳还是 oc,业余尝试 swift4 吧。
    moxxun
        9
    moxxun  
       2017-07-12 13:20:04 +08:00 via iPhone
    我从后端转 iOS,用 swift 3,自我感觉上手快,开发速度快。
    superleexpert
        10
    superleexpert  
       2017-07-12 13:20:43 +08:00
    Swift 优先 4 的 beta 也已经出了
    hebwjb
        11
    hebwjb  
       2017-07-12 13:23:22 +08:00
    新手自学或公司新产品,果断 Swift 啊
    本人正在学斯坦福的 cs193p
    charzluo
        12
    charzluo  
    OP
       2017-07-12 13:25:34 +08:00
    @moxxun 看了一下一些博客,感觉对 swift 代码精简都保持比较好的态度,如果先 objc 在 swift 可能时间上有些不够
    @superleexpert 主要这是个公司项目,所以有些担心,未来如果 4 又有 breaking changes,那重构成本就比较大,即使承诺不会是破坏性升级= =而且 Swift 接触的少,对稳定性什么的,稍微有点担心。
    charzluo
        13
    charzluo  
    OP
       2017-07-12 13:30:56 +08:00
    @hebwjb 恩,确实可以考虑,回头我也看看,b 站还有人搬运了 2333
    LINAICAI
        14
    LINAICAI  
       2017-07-12 13:32:26 +08:00
    新产品当然用 swift,还回去用 oc 真傻
    superleexpert
        15
    superleexpert  
       2017-07-12 13:34:02 +08:00
    @charzluo 去年把项目从 2.x 升级到 3 的,API 改动确实大,包括第三方库的适配也都会紧接跟上;
    今年的版本 S4 苹果已经稳定上层 API 的改动了,成本肯定能少很多,而且不用急于升级,我们都是等相关依赖趋于稳定了才升级的,完全不到重构级别的,稳定性的风险也不高
    xsown
        16
    xsown  
       2017-07-12 13:37:04 +08:00
    能用 Swift 坚决 Swift,实在不行才用回 objc
    huoshanhui
        17
    huoshanhui  
       2017-07-12 13:54:31 +08:00
    不谈系统版本都是耍流氓。
    LeoDev
        18
    LeoDev  
       2017-07-12 14:51:03 +08:00
    楼上说的对,先看系统啊,项目要求 iOS 7+ 你来个 Swift 写?
    如果是 iOS 8+,还是建议直接 Swift,都能写项目,当然哪个写得快用哪个了,而且 Swift 是趋势。
    WildCat
        19
    WildCat  
       2017-07-12 14:58:11 +08:00 via iPhone
    不再相信苹果,安心的 React Native
    charzluo
        20
    charzluo  
    OP
       2017-07-12 16:00:57 +08:00
    @huoshanhui @LeoDev 小创业公司,所以肯定以新系统为主
    huoshanhui
        21
    huoshanhui  
       2017-07-12 16:06:01 +08:00
    @charzluo #20 那你就不用纠结语言了。你该纠结的是哪种语言开发效率高。
    paradoxs
        22
    paradoxs  
       2017-07-12 16:08:09 +08:00
    不用 RN 就是耍流氓, 不是大公司,ios 和安卓分开干嘛
    mufeng
        23
    mufeng  
       2017-07-12 16:09:28 +08:00
    swift4
    charzluo
        24
    charzluo  
    OP
       2017-07-12 16:16:22 +08:00
    @huoshanhui 是的,谢谢谢
    Tunar
        25
    Tunar  
       2017-07-12 17:54:44 +08:00 via Android   ❤️ 1
    都 4 了。。亲
    Zero24
        26
    Zero24  
       2017-07-12 18:17:38 +08:00
    swift
    YYYeung
        27
    YYYeung  
       2017-07-12 18:20:30 +08:00 via iPhone
    公司项目用 Objective-C 和 RN,个人项目用 Swift
    chmlai
        28
    chmlai  
       2017-07-12 18:27:25 +08:00
    swift 4
    akrf
        29
    akrf  
       2017-07-12 18:33:54 +08:00 via Android   ❤️ 2
    现在学 OC 相当于 50 年入国民党,个人是挡不住历史的车轮的。
    akrf
        30
    akrf  
       2017-07-12 18:34:30 +08:00 via Android
    还有劝公司项目用 RN 的,真是杀人于无形…
    njlcazl
        31
    njlcazl  
       2017-07-12 20:07:42 +08:00
    @akrf 还是得学 OC 的,到时候转过去用不了多久
    charzluo
        32
    charzluo  
    OP
       2017-07-12 20:22:34 +08:00
    @Tunar 2333,是我撒比了。。。这个铜币,我撒给你
    @akrf 确实更偏向于 4,谢谢建议~~
    jackisnotspirate
        33
    jackisnotspirate  
       2017-07-12 20:45:15 +08:00 via iPhone
    必须 RN 哈
    hdbean
        34
    hdbean  
       2017-07-13 00:20:01 +08:00
    还有人推荐 RN?醉了..
    akrf
        35
    akrf  
       2017-07-13 01:12:33 +08:00 via Android
    @njlcazl 你转过吗? Swift 和 OC 除了都是调的苹果的 api,几乎没有任何相同点。
    MartinLv
        36
    MartinLv  
       2017-07-13 01:43:22 +08:00
    目前 swift 用来做大型 app 开发没有任何问题,各种基础库已经很成熟了。不要犹豫直接上 swift 吧。swift 的类型系统会强制你把代码写的更安全,维护起来比 OC 容易多了。语言表达能力也比 OC 强很多。但是苹果提供的框架还是 OC 实现的,所以为了理解一些概念,OC 也要学一下。
    qui9090
        37
    qui9090  
       2017-07-13 01:46:46 +08:00
    @hdbean
    @akrf

    RN 有什么大坑?还准备用新项目上的
    rcgary
        38
    rcgary  
       2017-07-13 06:06:39 +08:00
    没真正用过的人才会推荐 RN 的
    从 swift 2 用到现在,问题很多,但是同时每天用都是在学习进步,还是用 swift 吧。
    flyico
        39
    flyico  
       2017-07-13 09:47:06 +08:00
    swift 从入门到重学
    gggxxxx
        40
    gggxxxx  
       2017-07-13 09:47:28 +08:00
    2 个一起混用才是靠谱的。
    以前积累的 oc 代码没必要用 swift 再重写一次,新代码直接用 swift。
    有强迫症的话,直接把 oc 编成 lib 得了。
    pheyer
        41
    pheyer  
       2017-07-13 10:16:47 +08:00
    swift 吧,现在很多开源代码都上 swift 了,oc 的话想用它们很蛋疼啊
    Him
        42
    Him  
       2017-07-13 10:32:39 +08:00
    都错了,别学 iOS
    ameba
        43
    ameba  
       2017-07-13 11:39:07 +08:00
    @Him 最正确的回答 Python 大法好
    ShindouHIkaru
        44
    ShindouHIkaru  
       2017-07-13 11:42:26 +08:00
    自己创业的话,肯定 swift 啊。。。明显写起来比 oc 爽太多了。。。
    charzluo
        45
    charzluo  
    OP
       2017-07-13 12:00:27 +08:00
    谢谢大家,非常感谢~~~
    deyu
        46
    deyu  
       2017-07-13 17:22:52 +08:00
    成熟大型项目用 OC 其余用 swift
    zysidea
        47
    zysidea  
       2017-07-14 14:01:04 +08:00
    现在学 ios 就相当于 49 年加入国民党
    Rico
        48
    Rico  
       2017-07-23 13:39:06 +08:00
    正在学 Swift。 推荐下 CS193P IOS10 的翻译项目 https://github.com/ApolloZhu/Developing-iOS-10-Apps-with-Swift
    charzluo
        49
    charzluo  
    OP
       2017-07-23 17:13:27 +08:00
    @Rico 2333,我就是在 B 站给你发私信的那个= =笑死我了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2266 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:52 · PVG 08:52 · LAX 17:52 · JFK 20:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.