是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
查看查看699 回复回复7 收藏收藏 分享淘帖 转播转播 分享分享 微信
查看: 699|回复: 7
收起左侧

是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍

[复制链接]
swifter 发表于 2016-7-26 14:45:25 | 显示全部楼层 |阅读模式
快来登录
获取优质的苹果资讯内容
收藏热门的iOS等技术干货
拷贝下载Swift Demo源代码
订阅梳理好了的知识点专辑
王巍(@onevcat),江湖人称“喵神”,iOS 和 Unity3D 开发者,旅居日本,目前供职于 LINE,著有《Swifter - 100 个 Swift 必备 tips》,同时也是翻译项目 ObjC 中国的组织者和管理者,维护 VVDocumenter-Xcode 及 Kingfisher 等开源项目。

是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍 1

是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍 - 敏捷大拇指 - 是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍 1

王巍 LINE iOS开发工程师(Photo by 李涛 Geek2Startup)




1、前言

对于众多 iOS 开发者来说,提升技能最多关注的非唐巧王巍(以下称“喵神”)的博客莫属。印象里的喵神是当之无愧的「三好」,比如在今年的 WWDC 即将开始之前,喵神便特地为初次参会的开发者写了攻略。而即使是我这个技术渣去请教他各种问题,也会耐心细致地解答。除却技术问题本身,笔者也很想知道,在日常的项目开发中,喵神是否也会碰到一些让他颇感头疼的问题,结果他是这样说的——“技术上的问题倒是都不难解决,最困难的还是和人交流”。不禁让我想起了热爱写代码、玩游戏、读书而不太乐于交流却在不久前被我强拉着说了几个小时话的 YYKit 作者 @ibireme

去年 MDCC 移动开发者大会便曾邀请在日本的喵神回国分享,然彼时因刚荣升奶爸,牵挂家人未能成行。而今年,在 MDCC 再次发出邀请时,他欣然应允,并与我们一起共同策划了整个 iOS 开发峰会,希望能够为国内的 iOS 开发者们带来「高质量且实用」的新技术与成熟项目的经验分享与实操演示。

而这次的采访一方面源于 MDCC 2016,另一方面,也是基于目前在 iOS 开发者群体中所面临的棘手问题,比如:

-11W+行的代码来适配 Swift 3 是一种什么样的感受?
-感觉自己被掏空。。。
-∑(O_O;)

这是一段真实的对话,主人公是国内一个非常有格调的美食类 App 的 iOS 负责人。在 Swift 3 发布后,他们的团队便率先开始了对于 Swift 3 的适配,然而,「被折腾得死去活来」是他的原话,语法改完,依然跑不起来。而笔者在与多位 iOS 工程师朋友交流时,也发现,苹果简直让全世界的 iOS 开发者与 Swift 谈了一场「虐恋」。于是,我便带着他们当前所面临的以 Swift 3 为主的问题请教了喵神。




2、采访

请分享一下您当前正在做的事情。

王巍:正在将我的几个 Swift 写的开源项目(比如 KingfisherRainbow)进行 Swift 3 适配。Swift 3 中 API Guide 和很多现有的内容都发生了改变,所以进行版本适配需要花不少精力。


在日常的开发中,您有遇到哪些比较头疼的问题,以及如何解决的?

王巍:技术上的问题倒是都不难解决,最困难的还是和人交流。比如如何与策划或者设计人员协调,如何合作来打磨用户满意,维护方便的优秀项目,是比大多数技术问题要困难的挑战。


目前在 iOS 开发上您有哪些特别关注的技术?正在深度研究的是?

王巍:自从去年 WWDC 以来,一直对面向协议编程和 Swift 中的泛型应用很感性去。现在正在挖掘泛型和 Cocoa 到底能够融合到什么样的程度,这个新的编程范式是否能够很好地用在 App 开发中。


在日本以及 LINE 公司工作,有哪些深有感触的事情?比如技术层面、团队氛围等方面。

王巍: 日本的开发团队在技术上可能没有太多能值得称道的地方,但是团队里开发者的认真和严谨确实是让人佩服。相对来说,LINE 的组织架构比较扁平,工程师之间,工程师与策划或者设计之间,都是直接进行交流。这种时候开发文档和企划书就尤其重要。而日本不少开发者能够做到丝毫不差地按照开发文档交付项目,专业态度非常好。

是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍 2

是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍 - 敏捷大拇指 - 是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍 2

I love Swift! (Design by MWJ CSDN)


现在还不到实际项目适配Swift 3的时候

请问您对于今年 WWDC 上 Swift 3 升级有着怎样的看法?

