今天是中国 iOS 开发者的一次聚会,因为首届 Swift 开发者大会在北京成功举办了。这次会议的质量很高,大会的相关 keynote 和 视频,稍后都会在官网上公开,所以没能参会的同学可以关注官网( http://atswift.io/ )的内容更新。我作为大会的主席(其实基本没出什么力)全程参与了全天的大会,在此记录下一些参会的见闻。
先说说本次的大会的演讲内容吧。这次大会的 Keynote 可在此下载。
2016.02.29更新:中国首届swift开发者大会的视频已经放出:http://www.imooc.com/learn/600
Chris
开场的是 objc.io 的创始人 Chris Eidhof。Chris 是大会演讲者中唯一没有准备 keynote 的人,但是演讲相当精彩。Chris 虽然没有 keynote,但是内容是精心准备过的,他先用 playground 简单介绍了一些 Swift 的内容后,就转到一个游戏 Demo 的重构工作中,整个重构工作包括几点:
- 用 typealias 去掉 NSUserDefaults 的依赖。
- 用 protocol 来代替继承。
- 用 extension 来实现 protocol。
- 尽量用 struct。
- 全程用 testcase 来验证重构过程。
最终,我们看到了一个重构之后的游戏 Demo,相比以前的工程,重构后的项目代码更短,逻辑更清晰。
人们常说,Talk is cheap, show me the code。 Chris 用行动让我们看到如何写出更好的 Swift 代码。
傅若愚
傅若愚来自 thoughtworks,和我一样是成都人。他这次的演讲主题是《越过 OC 与 Swift 间的鸿沟》,对于正在经历从 OC 到 Swift 转型的各位来说,非常实际。
他从一段代码来引出了大家的好奇,下面这段代码,居然会有两种输出结果,你猜出来是什么原因了吗?
someArray = [1, 2, 3] |
接着傅若愚介绍了从 OC 转到 Swift 需要注意的地方:
- 优先用 protocol 而不是继承
- 更多通过 annum, struct, extension 来达成目的。
最后,他展示了一个利用函数式编程来重构代码的例子。
Greg
Greg 是加拿大多伦多的一位 iOS 自由职业者,亚裔,看起来非常像中国人,但是其实他不会说中文。他在为著名 的 raywenderlich.com 撰写博客。本次他分享的是《Swift Style》。
在介绍了编写易读的代码的重要性之后,他从以下 3 方面介绍了他的 Swift 经验:
- Value types
- Protocol
- Safety
提问环节的时候,Chris 当托似地问了一个非常有趣的问题:「你最近 1 年在写 Swift 代码上有何转变?」。
这个问题非常有意思,Greg 说他现在用了更多的 guard 关键词,然后 Greg 也说到,他写习惯 Swift 之后,因为养成了强类型检查的习惯,他偶尔回去写 oc 的时候会不停地 check 各种 nil。
李洁信
李洁信是下午第一场,非常犯困的时间。洁信稍微有一些紧张,内容是关于《Swift 中的协议编程》,他把这些内容都梳理得挺好的,讲得挺清楚。
王巍
喵神王巍是下午第二场,王巍的主题是《如何打造一个让人愉快的框架》,喵神的准备非常充分,演讲过程中还各种卖萌,实在是非常可爱。喵神主要从以下几个方面介绍了框架的开发:
- 静态库和框架的对比
- 包和依赖管理
- 创建框架
- 一些 Tips
- 发布框架
- 持续集成
如果你希望基于 Swift 来开发一个 framework,非常值得看看喵神的分享。
包涵卿
包涵卿讲的是《Swift 函数式编程实践》,这块其实是挺难讲的,前面的一些函数式编程的基础还好,比如柯里化之类,但是后面估计比较难理解,我不知道现场有多少人听懂了 Monad 的概念,不过这个确实是比较挑战的话题。
翁阳
这场话题茶歇回去之后听了一半,所以没怎么整理出来笔记。有些遗憾。
周楷雯
周楷雯的分享里介绍了各种性能优化的技巧。可惜他当时手机变砖,有一些着急,讲得比较快,很多点感觉展开讲会更好一些。
后记
这次 Swift 大会中还做了一些有趣的调查,在此将数据分享给大家:
- 这次有 3/4 的听众来自外地!
- 现场有 1/3 的听众已经开始将 Swift 应用于公司项目开发中。
这次大会的组委会都很棒,包括梁杰、裕波、王臣汉、陈雨恒、李涛(还有一些我没能记住名字的同学)都对这次大会付出了大量心血。作为一个非赢利性的 Swift 大会,我觉得他们做到了内容的高质量,期待明年的第二届大会如期进行!