以下为采访内容,提问者:DevLink,受访者:靛青K。
1小青你好,能否简单的介绍一下你自己?
Swift 开发者,目前在 ENJOY 进行相关产品的开发,最近在写一本关于 iOS 响应式相关的书籍(当然是基于 RxSwift 了),目前也在学习写其他技术栈的 Hello World 。
2作为一名 iOS 开发者,同时也是 SwiftGG 的成员,您的微博里面多数内容都是有关 Swift 的,能否说说您如何看待 Swift 这个新生的开发语言?与 Objective-C 相比,它的优势在哪里?
Swift 的前景非常好,毕竟它是“剽窃”了各大现代语言的优势,相比 Objective-C 具有 Optional 、protocol 等优势,但我个人最喜欢的是带有关联值的 enum ,这样的 enum 极大的提高了代码的可读性。
3您本次的分享主题是关于 RxSwift 和响应式编程的,能否给大家剧透一下为什么会选择这样的分享主题,主要的分享重点会在哪里?
我们可能经常听到用 RxSwift 处理异步是多么多么的优雅,特别是链式处理异步的回调。但我在实际开发中,发现它有更多可玩性,使用 RxSwift 远不只是单纯的处理异步,它可以帮助我们优雅的处理各种复杂的逻辑。我希望能以这样的一种分享,大家可以看到 RxSwift 更强大的一面。换句话说,本次分享会从不同的角度实践,带来更多头脑风暴,诱惑大家先用起来。
4现在很多公司大部分还是使用 Objective-C , 作为开发者自身而言,如果要引入响应式编程,那么是用 ReactiveCocoa 呢? 还是 RxSwift ?
对于使用 Objective-C 团队,我的建议是使用 ReactiveCocoa 2.x 版本。当然如果会有新项目,我建议使用 Swift 3 开发,引入响应式编程我更推荐 RxSwift ,相比 ReactiveCocoa 的使用会更优雅一些,同时还有很多 ReactiveX 的相关参考。这里更正一个大多文章提到了 RxSwift 对于 Cocoa 的支持不好的事情,事实上在 iOS 和 macOS 开发都是需要再引入 RxCocoa 的这个库的,这是特别为 Cocoa 做的响应式支持的框架。
响应式的实践,我更建议先在一些 demo 或者较小的项目中应用起来,在积累了一定经验后,再应用到更大的项目中。不熟悉的技术应用到实际工程中,还是比较坑的。但这不影响我们学习新的技术,在觉得可以用到工程时,那么用起来一定是最好的。
5跟我们讲讲 SwiftGG 翻译组的故事吧?
SwiftGG 已经成立一年多了!起源是,梁杰带领大家翻译完 Swift 2.0 的官方文档,翻译文档就结束了有些可惜,于是成立了翻译组,为大家带来更多国外优秀的博客翻译。目前已经完成了 330 余篇文章的翻译。年初进行了很多讨论,决定开展线下 T 沙龙以更好的促进技术交流。
6我们知道 SwiftGG 翻译了很多优质的海外开发资源,未来 SwiftGG 的方向是什么?
我们仍然是以翻译文章为主,未来将和国外更多优秀的博主谈授权,为大家带来更多精彩的文章。同时我们现在在进行一些文档、书籍的翻译工作,目前在进行的是将 JSPatch 和 Element 文档翻译成英文、翻译一本 iOS 安全方面的书籍(即将出版)。
目前在进行线下 T 沙龙的实践,未来我们想做更多有意思的事情,比如开展 Android 、Web 等方面的沙龙。记得喵神(onevcat)和我说的一句话是:“国内的演讲相比国外差距还是很大”,我们希望通过沙龙可以提高大家的分享、交流、演讲水平,把我们的演讲推荐到国内、国外各种大会中。
7对身处苹果生态链的一线开发者有什么要说的么?
我不算是一个老司机,但对于一线开发者们,我想表达的是:
- 多向前端学习
- 时刻要追求新的技术,找到自己感兴趣的点,并研究下去
- 对于任何一个方向的学习,我们都应当注意深度和广度的发展
- 要将基础打扎实
- 尽可能地多交流
- 最重要的,不断的追求极致。
本篇文章仅代表嘉宾个人观点