ryu's blog

日々の出来事や開発のアウトプットの場

DroidKaigi2019に参加してきました!(1日目)

Android開発者に向けた日本最大級のカンファレンスであるDroidKaigi2019に参加してきました! DroidKaigiは毎年開催されているのですが、今回が初めての参加でした。

受付すると、自分のプロフィール画像と名前が書かれているプレートと色々と資料の入っているDroidKaigiのトートバッグをいただきました。

Welcome talk

まずはWelcome talkです!資料を下記に載せておきます。

speakerdeck.com

オーガナイザーである@mhidakaさんからDroidKaigiの開催の言葉やDroidKaigiに関する話を聴きました。 参加者が1000人以上でチケットのキャンセル待ちも150人以上いたということで早めにチケットを申し込んでおいて良かったなと思いました。今回の行われるセッションはすべて後日に動画として公開されるということで、行けなかった人も、参加したけれどもう一度話を聴き直したい人にも良いなと思う配慮でした。運営スタッフの皆さんありがとうございます!(^^)

 また、カンファレンスアプリについても紹介があり、アプリのオーガナイザーである@takahiromさんが中心となって作成されたアプリです。自分もこのアプリにコントリビュート(めちゃくちゃ簡単なIssueですが…)させていただきました。ありががとうございます。コントリビューターの人のアイコン画像を並べたスライドがあり、多くの方がこのアプリの開発に参加したことがわかりました。

参加したセッション

DroidKaigi2019の参加したセッションについて、資料だったり感想だったりを書き連ねていきたいと思います。基本的に、自分の見たセッションのメモみたいな感じで書いていこうと思います。

マルチモジュールなプロジェクトでテストはどう変わる?

speakerdeck.com

 Welcome talkのあとすぐに第1回目のセッションでマルチモジュールに関するお話を聴きました。DeNAのSWETチームに所属されているNozomi Takumaさんが発表してくださいました。マルチモジュールはどういったものか、マルチモジュールを導入するときのポイントをDI、テスト方針、メトリクス収集という3つのポイントで説明してくれました。自分はマルチモジュールを扱ったことがないので、今後の参考にしたいと思います。

Unit test for ViewModel and LiveData

speakerdeck.com

 2つ目のセッションとして@hkusu_さんのViewModelとLiveDataのUnit testに関するお話を聴きました。ViewModelやLiveDataを用いたアプリのテストを書くときに参考となるような情報がたくさん紹介されていました。ソースコードで具体的な説明が多く、自分も今後参考にしたいと思います。

マテリアルデザインの起源とベースとなる哲学

speakerdeck.com

 3つ目のセッションとして@SataKentaroさんのマテリアルデザインに関するお話を聴きました。マテリアルデザインは今現在、アプリなどのデザインでは無視することができない指標となっています。そのマテリアルデザインがどのようにしてなぜ生まれたのか、デザインの歴史を振り返りながら詳しく説明をしてくれました。またマテリアルデザインの歴史などを踏まえて、今後どのようにマテリアルデザインと付き合っていけば良いのかといった内容でした。自分の今までの視点と違う視点からマテリアルデザインについて考えることができました。

Master of Android Theme

speakerdeck.com

 次のセッションは@konifarさんのAndroid Themeに関するお話を聴きました。英語での発表のセッションでしたが、英語が苦手な自分でも聴き取れるようなゆっくりな発表でした。Android Themeはいままで何となくアプリの開発で扱っていましたが、Androidアプリのどういった部分がどのカラーやスタイルを決めているのか詳しく知ることができました。また後日見直してAndroidアプリの開発に役立てたいなと強く思いました。 konifarさんが作ったサンプルのアプリやコードもあるので掲載しておきます。

github.com

Attributes reference list

Chrome Custom Tabsの仕組みから学ぶプロセス間通信

www.slideshare.net

 次のセッションでは大前良介さんによるChrome Custom Tabsの仕組みのお話を聴きました。Chrome Custom Tabsは多くの方が利用したことのある機能だと思いますが、その仕組を細かく紹介してくれました。その中で、実際にCustomTabs対応ブラウザを実装するといった内容でお話してくれたのですが、プロセス通信の話や実装に関する説明がとても分かり易く面白いお話でした。Chrome Custom Tabsの仕組みを知りたい人は是非見ていただきたい内容です。

Understanding Kotlin Coroutines: コルーチンで進化するアプリケーション開発

speakerdeck.com

 次のセッションでは、オーガナイザーである@mhidakaさんのKotlin Coroutinesに関するお話を聴きました。自分はまだKotlin Coroutinesを使用したことがなかったのですが、Coroutinesがまずどういったものなのか、どのようにして使用するのかといった初歩的な内容からわかり易く説明をしてくれました。Kotlin Coroutinesは開発する上で重要なライブラリになると思うので、しっかりと今回のセッション資料を見直して復習をしていきたいです。あと、スライド途中の羊のキャラクターがとても可愛かったです(^^)

クロスプラットフォームモバイルアプリ開発ツール総ざらい2019 〜Titanium MobileからKotlin/Nativeまで〜

speakerdeck.com

 最後のセッションとしてお話をお聴きしたのが@amay077さんによるモバイルアプリのクロスプラットフォームについてのお話です。クロスプラットフォームの紹介やそれぞれにどのようなメリットやデメリットがあるのか、実際に触ってみての印象を話してくれました。自分はクロスプラットフォームではFlutterを少し触ったことがあります。それ以外ではReactNativeやXamarin、Kotlin/Nativeは聞いたことあったのですが、それ以外の自分の知らないクロスプラットフォームのお話があり、面白かったです。それぞれの描画方式やネイティブの APIとどのような関係を持っているかなど詳しい内容を話してくれました。ガワネイティブの話もしてくれました。

まとめ

 DroidKaigi2019全体に関するまとめは2日目の記事で書こうと思います。DroidKaigiの1日目は今回DroidKaigi自体に初参加ということで、どんなカンファレンスなのか若干ながら緊張をしつつ参加しました。しかし、1日目だけの参加だったとしても、わざわざ東京に来てこのカンファレンスに参加して本当に良かったと思わせてくれるカンファレンスでした。出来るだけ早く2日目の記事を投稿したいと思います!

 p.s. 2日目の記事投稿しました!

www.ryu236.com