try! Swift Tokyo 2019 に行ってきたお話(#tryswiftconf)

こんにちは! SHOWROOMのiOSアプリを担当している 植村 (@working_doggy) です。

2019年3月21~22日に渡って行われた、「try! Swift Tokyo 2019」 に参加してきました。 今年の開催場所は ベルサール渋谷ファースト です。去年は ベルサール新宿グランド でしたね。
※ SHOWROOM株式会社はカンファレンスや勉強会等の参加費を積極的に支援してくれます!

僕は2週間ぐらい前にチケットを購入したのですが、その1週間後には既にチケットは売り切れでした。
ギリギリで購入しようと思ってたので、早めに購入することを忘れないようにしないとですね。危ない危ない...。

f:id:doggy_dog:20190326190013p:plain:w240 f:id:doggy_dog:20190326191111p:plain:w240

それでは本題へ!

try! Swiftとは

try! SwiftはSwift言語での開発における最新の応用事例について集まる国際コミュニティです。このイベントは世界中から人々が集まり、Swiftのスキルを向上させるための、高度な知識やテクニックを共有し、協力しあうことを目的としています。

ざっくり説明すると、こんな感じです!

  • 世界で開催される国際的なカンファレンス
  • 主に日本(Tokyo), アメリカ(New York)で開催されていて、過去にはインドのBangaloreやSan Joseでも開催
  • スピーカーは日本人問わず、様々な国の有名な方が参加(中にはAppleで働いている人も)
  • シングルトラック(他の公演は無く、大きな公演1つのみ)で、大体が英語セッション
  • 英語が聞き取れない人でも翻訳機があるため、安心して聞く事が出来る
  • 海外の方が多いので、まるで海外カンファレンスに来たかのような雰囲気を味わえる

毎年そうだと思うのですが、海外の方が多くて驚いてしまいます。

www.tryswift.co

ブース

色々な企業がブースを出していました。
担当の方とお話をしたり、ノベルティをもらえたり(ステッカー、お菓子等)します。
やはり、iOSを担当している人と直に話せるので、それが大きいと思います。

f:id:doggy_dog:20190328130547j:plain:w240 f:id:doggy_dog:20190328130545j:plain:w240

セッション

どのセッションもオススメしたいのですが、数多くのセッションがありました。 なので、今回は個人的にお気に入りのものをピックアップして書いていこうと思います。

⚡️🎤限定的なimportの明示とその効果

普段、importは使っていると思いますが、そのimportについて詳しく説明したセッションでした。
限定的なimportをあまり業務で使ったことは無かったので、今後そういう場面があったら使う、良い機会になりました!
また、Basic import vs Kind import のビルド時間計測のお話が中でも面白くて、結論的に Basic import のが早いと...。
つまるところ、「普段通り書いた方がいい」というところも良かったです。笑

speakerdeck.com

ARKitのアプリを作ろう

ARKitに関しては、僕自身あまり使った事がなかったのですが、そんな僕でも分かるセッションでした。
サンプルアプリは、ゲームの「Portal」の様な空間を作るARアプリを作っていました。あのゲーム面白いですよね。
ARアプリを作るに当たってのお話がメインでした。
エレベーターの様な動く場所では使わないで欲しい旨を伝えるバッテリーを多く消費するので、バックグラウンドに入ったら解放する 等、注意する事についても話していました。
面白いと思うので、とりあえず触ってみるのも良さそうですね!

t.co

魔法の法則

このセッションはコード部分のお話というより、意識することについてのお話だったので感想として書きます。
タイトルから「魔法...?」ってなると思うのですが、聞いている内に「ああ、そういう繋げ方ね」となるのが面白いところですね。
個人的に、公演の中でいくつかエモい名言だと思った言葉がありました。
十分に高度な技術は魔法と区別がつかないできないことは出来ることよりも面白い は中でも心にきましたね。笑
所々、話が難しくて分からなくなってしまう部分も多々ありましたが、まとめにはこう書いてありました。

魔法の法則

  1. 作者が魔法で満⾜のいくように葛藤を解決する能⼒は、読者がその魔法 をどれだけよく理解しているかに正⽐例します。
  2. 制限は権力よりも重要です。
  3. 新しいものを追加する前に、すでに持っているものを拡張してください。

※ 資料は公開されていなかったみたいなので、文章のみになります。

Swift Type Metadata

今年高校を卒業という若さ、トークは英語、そして内容もCoreな部分のお話でした。
あの若さで本当に凄い...。現在はメルカリでインターンをしているみたいですね。
僕自身、Type Metadata については知らないことが多かったので、知見になりました。

speakerdeck.com

モバイルのデザインシステムを構築する

スピーカーさんは海外の方のようで、声が枯れていたのですが前日にカラオケを楽しみすぎたらしいです。笑
デザインをどのようにコードベースに落とすかを、わかりやすいスライドで解説してくださりました。
業務でやっている内容に近いこともあって、「なるほど」と思わされることも多々。

UIColorをAssetsとして定義出来るのは初耳でした。近い内、SHOWROOMのアプリにも組み込んでみます。

speakerdeck.com

SwiftCheckで始めるProperty-based Testing

UnitTestについてのセッションで、SwiftCheckを使ったProperty-basedのことを公演してくださりました。
SwiftCheckは、HaskellのQuickCheckを元に作ったライブラリのようです。
乱数に頼るのは、言い換えると確立に頼ったものであるため最初は抵抗感があった と言っていたのですが、共感できますね。
ですが、乱数によってテストに漏れがないかの不安を軽減出来るので、そこはいいですよね。

t.co

お弁当

3種類の内から選んで食べる感じでした。
お弁当がいくつか余っており、2つ3つと食べる人も居たようですね。笑
f:id:doggy_dog:20190326193508p:plain:w320

2日目 最後のParty

最後はtry! Swiftお決まりのParty!
去年もですが、豪華なバイキング形式です。
海外の方が多いのもあって、日本料理というよりは洋食がメインでした。
中でも、マスコットキャラクターが書かれた大きなケーキは手が込んでいました。

また、ここでも開発者の方々と交流が出来ます。
お酒を飲みながら、ラフに話せるのですぐ仲良くなれちゃいます。

f:id:doggy_dog:20190328131022j:plain:w480 f:id:doggy_dog:20190328131042j:plain:w240 f:id:doggy_dog:20190326205346j:plain:w240

最後に

という感じで、色々見て楽しんで来ました!
毎年行われているので、来年は参加してみては如何でしょうか。

また、SHOWROOM株式会社は iOSエンジニア を募集しております!
同じ仲間になって働いてみませんか!

f:id:doggy_dog:20190328122515p:plain:w280 f:id:doggy_dog:20190328132107p:plain:w240