Yappli Tech Blog

株式会社ヤプリの開発メンバーによるブログです。最新の技術情報からチーム・働き方に関するテーマまで、日々の熱い想いを持って発信していきます。

iOSDC Japan 2020 に参加しました✨

参加メンバー(寄稿者) 👤

古賀山本みしま

はじめに

ヤプリiOSエンジニアの古賀です。

今年もやってきました iOSDC Japan 2020 !
iOSD JapanはiOS関連技術をコアのテーマとした技術者のためのカンファレンスです。

弊社は「iOSDC JAPAN 2020」にスポンサーしています!

今回はカンファレンスの様子や、参加したアプリエンジニアの感想や印象に残ったことについて記事を書きました。

note.com

イベントの様子

トークはすべてニコ生で配信され、Ask The Speakerや参加者同士の交流はDiscordで行われました。

ちなみに今年のノベルティは宅配便で自宅まで届けられ、飲み物やTシャツなどが入っていました✨

f:id:yako000:20200925104130j:plainf:id:yako000:20200925104135j:plain

オープニング

f:id:yako000:20200925110341j:plain

イベントでの諸注意やスポンサー紹介などを豪華声優の方々によって読み上げられました。

f:id:yako000:20200928162057p:plain

弊社の名前も三石琴乃さんに読み上げてもらい、テンションが上がりました!

f:id:yako000:20200925102240p:plain

トークセッション

f:id:yako000:20200927004159p:plain

トップバッターは岸川さん

f:id:yako000:20200927001104p:plain

まさかの初っ端から音が聞こえない障害発生💦

f:id:yako000:20200927004545p:plain

運営スタッフの方々が頑張ってくださり、1,2分で解消されました。 障害対応中、観客から応援コメントが流れてきたり ライブ感があって良かったです。

LT

f:id:yako000:20200928165624p:plain 制限時間を過ぎるとトークが終了します。 オンラインでも容赦無く幕が降りてきました😂

f:id:yako000:20200927001109p:plain 幕が降りるときにドラ音がなるのですが、 音がうるさすぎるというコメントを受けて、 生放送中に何回も幕をおろして音をテストするという 面白い場面もありましたw

クロージング

f:id:yako000:20200925102234p:plain

表彰式では岸川さんが殿堂入りしました✨

f:id:yako000:20200923105750p:plain

最後の方は放送の裏側のスタッフさん達も紹介してくだっていました。

f:id:yako000:20200923105703p:plain

初のオンライン開催、大成功だったことがコメントからも伺えます。

印象に残ったセッション

寄稿者:👤古賀

SourceKit LSPをブラウザでコードを読むために活用する

SourceKit LSPをブラウザでコードを読むために活用する by Kishikawa Katsumi | トーク | iOSDC Japan 2020 - fortee.jp

聞き手を意識したちょうどいい話の早さと、上級者でなくてもわかるよう一つ一つ丁寧に順序立てた説明が特に印象に残りました。内容についてもGitHubからXcodeのようなコード補完ができるなど、すぐにでも使いたいと思えるような興味深い発表でした。

オープンソースのAltSwiftUIの発表

オープンソースのAltSwiftUIの発表 by Kevin Wong | トーク | iOSDC Japan 2020 - fortee.jp

iOS11をサポートするために構築されたSwiftUIに触発されたオープンソースフレームワークのセッション。 本当にSwiftUIとよく似たスタイルと構文になっていて、これを利用しておけばSwiftUIへの移行もかなりスムーズにいくんじゃないかと思いました。OSSとして今後普及するのかとても気になる内容でした。

キーワード多すぎ!なエンタープライズiOSの世界を概観する - 2020年版

キーワード多すぎ!なエンタープライズiOSの世界を概観する - 2020年版 by oishi | トーク | iOSDC Japan 2020 - fortee.jp

エンタープライズiOSの仕組みでよく聞くキーワード(Custom App、ADEP、ABM,MAC,MDM,DEP..etc)。 ネットでも何度か調べてみたけど、いまいち理解できていなかったことが、この発表でクリアになりました。それぞれのキーワードがどのようん要件で必要になるのか、具体的なビジネスシーンを例に説明されていて分かりやすかったです。

