唐巧的博客

首届 Swift 开发者大会见闻

字数统计: 1.3k阅读时长: 4 min
2016/01/10

今天是中国 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 的重构工作中,整个重构工作包括几点:

  1. 用 typealias 去掉 NSUserDefaults 的依赖。
  2. 用 protocol 来代替继承。
  3. 用 extension 来实现 protocol。
  4. 尽量用 struct。
  5. 全程用 testcase 来验证重构过程。

最终,我们看到了一个重构之后的游戏 Demo,相比以前的工程,重构后的项目代码更短,逻辑更清晰。

人们常说,Talk is cheap, show me the code。 Chris 用行动让我们看到如何写出更好的 Swift 代码。

傅若愚

傅若愚来自 thoughtworks,和我一样是成都人。他这次的演讲主题是《越过 OC 与 Swift 间的鸿沟》,对于正在经历从 OC 到 Swift 转型的各位来说,非常实际。

他从一段代码来引出了大家的好奇,下面这段代码,居然会有两种输出结果,你猜出来是什么原因了吗?

someArray = [1, 2, 3]
var result = someArray.map({"No. \($0)"})

接着傅若愚介绍了从 OC 转到 Swift 需要注意的地方:

  1. 优先用 protocol 而不是继承
  2. 更多通过 annum, struct, extension 来达成目的。

最后,他展示了一个利用函数式编程来重构代码的例子。

Greg

Greg 是加拿大多伦多的一位 iOS 自由职业者,亚裔,看起来非常像中国人,但是其实他不会说中文。他在为著名 的 raywenderlich.com 撰写博客。本次他分享的是《Swift Style》。

在介绍了编写易读的代码的重要性之后,他从以下 3 方面介绍了他的 Swift 经验:

  1. Value types
  2. Protocol
  3. Safety

提问环节的时候,Chris 当托似地问了一个非常有趣的问题:「你最近 1 年在写 Swift 代码上有何转变?」。

这个问题非常有意思,Greg 说他现在用了更多的 guard 关键词,然后 Greg 也说到,他写习惯 Swift 之后,因为养成了强类型检查的习惯,他偶尔回去写 oc 的时候会不停地 check 各种 nil。

李洁信

李洁信是下午第一场,非常犯困的时间。洁信稍微有一些紧张,内容是关于《Swift 中的协议编程》,他把这些内容都梳理得挺好的,讲得挺清楚。

王巍

喵神王巍是下午第二场,王巍的主题是《如何打造一个让人愉快的框架》,喵神的准备非常充分,演讲过程中还各种卖萌,实在是非常可爱。喵神主要从以下几个方面介绍了框架的开发:

  1. 静态库和框架的对比
  2. 包和依赖管理
  3. 创建框架
  4. 一些 Tips
  5. 发布框架
  6. 持续集成

如果你希望基于 Swift 来开发一个 framework,非常值得看看喵神的分享。

包涵卿

包涵卿讲的是《Swift 函数式编程实践》,这块其实是挺难讲的,前面的一些函数式编程的基础还好,比如柯里化之类,但是后面估计比较难理解,我不知道现场有多少人听懂了 Monad 的概念,不过这个确实是比较挑战的话题。

翁阳

这场话题茶歇回去之后听了一半,所以没怎么整理出来笔记。有些遗憾。

周楷雯

周楷雯的分享里介绍了各种性能优化的技巧。可惜他当时手机变砖,有一些着急,讲得比较快,很多点感觉展开讲会更好一些。

后记

这次 Swift 大会中还做了一些有趣的调查,在此将数据分享给大家:

  1. 这次有 3/4 的听众来自外地!
  2. 现场有 1/3 的听众已经开始将 Swift 应用于公司项目开发中。

这次大会的组委会都很棒,包括梁杰、裕波、王臣汉、陈雨恒、李涛(还有一些我没能记住名字的同学)都对这次大会付出了大量心血。作为一个非赢利性的 Swift 大会,我觉得他们做到了内容的高质量,期待明年的第二届大会如期进行!

CATALOG
  1. 1. Chris
  2. 2. 傅若愚
  3. 3. Greg
  4. 4. 李洁信
  5. 5. 王巍
  6. 6. 包涵卿
  7. 7. 翁阳
  8. 8. 周楷雯
  9. 9. 后记