try! Swift Tokyo 2018に学生支援プログラムを利用して参加しました!

3/1(木)〜3/2(金)の2日間、ベルサール新宿グランドで開催されたtry! Swift Tokyo 2018に参加してきたので、そのまとめ記事になります! (3/3(土)のピアラボ/ワークショップは都合で参加できませんでした... 😢)

学生支援プログラムについて

try! Swift Tokyo 2018では、PicApp、MAMORIO、mercari、nanaの4社(敬称略)が学生スポンサーとして協力されていて、学生支援プログラムという形で告知がありました。

選考があるものと先着のものがあって、
選考の方は、名前や大学名などのプロフィールとGitHubのアカウントとかコントリビュートしてるOSSとか記載する欄があったような気がします(うろ覚え)

今回自分も学生支援プログラムで参加させていただいたのですが、
try! Swift当日に、学生スポンサーの企業の方に、学生支援プログラムで参加している学生が何人いるか聞いてみたら、20人近く採択されていたみたいです。(すごい)

try! Swift とは

Swift におけるベストプラクティス、アプリ開発、サーバーサイド Swift、オープンソース Swift、そして Swift のコミュニティなど、プログラミング言語 Swift に関するコミュニティ主催のカンファレンスです。 (https://www.tryswift.co/events/2018/tokyo/jp/#)

今年は3月1日、2日にエキスパートによるトーク、3日にピアラボ(もくもく会)、ワークショップが行われました。

Registration & Opening

f:id:n_atmark:20180313152235j:plain

会場に着くと、Eventbriteのチケットを提示して受付をしてもらい、ネームプレートやノベルティを受け取りました。 IMGP0968

リコが描かれたネームプレートには、自分の名前とTwitterのアカウントも記載されてます!
これだけでワクワクしてきますね 🤗 f:id:n_atmark:20180313152608j:plain

自分は去年のtry! Swiftには参加できなかったのですが、去年のネームプレートと今年のネームプレートを並べると、
デザインが繋がってるらしいです!

Session

Day1 Session

1日目は以下のセッションを聞きました! 題名だけ載せてますが、 @kodai_ozawa さんがQiitaに詳しくまとめてくださっているので、そちらを見てみてください! qiita.com

  • 裏 Swift Tour
  • SIL入門(LT)
  • Clang モジュールの探検
  • レスポンダチェーンを知ろう
  • 関心の分離と単純化のためのSwiftコードの最適化
  • コーダーがデザインすべきなのか
  • Event driven networking for Swift
  • 変性のダイヤモンド(LT)
  • SwiftyPi
  • 我が家を支えるSwiftの技術(LT)
  • UI Test の楽しさとメリット
  • ブロックチェーンのクライアントをSwiftで実装する
  • Protocol Oriented WebAPI Abstraction(LT)
  • 👾
  • AST メタプログラミング

どのセッションも興味深かったのですが、個人的に印象的だったのが下記のセッションで、

@katecastellanoさんの「SwiftyPi」では、Raspberry Pi上でSwiftの実行環境を作り、GPIOの制御からKituraを使ってサーバを立てるところまで行なっていました。 少し前に、ArduinoiPadを連携してピタゴラ装置を作ろうとしていて(http://natmark.hateblo.jp/entry/2017/12/13/121426) 、セッションを聞いて近いうちにラズパイ買おうと思いました(笑)

また、@normanmaurerさんの「Event driven networking for Swift」では、
イベント駆動のアプリケーションフレームワークであるNettyのSwift用フレームワークであるSwiftNIOが公開されて、盛り上がってました!

@giginet さんの「👾」では、SpriteKit用のReactive ExtensionとしてRxSpriteKitが公開されました。イベント処理やフレームに対しての処理が簡単に書けるようになるので、 SpriteKitとRxは相性良さそうな印象でした!

@k_katsumiさんの「AST メタプログラミング」では、SwiftPowerAssertSwiftfmtの例を挙げて説明されていて、すぐ試せるPlaygroundがそれぞれ用意されていたので(swiftfmt-playgroundswift-power-assert-playground)、触りながらセッション聞けたのが楽しかったです!ASTの世界に興味を持てました!

Day2 Session

2日目は以下のセッションを聞きました!

  • Expression Problem を解決する
  • Swift もくもく会 in Barcelona(LT)
  • Swift によるアルゴリズムの可視化
  • Kitura で Codable ルーティング
  • 超解像+CoreML+Swiftを使ってアプリの画像データ転送量削減に挑戦する(LT)
  • iOSでCharlesを導入する
  • 拡張現実における体験設計
  • Swift エンジニアのための Kotlin 入門
  • Swift5のOwnershipに備える(LT)
  • デジタル信号処理 in Swift
  • Codableが導く型安全な世界(LT)
  • iOS / Swift における対話型インターフェースの作成
  • UIImageView vs Metal
  • Swiftが動くDockerコンテナの各OSの性能比較(LT)
  • 型とパフォーマンスで見るType-erasureの利点(LT)
  • Make faces big by Vision and CoreGraphics
  • 開発者ツールと経験への時間投資

@bkase_さんの「Expression Problem を解決する」では、View階層の表現を複数プラットフォームで利用するために、enumKitやprotocolを用いて手法を提示されていて、興味深かったです!

@avonさんの「iOSでCharlesを導入する」では、ネットワークデバッギングがiOS端末上で行え、キャリア通信もキャプチャ可能なiOS用Charlesが発表されて盛り上がりました。NetworkExtensionFrameworkを用いて、VPNコネクションを作成して実現してるとのことでした。NetworkExtension触ったことがなかったので、この話も興味深かったです!

@merowing_さんの「開発者ツールと経験への時間投資」では、コードインジェクションによってリコンパイルの時間短縮を行なったり、Sourceryの話がありました。
セッションを聞いただけだと、Sourceryが何をしてくれるのか実はいまいちよく分かってなかったのですが、try! Swiftが終わってからthe-magic-of-sourceryを読んで、ボイラープレートコードがどんなものを指していて、どのようにすればボイラープレートコードを書かなくて済むようになるか理解することができました。

Ask the Speaker

DSC01963

各セッションが終わった後に、スピーカーの方と話せるAsk the speakerも設けられてました!

@subdigitalさんの「Swiftによるアルゴリズムの可視化」を聞いて、アルゴリズムの可視化に対して、
自分の作っているProcessingKitで実現できるシンプルな描画APIの組み合わせがプログラミング教育の面役立ちそうだったので、僕もAsk the speakerの機会を使って、拙い英語ながらBenさんと会話させてもらいました!

Breaktime

休憩時間は企業ブースが盛り上がってました! f:id:n_atmark:20180314012747j:plain f:id:n_atmark:20180314012737j:plain

ノベルティを指差して "Can I get this one? " と言ってみると、FirebaseのTシャツやIBMの薄い本など、いろいろなノベルティがもらえました! f:id:n_atmark:20180314012845j:plain f:id:n_atmark:20180314012901j:plain

コーヒも振舞われたり、

IMGP2483

バリスタコーナーも設置されていました。 (バリスタコーナーは長蛇の列で自分は飲めませんでした...😭)

IMGP2736

写真撮影ができるようなパネルも設置されてました! IMGP1571

Magic show

休憩の後にマジックショーもありました!🎩

IMGP2617

japanese/english lesson

海外の方と交流を促すために、すぐに使える(?)日本語/英語 講座もありました!

Do you use Swift in your job? / 仕事でスゥイフトを使っていますか? f:id:n_atmark:20180314014853j:plain

No, I write everything directly in assembly / いいえ、直接アセンブリ言語で書いています。 f:id:n_atmark:20180314014910j:plain

try! Assembly Conference...? 🤔

Launch 🍽

お昼ご飯は8種類のお弁当の中から、好きなものを選んで食べる形式でした! DSC02594

自分はもみじ弁当(Momiji)にしました🍱

2日間共お弁当が振舞われたのですが、2日目は学生スポンサーのPicApp様にランチに連れていってもらいました! f:id:n_atmark:20180314015805j:plain f:id:n_atmark:20180314015809j:plain 学生支援プログラムで来ている学生全員とは交流できなかったものの、こういう機会もセッティングしていただけて良かったです!

Closing

Closingでは、けん玉師の伊藤佑介さんによるけん玉パフォーマンスがありました。

DSC04971

日本っぽさがあって、次々と繰り広げられる技に魅了されました!

After party

アフターパーティーでは、料理やお酒が振舞われました!

料理が木箱に入ってて、すごくおしゃれでした...! f:id:n_atmark:20180314020850j:plain f:id:n_atmark:20180314020915j:plain

サングリアも瓶に入っていて、インスタ映えな感じでした!🍹 f:id:n_atmark:20180314021011j:plain

リコのケーキもありました!🎂 f:id:n_atmark:20180314021136j:plain

パフォーマーの方もたくさんいらっしゃって、

うさぎがいたり、 DSC05178

背が高い人がいたり、、! DSC05176

他にもいろいろなパフォーマーの方がいました!

さいごに

2日間通してすごく楽しかったです! ブログにもある通り、セッション以外のイベントが豊富で、お祭りのような雰囲気でした!

セッションを聞いて新しく学んだことも多く、いろいろ試してみたいです! (あと、英語もちゃんと話せるように勉強し直したい...!)

来年もtry! Swiftが楽しみ 😊

IMGP3863