そろそろCombine

そろそろCombine by shiz | トーク | iOSDC Japan 2020 - fortee.jp

Combineの理解が浅い自分にとっては、Combineの基礎から理解することができるとてもためになる発表でした。

iOS のキーボードと文字入力のすべて

iOS のキーボードと文字入力のすべて by Yoshimasa Niwa | トーク | iOSDC Japan 2020 - fortee.jp

iOSで文字数制限つきのテキストフィールドをちゃんと作るのは難しい。確かに理解していたつもりでしたが、ここまで奥の深いものだとはこの発表を聞くまで気付きませんでした。解決方法についても目から鱗な内容で面白かったです。

iOSアプリ開発のための"The Composable Architecture"がすごく良いので紹介したい

iOSアプリ開発のための"The Composable Architecture"がすごく良いので紹介したい by 今城 善矩 | トーク | iOSDC Japan 2020 - fortee.jp

TCA(The composable Architecture)というアーキテクチャとここで初めて知りました。SwiftUIやCombineを利用した設計向きのようなので、まだ普及するには時間はかかりそうですが、興味深い内容でした。また、Memojiや聞き手を引きつけるエフェクト音やBGMの使い方がうまく、発表の仕方も印象に残りました。



寄稿者:👤山本

今日から分かるAVAudioEngineの全て

今日から分かるAVAudioEngineの全て by meteor | トーク | iOSDC Japan 2020 - fortee.jp

ライブ感がある発表で話題になったこの発表、まるでオンライン講座でも見ているかのような非常に質の高い(音声も含めて)動画で、トップ3にランクインしたことも納得です。私は、AVAudioEngineを全く知りませんでしたが、そのAPIでこんなにも直感的に簡単にオーディオ編集ができることに驚きました。どこかの機会にAVAudioEngineを一度試したくなりました。

発表の中でもおっしゃっていたとおり、AV関連は本当にドキュメントや情報が少ないので、実際の経験を踏まえた知見をこうやって共有してもらえるのはとても助かります。

100人でアプリをリファクタリングして見えてきた、最強のiOSアプリ設計に求められること

100人でアプリをリファクタリングして見えてきた、最強のiOSアプリ設計に求められること by Yuta Koshizawa | トーク | iOSDC Japan 2020 - fortee.jp

オセロアプリを題材に、様々な方がリファクタリングした結果から見えてみたのは、どうやらクリーンアーキテクチャだったようです。それもクリーンアーキテクチャ原本に忠実に沿った内容になっていて、SOLID、特にDIPを活用し、オセロにおけるテスタブルなドメインを抽出し、更にビューをPresenterによって分離していく流れを、具体例を用いて非常にわかりやすく説明してくれており、大変参考になりました。

この発表は、クリーンアーキテクチャがよくわからないという方には、特におすすめで、iOSエンジニアがクリーンアーキテクチャを学ぶのにとても良い教材となるでしょう(そもそもクリーンアーキテクチャに固定のアーキテクチャがないからです)。個人的には、そうそうこれがクリーンアーキテクチャですよね、という納得感が満載で、特に「エンティティ」をいう言葉の曖昧さからその利用を避けている点に強く共感を覚えました。

余談ですが、発表中にご本人から「このあとのスライドに誤りがあります」というコメントがあり、どこが間違っているか、コメント欄がざわついた場面がありました。こういった場面は、今回のiOSDCニコニコ動画+オンラインならではで、オンライン開催のいいところだったなと思います。

スモールビジネスを支えるfreeeのモバイル技術

スモールビジネスを支えるfreeeのモバイル技術 by 椿 | トーク | iOSDC Japan 2020 - fortee.jp

