你们还在用 Swift 开发么。。。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
akring
V2EX    Swift

你们还在用 Swift 开发么。。。

  •  
  •   akring 2016-09-12 14:57:26 +08:00 7255 次点击
    这是一个创建于 3404 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前在写 Star Order 的 Mac 客户端,在 iOS 端已经用 Objective-C 写好的情况下,我作死的使用了 Swift 来写 Mac 客户端,费尽洪荒之力各种迁移代码,各种学习 Mac 开发之后最近终于接近写完了。

    然鹅,就在前两天我开始做测试并沾沾自喜 Swift 终于入门了的时候: macOS 和 Xcode8 的 GM 版发布了==>我兴高采烈的更新了==>项目满目疮痍了==>我崩溃了

    主要问题集中在:

    1. 大量的 API 更新, Xcode8 提供的迁移功能并不足以智能到无痛迁移。
    2. 大量(早期)第三方库不支持 Swift ,看作者也没有更新的打算, issue 石沉大海。

    深入思考之后,我越来越觉得以后每年 9 月节奏都会变成: 《 Swift 从入门到精通再到入门》, 《老 Swift 项目是怎么垮掉的》以及《 Xcode 为什么这样红》。

    为了长治久安,我又在考虑从 Swift 迁移回 Objective-C ,并重构代码了。。。

    我还在纠结是直接先 Swift 上一版,然后去慢慢迁移重构,还是再花一个多月迁移回 Objective-C 之后再发。。。

    24 条回复    2017-01-05 17:09:09 +08:00
    finab
        1
    finab  
       2016-09-12 15:40:19 +08:00 via iPhone
    现在能把 Swift2 迁移到 Swift3 的,在 Swift 上的造诣一定很高。
    anerevol
        2
    anerevol  
       2016-09-12 16:34:34 +08:00
    现在项目就是用 swift 写的,马上下个 xcode8 看看如何。
    fengyunSmlie
        3
    fengyunSmlie  
       2016-09-12 16:53:38 +08:00
    。。还好之前项目没决定用 swift
    vulgur
        4
    vulgur  
       2016-09-12 16:54:07 +08:00
    拿出点 Courage 来!
    IamJ
        5
    IamJ  
       2016-09-12 17:01:07 +08:00
    想问一下二楼还活着吗。。
    @anerevol
    28ms
        6
    28ms  
       2016-09-12 17:06:38 +08:00
    本来用 swift1 写了个 ios 客户端,升级 2 以后很多要重写,好崩溃
    现在又听闻 swift 要升级 3 了,又不兼容 swift2 !你们先玩!
    lion9527
        7
    lion9527  
       2016-09-12 17:18:56 +08:00
    自己写的其实还好,关键是第三方库,悲剧。
    daniellu
        8
    daniellu  
       2016-09-12 17:26:35 +08:00
    从 swift 1 到 swift 2 觉得还行啊。也没很多问题啊。 iOS 啊。 mac 的第三方不知道什么情况, iOS 的 bridge 过去,还是很方便的啊。
    akring
        9
    akring  
    OP
       2016-09-12 17:26:44 +08:00
    @vulgur 壮士,干了这碗热翔!
    ldp940622
        10
    ldp940622  
       2016-09-12 17:27:28 +08:00
    我司的项目刚从 2 => 2.3 ,工作量还算可以接受
    Midnight
        11
    Midnight  
       2016-09-12 17:30:08 +08:00
    你们玩,我到站了
    Lonely
        12
    Lonely  
       2016-09-12 17:33:16 +08:00 via iPhone
    从精通到放弃大概就是这样
    bytelee
        13
    bytelee  
       2016-09-12 17:36:44 +08:00
    @ldp940622 主要是 swfit3 2.3 不久就会抛弃了 swift3 语法改变较多 较真的话 函数名都要重命名一遍
    akring
        14
    akring  
    OP
       2016-09-12 17:40:32 +08:00
    @ldp940622 迟早还是要迁移的。。。
    ipconfiger
        15
    ipconfiger  
       2016-09-12 17:44:31 +08:00
    其实只要不去作死升级什么 GM 版的话, 还是可以愉快的玩耍的, 用 swift 快一年半了, 没多么的要死要活
    PopeyeLau
        16
    PopeyeLau  
       2016-09-12 18:11:11 +08:00
    好吧.
    等 Xcode8 正式发布了.就迁. =(*)
    hstdt
        17
    hstdt  
       2016-09-12 18:16:26 +08:00 via iPhone
    swift1 和 2 写了一些 demo 和自用的 ios/osx 应用,都不是生产环境,公司代码就准备从 3 开始了。先写就先熟悉理解,也挺有作用的。
    anerevol
        18
    anerevol  
       2016-09-12 18:25:10 +08:00
    @IamJ 自己代码还好 关键是用到的第三方库有些根本没做 swift3.0 的版本...
    pacino
        19
    pacino  
       2016-09-24 11:57:14 +08:00
    问题是用了 swift 3.0 + Alamofire ,就必须放弃 iOS 8 ,这对商业 app 来说几乎不可能。
    akring
        20
    akring  
    OP
       2016-09-24 16:16:17 +08:00
    @pacino 这个其实还是因人而异, OmniFocus 更新后直接只支持 iOS10 了,我猜是因为根据统计信息,他们的用户 iOS10 的升级率不错,所以影响不大。
    我司同样根据内嵌的统计 SDK 统计出了 iOS7 的用户占有率不到 2%,直接放弃掉了 iOS7 适配,降低开发成本的同时,还能给用户提供更新更好的功能,双赢的结局。
    当然了,例如微信 QQ 支付裱之类的大众 APP ,估计出了适配做到死之外没有别的办法。。。
    pacino
        21
    pacino  
       2016-09-24 19:36:14 +08:00
    @akring 国内创业公司只要有一个用户都要拼死争取,何况 iOS 8 在国内占有率还不低(其中就包括我司老板,捂脸)。
    akring
        22
    akring  
    OP
       2016-09-25 14:14:43 +08:00
    @pacino 你应该庆幸老板不用 iOS6 。。。
    def1984
        23
    def1984  
       2017-01-05 17:08:14 +08:00
    小公司,保留 2.3 的 xcode 7 ,新项目全面转 3 ,用了不少 oc 库
    def1984
        24
    def1984  
       2017-01-05 17:09:09 +08:00
    @pacino swift 3.0 + Alamofire 亲测,在 ios 8.4 上还是可以的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     972 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 21:59 PVG 05:59 LAX 13:59 JFK 16:59
    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