try! Swiftで特に復習したいセッションまとめ #tryswiftconf
3月2-4日の3日間、try! Swift に参加してきました。
#tryswiftconf 💖 pic.twitter.com/4jtb6XEF1J
— try! Swift Tokyo (@tryswiftconf) 2016年3月4日
try! Swift とは東京渋谷で開催された、世界中から集まった Swift デベロッパーが知識や技術を共有することを目的としたカンファレンスです。
セッションの内容は自分にとって難しいものが多く、明日から使える tips & tricks みたいなのは少なくて、プログラミング言語の中でSwiftはこういう特性があるよ、そしてそれを活かしてこんなこともできるよね!みたいな、Swiftそのものの話や言語のポテンシャルに言及するものが多かった気がします。
振り返り勉強したいセッション
一度聞いただけでは全然理解できてない
そんな濃いセッションだったので、一度聞いただけでは2割も理解できてないです。
そこで、個人的に振り返って勉強したい順にセッションをまとめてみます。
業務やプライベートの実際のプロダクトで試すのが一番理解が進められると思ったので、そういう意味での試しやすい順番に並べました。
1.既存のコードをもっとSwiftyにする系セッション
会社ではフルSwiftで書いてるけど、まだまだ言語の特性を活かせる箇所が多く見つかったので。
Blending Cultures
- オブジェクト指向, 関数型, Protocol指向の考えをミックスしてSwiftyなコードを書く
- 実際のコードベースでプレゼンが進められたので理解しやすく、抽象化の勉強になる
- 参考リンク
Table View Controllers in Swift
- TableViewController のコードを Swifty に、 Generic にする
- その TableVC に Configuration を渡すだけでコンテンツの表示がなされる
- Chris さんにはQAセッションでいくつか質問したので、その内容含めて復習する
- 参考リンク
Hipster Swift
- NSHipster の中の方による Swift の tips集
@autoclosure
やlazy var
など、理解があいまいなのでこれを機にちゃんと理解する- 参考リンク
2.デバッグやテストをしっかり学ぶ系セッション
特にテストはいまあまり書けてないので重点的に復習したい。
Swift compiler integration in LLDB
- LLDB をつかってデバッグをもっと効率よく
p
やpo
コマンドの他、CustomDebugConvertible
など- 参考リンク
An Artsy Testing Tour
- 4つのアプリを題材に、テストをどう書いていこうか?という話
- いま書いてるアプリはほぼテストないので、復習してから計画的に書く
- 参考リンク
Protocol-Oriented Programming in Networking
- APIKit のようなインターフェースをいかに実装するか
- RxSwift をつかったコードの書き方
- APIKit, RxSwift ともに業務で書いてるアプリに導入したいのでちゃんと理解する
- ishkawaさんの発表はいつも大変わかりやすく、発表スタイルも勉強になります
- 参考リンク
3.ワンランク上にレベルアップできそうなセッション
普段コードを書くときに心がけることで、メンバーや未来の自分に意図が"伝わる"コードを書ける。
The Design of Everyday Swift
- 「誰のためのデザイン?」という本の考えを Swift にあてはめて考える
- private/public/internalや、メソッド名のつけかたなどで意思の伝わるコードを書く
- 意識してるつもりではあるけど、自分のコードを見直す
- 参考リンク
本も読んでみる。
Learning to Read Again
- コードを読むときに人はどう読んでいくのか?
- 読みやすく、かつ理解されやすいコードを書くために意識することを理解する
- 参考リンク
4.OSSを公開/貢献する系のセッション
今年は自分の使ってるモジュールを切り出して公開していこうと思っているので。
Creating a Library
- ライブラリをつくって CocoaPods & Carthage & Swift Package Manager で配布する話
- 参考リンク
Motivation based library abstraction
- 日常のコードから、どうやってどのような粒度で切り離してOSS化しているかの話
- 参考リンク
Contributing to open source Swift
- OSSのなったSwift、その概要を理解し、自分が貢献できそうな領域を見つけよう、という話
- 前半の解説部分、後半の貢献へのスタンスとコミュニティの話、どちらも最高でした
- 自分でOSSをいくつか公開した後、Swift のコードをよく読んでみたい
- 参考リンク
感想・全セッションを通じて思ったこと
- サーバーサイド Swift の話がよく出ていくる
- 日本ではそんなにまだ聞かないな?と思ってたので驚いた
- みんな簡単なコードやプロトタイプくらいは Playground で書いている
- 自分も真似してちょっと使ってみたけど大変便利。今後も使っていきたい
- テストについてはみんな悩んでいる
- Protocol Extension, Functional Programming が頻出
- 意識して使えてなくて、Objective-Cy なコードを書いてしまってるなぁ、と反省
- 本質的な話が多かった
- こんなライブラリがありまして、みたいな話はほぼなくて、すべてに共通する考え方・実装の仕方の話が多かった
- 「明日からこのライブラリ使うぞ!」とはならず、「自分の普段書いてるコードはどうなのか」と振り返る機会になった
まとめ
3日間とても熱く濃い時間をすごせました。
普段ほとんど Swift を書いてるのに理解できない話がとても多く、悔しい思いもしましたが、これをエネルギーにしてひとつずつキャッチアップしていこうと思います。
スピーカーのみなさま、運営スタッフのみなさま、そして素晴らしい会場を提供してくださったサイバーエージェントさん、本当にありがとうございました!