Swift 再等等?我的答案是:快上车


本文谈下 iOS 开发要不要选择 Swift 的问题,纯主观无数据支撑,拒绝反驳,欢迎打赏。利益相关:实际项目中使用 Swift 一年半,从此 OC 是路人。

Swift 现状:与 OC 共存

如果你想弯道超车,以为只要学会 Swift ,就可以不用管 OC ,iOS 开发回到一条起跑线上,我只能说:


因为这个想法很不现实。iOS 的核心 UIKit 是 OC 写的,其实 iOS 大部分的 framework 都是 OC 写的。乔帮主留给我们的珍贵历史遗产,能说扔就扔?

管不住我这双配图的手

如果你完全不懂 OC ,在目前的形势下,你甚至无法成为一个合格的 iOS 的工程师。
Server side 虽然是完全脱离了 OC ,但是服务端的开发环境和工具链离真正的商业应用还为时尚早,除非你想写出别人无法维护的服务端代码。

开发者对 Swift 接受程度

那 Swift 到底有没有人用呢?
我们看TIOBE的2月编程语言排行榜:



Swift 排在 12 名,OC 排在 19 名。其实在一年前,两个的关注度还是五五开,到了现在已经拉开差距。

Swift 从国际的角度来看,接纳程度已经超过 OC(欧美地区)。也可以去 Quora 上搜搜类似的问题。Swift 2.0 的时候还有很多质疑的声音,到现在开发者已经接受的非常自然了。使用 Swift 开发是显而易见的。

国内开发者对 Swift 怎么看

这里有个问题需要先想清楚,什么样的开发者的意见值得听?很多技术不同的开发者都有不同的声音,有人激进,就有人保守。

我的价值观是,相信那些最顶尖的程序员的判断。当然这纯粹只是我个人的想法。有些程序员如果已经不在一线开发,在一线时也不是特别出类拔萃,他们的观点我就会怀有质疑的态度(前端的朋友你们知道我说谁了)。当然了,这些只是对未来技术趋势的判断。我相信顶尖的程序员的判断,我把他们当做舵手。

我列几个我心中国内几个顶尖的开发者对 Swift 的态度。

  • 王巍,kingsfiser作者,《Swifter 100 tips》作者,毫无疑问,1.0 时代开始就看好 Swift
  • 钟颖(cyan),去年国内最优秀的独立应用开发者,显然一直在用 Swift 开发,在去了微软以后依然使用 Swift
  • @故胤道长毕业于CMU,硅谷 flag 公司 Uber 架构组工程师,Uber 的 app 是全 Swift,Swift 早已是日常选择。
  • MrPeak,博客篇篇精品干货,在2016年iOS技术圈回顾中写到:

Swift进入公众视野已有一段时间,开发者社区的接纳度非常好,就我所接触的团队来说,已有不少在新产品中全面转向Swift的了。对于Objective C阵营的开发者来说,学习Swift已经是刻不容缓的事情了,对于新入行iOS犹豫在Objective C和Swift之间学哪个的同学来说,答案是两个都学。
Swift还处于新生期,这门集众家所长语言所包含的潜力还远没有被挖掘干净,业界的最佳实践还需要大量的产品来锤炼,响应式,函数式,面向协议等等都是大话题。还没看过喵神最近关于面向协议编程文章的同学,可以去仔细阅读感受下面向协议对于现有OOP方式的改变,这种思想层面的颠覆正是Swift的魅力所在。使用Swift的问题也还很多,Xcode崩溃,语法高亮消失,编译慢等等,你可以看到很多开发者吐槽用Swift写代码,但没有人转身离开。

国内“大”公司的态度

我一度以为国内正规公司没人用 Swift 。
对于豆瓣团队的技术实力我是不怀疑的,在去年我欣喜的发现他们在用 Swift ,而且还用的挺好,在豆瓣App的模块化实践中提到:

Swift 在工程效率上确实优于 Objective-C。和 Objective-C 相比,Swift 可以用更少的代码,更清晰的方式完成相同的功能。当然,混合使用 Swift 和 Objective-C 存在一定的工程成本。所以,这里就需要权衡:是保持简单,只使用 Objective-C 呢?还是忍受一定的不便,使用一些 Swift,带来效率上的提升呢?
我们在项目中使用 Swift 的体会是:有快乐,当然也伴随着一些不便。总体而言,不便都可以克服。

2月初的时候刚好和隔壁的一个网易的朋友聊天,问他们用 Swift 吗。他说新的代码有些已经开始用 Swift 写。维护的部分就还是用 OC。

一位不愿透露姓名的百度的朋友(@AidenRao)前几周在群里说他们一个项目在考虑使用 Swift ,最近在做调研,后来他们项目组决定使用 Swift 开始写。

上次去饿了么参加一个技术活动时也得知他们接下来会慢慢开始转移到使用 Swift 开发。

Swift使用现状总结

在国外使用 Swift 开发已经是一件很主流的事情。在国内不知道为什么原因(其实我就是不好意思明说)使用 OC 还是绝对的主流,使用 Swift 的只是一小撮开发者。

如何评价:为什么很多大公司继续使用 Objective-C,不用 Swift?

我就问一句:哥,你在的是大公司吗?BAT用什么技术你就用什么技术?代入感不要这么强好吧。


可是他们说 Swift 不稳定啊

可是他们说 Swift :不稳定,不成熟,慢,混编效率差。

这些只是大部分不愿意学习新技术的人的借口。如果你真的学习了 Swift ,写了几千行代码,你觉得这些问题真的是问题,我就认了。但是你务必自己去试一试。

当然我不可否认使用 Swift 是有代价的。但是,哥有信仰。


上车吧,我在秋名山等你

选不选 Swift 其实是一种态度。

有可能,光光不想和那群傻逼一样还写 OC 就够了。

不好意思,我又冲动了。

欢迎关注我的微博:@没故事的卓同学

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,016评论 4 62
  • HTTP协议 HTTP服务器 在命令提示符下运行该程序 不要关闭命令提示符,直接打开浏览器输入http://loc...
    子木同阅读 602评论 0 0
  • 场景一:男女方分别住在城市的两边,车程相隔三个小时。约会后男方给女孩叫了一辆专车。“我不顺路,你打车回去吧。”女孩...
    吴先生的信箱阅读 340评论 2 2
  • 一觉醒来已是千年 想再 多看你一眼 怎奈 灯光暗 星星稀 游人少 路茫茫 急忙摇车窗 谁掌舵了的方向 一地黄 一壶...
    洪仁阅读 281评论 0 0