王巍: Swift 3 是这门语言开源后的第一个大版本,这次更新的幅度远超以往任何一次升级,也可以预见,之后 Swift 的变化也不再可能像这次这么大的幅度。综合来说,Swift 的开发团队想要在新版本中解决从 Objective-C 转换中最后的一些遗留问题。同时,在开源社区的帮助下,很多开发团队没有考虑到的细节也得到了完善。Swift 的开源带来了社区对这门语言更深入的了解,以及更迅速的进化。Swift 3 的更新的方向也十分令人激动。


您如何看待 Swift 3 包含 ABI 不稳定、语法变太多、API 变了又变?什么时候能用上?

王巍: API 上最大的变化的原因是要遵循新的 API Guideline,而新的 API Guideline 的目的只有一个,那就是让通过 Swift 使用 Cocoa 框架更加自然。如果说 Swift 1 和 2 还是带着 Objective-C 的枷锁跳舞的话,Swift 3 中这个限制在很大程度上可以说消失了。Swift 3 中开发者可以用更 Swifty 的方式来使用这门语言,同时这也意味着 Swift 和 Objective-C 之间的联系将更少(毕竟如果要提供两种语言都合适的 API 的话,需要很多额外工作量)。


在实际项目中,现在就适配 Swift 3 是否适合?《Swifter - 100 个 Swift 必备 tips》现在有更新计划?

王巍: 实际项目的话建议还是等一段时间。因为 Swift 3 改动很大,所以不一定所有第三方框架都会在第一时间进行适配。另外,对于较大项目,即使在自动迁移的帮助下,想要全面转向 Swift 3 的 API 也需要花费不少精力。Xcode 8 中 Swift 2.3 和 Swift 3 可以同时共存,Apple 也将接受这两个版本的 Swift 项目,所以 App 的项目并不着急马上进行适配。不过如果你是框架作者的话,尽早将项目转为 Swift 3 会是很好的选择。《Swifter - 100 个 Swift 必备 tips》有计划更新到 Swift 3,不过鉴于现在 beta 版也还不稳定,有不少特性还没有最后实装,所以这本书的更新会在稍后一些时候进行。


在将项目代码升级至 Swift 3 的过程中,都遇到过哪些问题?

王巍: 我正在将我的开源框架升级到 Swift 3,遇到的最大的问题是 API Guideline 的一些细节上的处理。大部分时候一个 API 的命名是比较容易确定的,但是对于某些模棱两可,可能适用于多条规范的 API 名字,在处理上需要考虑更多东西。举个例子,不少接受通用类型(比如 Int,String)作为参数的方法,它们的名字就难以确定。


现如今,很多新加入的 iOS 开发者首选学习的是 Swift,是否意味着 OC 式的语法、API 等都可以舍弃了?

王巍: Swift 作为入门 iOS 开发来说是非常理想的,但是国内在接受新技术这方面相对似乎要慢一些,所以在之后一年可能还是需要简单了解 Objective-C 的语法。国内 Swift 适配的速度较慢的一个重要原因是 Swift 程序的运行时会被打包到 App 中,导致体积增大,而国内用户恰好比较看重流量。所以希望在 Swift 运行时被集成到系统中后国内的 Swift 应用和开发能有一个大的增长,这样我们就可以摆脱 Objective-C 的一套不安全和相对落后的东西了。


开源的Swift对于跨平台应用开发是否会造成影响?

王巍: 对于移动端来说,Swift 还不能用于 Android 开发,所以并不会产生什么影响。不过,相对来说,Android 开发可能会由于 Swift 的压力,而对 Kotlin 之类的更先进的语言进行一些尝试。对于服务器端来说,Swift 虽然可以进行开发,但是相应的工具链和生态相比其他成熟的服务器语言来说还有一定差距。一些 Swift 开发者可能会尝试使用这门语言进行服务器开发,这样他们就能够在客户端和服务器同一语言,甚至共用一些模块。不过现在都处于早期的尝试中,要说会造成影响还为时过早。


编程语言与书籍启发

就不断演化的语言来说,我们正在向何处去?比如,5 年后会如何?对于您来说,您认为一门语言向开发者提供什么是最重要的?

王巍: 最近几年编程语言有一种趋同的趋势,这也是最近几年大家在工程实践中总结的一些经验的体现,比如更多地使用函数式、避免 null 指针等等。总体来说,编程语言正在向更安全,更易于开发者书写的方向发展。要预测五年后的情况太难,不过相信之前的这些趋势会继续发展。另外,相比于一些通用型的语言,那些特别设计来针对某一专门领域的语言也将会有很大空间。

迄今为止,对于您在从事开发方面影响最大的著作是?您有着哪些启发?

王巍: Robert C. Martin 的 The Clean Coder。这本书教会了我如何以一个专业程序员的思维来思考问题,也让我明白了开发中必须做出的一些取舍。


MDCC 2016


在今年的 MDCC 移动开发者大会上,准备和开发者们分享什么?

王巍: 可能会分享一些面向协议编程和泛型如何与 Cocoa 结合使用的实例,因为在项目里尝试用了一些,觉得对改善现有设计很有帮助。


