[求教] Swift3 还是 Objective-C - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
charzluo
V2EX    Apple

[求教] Swift3 还是 Objective-C

  •  1
     
  •   charzluo 2017-07-12 12:12:26 +08:00 4781 次点击
    这是一个创建于 3068 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先说说背景,我是公司产品,最近公司在尝试新方向,所以可能需要了解一下 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
    buydip
        17
    buydip  
       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 小创业公司,所以肯定以新系统为主
    buydip
        21
    buydip  
       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     Solana     2584 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 2ms UTC 12:36 PVG 20:36 LAX 04:36 JFK 07:36
    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