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

2016-09-12 14:57:26 +08:00
 akring

之前在写 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 之后再发。。。

6566 次点击
所在节点    Swift
24 条回复
finab
2016-09-12 15:40:19 +08:00
现在能把 Swift2 迁移到 Swift3 的,在 Swift 上的造诣一定很高。
anerevol
2016-09-12 16:34:34 +08:00
现在项目就是用 swift 写的,马上下个 xcode8 看看如何。
fengyunSmlie
2016-09-12 16:53:38 +08:00
。。还好之前项目没决定用 swift
vulgur
2016-09-12 16:54:07 +08:00
拿出点 Courage 来!
IamJ
2016-09-12 17:01:07 +08:00
想问一下二楼还活着吗。。
@anerevol
28ms
2016-09-12 17:06:38 +08:00
本来用 swift1 写了个 ios 客户端,升级 2 以后很多要重写,好崩溃
现在又听闻 swift 要升级 3 了,又不兼容 swift2 !你们先玩!
lion9527
2016-09-12 17:18:56 +08:00
自己写的其实还好,关键是第三方库,悲剧。
daniellu
2016-09-12 17:26:35 +08:00
从 swift 1 到 swift 2 觉得还行啊。也没很多问题啊。 iOS 啊。 mac 的第三方不知道什么情况, iOS 的 bridge 过去,还是很方便的啊。
akring
2016-09-12 17:26:44 +08:00
@vulgur 壮士,干了这碗热翔!
ldp940622
2016-09-12 17:27:28 +08:00
我司的项目刚从 2 => 2.3 ,工作量还算可以接受
Midnight
2016-09-12 17:30:08 +08:00
你们玩,我到站了
Lonely
2016-09-12 17:33:16 +08:00
从精通到放弃大概就是这样
bytelee
2016-09-12 17:36:44 +08:00
@ldp940622 主要是 swfit3 2.3 不久就会抛弃了 swift3 语法改变较多 较真的话 函数名都要重命名一遍
akring
2016-09-12 17:40:32 +08:00
@ldp940622 迟早还是要迁移的。。。
ipconfiger
2016-09-12 17:44:31 +08:00
其实只要不去作死升级什么 GM 版的话, 还是可以愉快的玩耍的, 用 swift 快一年半了, 没多么的要死要活
PopeyeLau
2016-09-12 18:11:11 +08:00
好吧.
等 Xcode8 正式发布了.就迁. =͟͟͞͞(꒪⌓꒪*)
hstdt
2016-09-12 18:16:26 +08:00
swift1 和 2 写了一些 demo 和自用的 ios/osx 应用,都不是生产环境,公司代码就准备从 3 开始了。先写就先熟悉理解,也挺有作用的。
anerevol
2016-09-12 18:25:10 +08:00
@IamJ 自己代码还好 关键是用到的第三方库有些根本没做 swift3.0 的版本...
pacino
2016-09-24 11:57:14 +08:00
问题是用了 swift 3.0 + Alamofire ,就必须放弃 iOS 8 ,这对商业 app 来说几乎不可能。
akring
2016-09-24 16:16:17 +08:00
@pacino 这个其实还是因人而异, OmniFocus 更新后直接只支持 iOS10 了,我猜是因为根据统计信息,他们的用户 iOS10 的升级率不错,所以影响不大。
我司同样根据内嵌的统计 SDK 统计出了 iOS7 的用户占有率不到 2%,直接放弃掉了 iOS7 适配,降低开发成本的同时,还能给用户提供更新更好的功能,双赢的结局。
当然了,例如微信 QQ 支付裱之类的大众 APP ,估计出了适配做到死之外没有别的办法。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/305678

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX