こんにちは!AbemaTVでiOS、tvOSを開発している波戸(@dekatotoro)です。
9月のことですが、ニューヨークで開催されたtry! Swift NYCに参加してきました。
若干遅ればせながらですが、今回はそのレポートをお届けします。

What’s New in try! Swift NYC?

try! Swift NYC

try! Swift NYCは、iOSプログラミング言語であるSwiftのカンファレンスです。世界中のiOSエンジニアが集まり、それぞれの知見を共有するビッグイベントとなっています。

 

今回は、9月5日~6日の2日間で開催され、約20人のスピーカーが登壇しました。参加者は総勢約200人くらいでした。

ちなみに、AbemaTVからは @inamiy さんも登壇しており、  Swift 4 Codableというテーマで発表されました。

スライド

try! Swift NYC Swift 4 Codable – Spherical Image – RICOH THETA

 

SESSIONS

20セッションのうち、気になったものをいくつか紹介します。

Map and FlatMap Magic

mapやflatMapをカップケーキを使ってわかりやすく紹介されました。

基礎的な内容ですがOptionalのmapの使い方などは参考になります。

Map and FlatMap Magic

 

Driving View-State through Data for Fun and/or Debugging

Viewの状態をデータ駆動で更新していく設計の話です。

MVVMに近い設計ですがjsonにシリアリズしてデータ保存 / 通知するという実装が面白いと思いました。

スライド    GitHub

Driving View-State through Data for Fun and/or Debugging

 

Flexible View Controller Interfaces With Swift 4

Swift4からProtocol Compositionでクラスを含めることができるようになったのですが、その良い例が紹介されていました。

Flexible View Controller Interfaces With Swift

 

A Funny Thing Happened On The Way To This Array

Swiftらしい書き方が、豊富な例を用いて紹介されました。

A Funny Thing Happened On The Way To This Array

 

Improving Swift Tools with libSyntax

SwiftのコンパイラとlibSyntaxについての話です。libSyntaxがどのように構造化されSwiftコードの解析、生成、変換にどのように使えるかについて詳しく解説されました。libSyntaxを使ってSwiftフォーマッタを書く方法にまで解説してくれています。多くの開発者は使う機会は少ないかもしれませんが、とても興味深い内容なので是非動画を見てみてください。

Improving Swift Tools with libSyntax

 

MVVM at Scale: Not so Simple

設計についての話です。愚直にMVVMを採用するのではなく、他のデザインパターンと組み合わせたり、開発しているアプリケーションに合った設計を良く考えて設計しましょうという興味深い内容でした。

スライド

MVVM at Scale: Not so Simple

 

Building a framework with Viper

VIPERアーキテクチャで設計したframework作成についての紹介です。

UI更新やデータ同期が含まれるビデオ再生モジュールをVIPERで設計した例はとても参考になります。

スライド    GitHub

Building a framework with Viper

 

Error Handling Made Easy

エラー処理についての具体的な実装の紹介になります。うまく共通化されたErrorHandlerで勉強になりました。

スライド

Error Handling Made Easy

 

Modern RxSwift Architectures

RxSwiftの作者によるRxFeedbackの紹介です。

AbemaTVでもRxSwiftを使っており、RxFeedbackの設計は今のサービス開発にとても参考になる内容でした。

GitHub

Modern RxSwift Architectures

 

登壇者への質問や、情報交換・コミュニケーションも活発で、著名なサービスやライブラリの開発者から貴重な話を聞くこともできました。

try! Swift image

try! Swift image

 

セッションの間にはマジックショーなどのコンテンツもあり、セッション以外も含めてカンファレンス全体を楽しむことができました。

try! Swift magic show

 

OTHER EVENTS

try! Swiftの開催日前後には、会場周辺で勉強会やイベントが多数開催されます。
私は、Brooklyn Swift Developersに参加してきました。

こちらは、2セッション・参加者約50人のイベントで、AbemaTVのメンバー @marty_suzuki さんが登壇しました。

 MVVM & Flux

MVVM and Flux
もう1つのセッションはこちら。

Should Code Always be DRY?

Should Code Always be DRY?

 

このイベントの懇親会では、聴講者から登壇者へ続々と質問が上がり、活発な情報交換・コミュニケーションが交わされ盛況なムードでした。

Brooklyn Swift Developers

 

IMPRESSIONS

try! Swift NYCに参加してみて良かったことは大きく2つあります。

  • 目下、自分が取り組んでいるサービス開発に活かせる知見が得られた
  • 世界中にいるデベロッパー仲間から刺激をもらった

AbemaTVでも使っているRxSwift開発者をはじめ、界隈で著名な方に直接質問できたことで海外のレベル感を肌で感じられ、非常に良い機会でした。それと同時に、自分たちもそう変わらないレベルで勝負しているという実感が湧きました。今後も、品質のため、ひいてはユーザーのために「より良いサービス」を追求しストイックに開発に取り組み、さらにレベルアップしていきたいと改めて感じました。

 

NOTICE

2018年3月1日~3日 try! Swift Tokyo 2018 の開催が決定したようです!

今から楽しみですね。