私は、最近Kotlin Multiplatformからモバイルに特化してα版として公開されたKotlin Multiplatform Mobileについて調べており、その可能性を感じていたところだったのでこちらの発表に注目していました。freeeでは、Kotlin Multiplatformをアプリ開発に導入し、主に会計処理に関わるビジネスロジックを少しずつKotlinによって共通化しているそうです。また、小さな関数から少しずつ導入されている点は、とても筋のよい方法だと感じました。先のクリーンアーキテクチャにも繋がりますが、iOS/Androidに依存しないビジネスロジックはそのような小さな関数の集合であるからです。freeeさんの事例のようにビジネスロジックを共通化し、開発コストと特にテストのコストを減らしていく開発方針は、Flutterとは別で今後広がっていく可能性があるでしょう。当アプリの発展に期待するとともに、また知見をぜひ共有してほしいと思う発表内容でした。



寄稿者:👤みしま

GitHub ActionsでiOSアプリをCIする個人的ベストプラクティス

GitHub ActionsでiOSアプリをCIする個人的ベストプラクティス by uhooi | トーク | iOSDC Japan 2020 - fortee.jp

GitHub Actions は使ったことがなかったのでデモしながらの発表はとても参考になりました。

さすがモリアガリトーク賞第一位、スライドは手書き・ユーモア織り交ぜて全く飽きさせずコメントは常に盛り上がりを見せていました。
発表の一つの到達点を見せていただいた心持です。
ミスターiOSDCの今後の活躍に期待せざるを得ません。



寄稿者:👤林

Flutter移行の苦労と、乗り越えた先に得られたもの

Flutter移行の苦労と、乗り越えた先に得られたもの by 桐山圭祐 | トーク | iOSDC Japan 2020 - fortee.jp

使用するメリットやいつか引っかかりそうな点をとてもわかりやすくまとめてくださっていました。

弊社でも新機能のプロトタイプや社内ツールの作成にFlutterを使用しています。 私自身は、まだFlutterを触り出して日が浅く、タブ切り替えで重くなってしまう問題は直近で陥っていたので、とても助かりました。

google/mediapipe で始めるARアプリ開発

google/mediapipe で始めるARアプリ開発 by noppe | トーク | iOSDC Japan 2020 - fortee.jp

mediapipeの基本的な説明から応用した使い方までの紹介でした。 特にARKitと連携して3Dのボタンを押すデモは、スマホのスクリーンをタップするよりもより現実にボタンがある感覚になるので、ARとしてのユーザー体験がかなり向上すると思いました。

mediapipeは去年挑んだのですが、bazelがうまく動かせずスタートでつまづいたので、また挑んでみたい気持ちになりました。 また、弊社では年賀状にARを仕込むのが恒例になっているので、そのアイディアの参考にさせていただこうかと思います。 (サイズが大きくなるので、その辺り様子を見ながらにはなりますが)


まとめ

初のオンライン開催ということで、どこまでイベント参加の雰囲気が感じられるのか、参加前は不安でしたが、実際参加してみるととても良かったです。

ニコ生配信だったので、視聴中のコメントで参加者の盛り上がりを感じられましたし、Discordを使ってスピーカーに質問することもできるツールも整っていました。

また、会場までのアクセスやトラックの移動に時間がかからない分、隙間時間を有意義に使えましたし、疲れた時に気軽に横になれて楽でした。さらにニコニコプレミアムに登録すると後追い再生もできるなど、オンラインだからこそメリットもたくさんありました。

また、SwiftUI登場から一年経ち、新しいアーキテクチャやテスト方法、SwiftUIへの移行をしやすくするための準備など、SwiftUIやCombineを使うことを念頭においた話も多く、大変興味深い内容だったので参加して良かったです。

次はリアル会場かオンラインかわかりませんが、もしオンラインだったとしても絶対に参加したい思います。

PR

ヤプリは技術カンファレンス参加など、エンジニアのキャリア支援を積極的に取り組んでいる会社です。
もし興味が湧いた方は、ラウンジカフェもあるのでお気軽にお越しください。

f:id:yako000:20200930142452j:plain

こちらの記事もご興味ある方はご覧ください。 note.com