読者です 読者をやめる 読者になる 読者になる

try! Swiftに参加してきました

こんにちは、VOYAGE GROUP のコンテンツメディア事業本部で iOS アプリを担当している @TachibanaKaoruです。

先週の3/2~3/5に、渋谷のマークシティーで try! Swift が開催されました。 VOYAGE GROUPでは、今回のtry! Swiftのスポンサーをさせていただいたこともあり、社内から6名(社員5名、内定者1名)が3日間みっちり参加させていただきました。

参加した社員の感想をまとめてみました。

モダン Core Data (by @qmihara

Realm がダイヤモンドスポンサーという中で Core Data の話かー、何を話すんだろうととても楽しみにしていたセッションでしたが、Core Data がメインではなく古くからあるフレームワークを Swift らしく使えるようにする話でした。 Protocol Extension や Enum を使い、これまで文字列で指定していたエンティティやプロパティ名をコンパイラでチェックできるようにすること、安全に型が解決できるようにする部分はとても参考になりましたし、Swift だけではなく Objective-C でも同様のアプローチは取れるなとも思いました。 Swift らしくを意識しすぎて過剰なまでのラッパーを作ってしまいがちですが、このセッションでも言われていましたが元々のフレームワークの精神を大切にし読み手に優しい実装を心がけたいものです。

ネットワーキングにおけるProtocol Oriented Programing(by @icchi0425

使う場面の想像がしやすい実践的な内容で、さらにライブコーディングもあって見応えのあるセッションでした。このセッションのあった2日目が終わった後、すぐにオフィスに戻ってコーディングした程、テンションが上がりましたね。 特にAPIKitとhimotokiを組み合わせてrequestとresponseの型を紐付けている実装は、これがSwiftの型安全かと非常に納得感がありました。まだ理解が足りていない部分もあるのですが、実際に実装してみたり、クルーのみなさんと議論しながら深めていきたいと思います。 僕はまだ学生なのですが、入社前からこのような貴重な経験をさせていただけて、たくさんの学びがありました。Swiftyなコードを業務に取り入れる良いきっかけになりそうです。

ライブラリ開発の話(by @jahblue

現状iOSだとライブラリの配布はCocoaPods、Carthageが有力だが Swift Package Manager(SPM)に対応することでマルチプラットフォーム対応のライブラリも作成可能になるという話でした。 SPM対応自体は規定のファイル構造と設定ファイルを用意するだけなので それほど難しいものではないが、 現状だとswift自体にGCDが実装されていないのでlinux向けには個別の対応が必要だったり等、考慮しなければいけないことが色々とあるようでした。 また、CIを考えた時にswiftのバージョンを開発環境と CIサーバの環境を合わせる必要があるが、 既にswiftの複数バージョン管理を行えるswiftenvというものがあり、 この辺りの整備は整ってきている印象でした。

オープンソースSwiftへの貢献(by @TachibanaKaoru

Clang PipelineやModule Mapの話から、オープンソースになったSwiftにどのように貢献していけばいいのかまでを説明してくれました。 「rejectされても人格を否定されているわけではないので、諦めないで!」や「全ては小さな改善からはじまります」といった後押しに、会場内のSwiftに貢献したい気持ちがもりあがっていくのを感じました。

Swift is more than a programming language. Swift is a COMMUNITY

という最後の言葉には、try! Swiftの参加者全員が感じたことが表現されていたと思います。

ダイバーシティー

try! Swiftでは、登壇者の女性比率がとても高かった点が、印象に残りました。 私はよくiOS系の勉強会に参加したり発表したりするんですが、発表者の中に女性がいることはほとんどありませんし、参加者の中にさえいなかったりすることが多いので、iOS Developerの女性比率はIT界の中でも少ないのかもしれない、とちょっとさみしく感じていました。 海外には力量のある女性Developerがこんなにいるのかと勇気付けられました。

まとめ

今回、try! Swiftは初めての開催だったので、始まる前は言語系のコアな話題が中心になるのかもしれないと思っていたんですが、実際に参加すると、言語系の話だけではなく、実際のプロダクトにすぐ役に立つTipsやデモまで幅広い話題を聞けて、充実した内容でした。 参加者としてとても意義のある3日間になりましたし、会社としてもスポンサーをさせていただいてよかったと感じるカンファレンスでした。

また、会場でいろいろなエンジニアの方とSwiftやiOSについてお話しできたのもとても楽しかったです。 次回 try! Swift 2017が開催されたらまたお会いしましょう!