您最期待在 MDCC 2016 上看到哪些内容?收获什么?

王巍: 希望能看到更多的改善项目设计,组织架构以及可维护性的思路,因为工作中的软件开发我自己所追求的主要是代码简洁可读以及保证可维护性,因此如果能有一些这方面的启发的话,会对日常开发有很大帮助。



最后,以一张今年初与iOS众大神的合影结束这次的采访,同时感谢喵神于百忙之中的答疑解惑。9 月 23-24 日,在北京• 国家会议中心举行的MDCC 2016移动开发者大会上,喵神将在现场进行交流与分享,欢迎面基。

是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍 3

是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍 - 敏捷大拇指 - 是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍 3

Swifter (Photo by 李涛 Geek2Startup)




Swift 3.0 相关内容:

宣告Swift3结束和Swift4开启

Swift 3中的新特性 What's New in Swift 3 ?

包括了Swift 3的Xcode 8新特性 new features in Xcode 8

Swift 3.0 都改变了什么语法?

是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍

Swift 3 API 设计准则 Swift 3 API Design Guidelines

Swift 3.0 API设计准则 详细内容解读 Swift 3.0 API Design Guidelines

Swift 3.0 Preview 1 Released! Swift 3.0开发者预览版(第一版)发布

苹果开发者大会纪要,Swift 3.0:print("WWDC@2016 by swifthumb.com");

苹果发布Swift 3.0首个预览版:核心代码又有改进哦!Swift进军路线图

Swift v3.0-PREVIEW-1 发布

Swift 3.0预告:将Objc库转换成更符合Swift语法风格的形式

Swift 3.0预测:扩展性更强、类型系统重构、完善泛型

我们期待的 Swift 3.0 将会是什么样?

令人意外:苹果应用极少采用Swift语言开发,等Swift 3.0强制?




转自:CSDN

都看到这里了,就把这篇资料推荐给您的好朋友吧,让他们也感受一下。

回帖是一种美德,也是对楼主发帖的尊重和支持。

*声明:敏捷大拇指是全球最大的Swift开发者社区、苹果粉丝家园、智能移动门户,所载内容仅限于传递更多最新信息,并不意味赞同其观点或证实其描述;内容仅供参考,并非绝对正确的建议。本站不对上述信息的真实性、合法性、完整性做出保证;转载请注明来源并加上本站链接,敏捷大拇指将保留所有法律权益。如有疑问或建议,邮件至marketing@swifthumb.com

*联系:微信公众平台:“swifthumb” / 腾讯微博:@swifthumb / 新浪微博:@swifthumb / 官方QQ一群:343549891(满) / 官方QQ二群:245285613 ,需要报上用户名才会被同意进群,请先注册敏捷大拇指

嗯,不错!期待更多好内容,支持一把:
支持敏捷大拇指,用支付宝支付10.24元 支持敏捷大拇指,用微信支付10.24元

评分

参与人数 1金钱 +10 贡献 +10 专家分 +10 收起 理由
Anewczs + 10 + 10 + 10 32个赞!专家给力!

查看全部评分

本帖被以下淘专辑推荐:

安卓大师 发表于 2016-7-26 18:19:09 | 显示全部楼层
痛苦啊,又得撵一遍……
Anewczs 发表于 2016-7-26 22:26:29 | 显示全部楼层
代码买卖 发表于 2016-7-27 05:43:53 | 显示全部楼层
猜都猜到会怎么说了,肯定是要观察一阵子再说……
数学家 发表于 2016-8-19 11:39:20 | 显示全部楼层
Anewczs 发表于 2016-7-26 22:26
http://www.swifthumb.com/space-uid-2375.html
这个人是喵神吗?

应该是吧
1起来 发表于 2016-9-20 16:42:05 | 显示全部楼层
女汉子 发表于 2016-11-7 21:06:15 | 显示全部楼层
Anewczs 发表于 2016-7-26 22:26
http://www.swifthumb.com/space-uid-2375.html
这个人是喵神吗?

喵神来敏捷大拇指了吗?干嘛隐身?
1起来 发表于 2016-11-18 18:13:33 | 显示全部楼层
这是老早的资料了,

喵神自己早已经升级到Swift 3.0啦~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

做任务,领红包。
我要发帖

分享扩散

都看到这里了,就把这资料推荐给您的好朋友吧,让他们也感受一下。
您的每一位朋友访问此永久链接后,您都将获得相应的金钱积分奖励
关闭

站长推荐 上一条 /3 下一条

热门推荐

合作伙伴

Swift小苹果

  • 北京治世天下科技有限公司
  • ©2014-2016 敏捷大拇指
  • 京ICP备14029482号
  • Powered by Discuz! X3.1 Licensed
  • swifthumb Wechat Code
  •   
快速回复 返回顶部 返回列表