Ryu's blog

アウトプットしていきたい

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

DroidKaigi2019(1日目)の記事の続きでDroidKaigi2019(2日目)の記事です。

参加したセッション

1日目の記事と同じように、参加したセッションの資料や感想などを書き連ねていきます。

Not Just Rotation: Configuration Changes on Android

 Androidにおける画面のローテーションやマルチウインドウ、Picture-in-PictureなどのConfigurationに関するデータ・画面保持や設定に関するお話を聴きました。Configurationが変化するときにどのような設定を行い、対応していくのかといった話を聴けました。onSaveInstanceやViewModelなどのメリット・デメリットを踏まえた上でどのように使っていくのか、特にPicture-in-Pictureに関して、自分はこの機能を実装したことがなかったのですがどのような設定を行うことでPicture-in-Pictureの状態を保持するのかといった話はなるほどと思わせてくれた発表でした。(スライド資料がないのが残念です…。もしあったら欲しい)

Guide to app architectureを踏まえた既存アプリの設計改良

speakerdeck.com

 次のセッションでは、@chickmuuuさんのお話を聴きました。アプリの設計に関して、AndroidDevelopersに掲載されているGuide to app architectureを元に、記述されている設計に関しての紹介や既存アプリの設計改良のお話をしてくださいました。サイトにかかれている設計を元に実際に開発されているプロダクトの設計の課題をどのように解決していくのかという話がなるほど!と思う点がいくつもありました。Guide to app architectureの内容をちゃんと読めていなかったので、今回を機にしっかりと確認・勉強をしたいと思いました。

Deep dive into MotionLayout

www.slideshare.net

 次のセッションとして、@thagikuraさんと@camaelonさん、@johnhofordさんによるConstraintLayout2.0で提供されているAndroidのアニメーション機能のMotionLayoutに関するお話を聴きました。この発表ではConstraintLayoutで提供しているMotionLayoutの紹介やどのような設定を行うことでどのような動きを持つアニメーションをアプリに実現できるのか、ソースコードを交えながら詳しく話してくれました。動画付きの説明でとてもわかり易く、アプリのアニメーションとしてすぐにでも実装してみたいと思わせてくれるプレゼンでした。今回の資料は再度確認したいと思います。 また、ConstraintLayout2.0 alpha4の提供する機能でRecyclerView+MotionLayoutの機能提供があるという話があり、RecyclerViewにMotionLayoutを組み合わせられればアプリのアニメーションの幅が増えるなと思い、とても楽しみにしています。 MotionLayoutの詳細としてMediumに書かれた記事があるみたいなので、こちらも目を通しておきたいなと思います。

Introduction to MotionLayout (part I) – Google Developers – Medium

Introduction to MotionLayout (part II) – Google Developers – Medium

Introduction to MotionLayout (part III) – Google Developers – Medium

Defining motion paths in MotionLayout – Google Developers – Medium

 ConstraintLayoutのサンプルコード github.com

Android Studio設定見直してみませんか?

shiraji.hatenablog.com

 AndroidStudioの設定に関するセッションとして@shirajiさんのお話を聴きました。セッションはみんなで「おー!」と反応をしながら話を聴くという楽しさがありつつ、AndroidStudioの設定を色々とお話してくれました。実際に話してくれた内容はブログの記事で詳細にかかれているのでそちらを見ればわかり易く書かれています。自分の知らないAndroidStudioの設定しかなく、かゆいところに手が届かないと思えるような設定が沢山ありました。これから自分のAndroidStudioの設定を早速見直して、開発の速度や快適さを手に入れたいと思います。

今日から始める依存性の注入

speakerdeck.com

 次のセッションでは@kobakeiさんによる依存注入に関するお話を聴きました。主に、Dependency Injection(DI)のライブラリであるDagger2とKoinに関する話を中心にDIとは何か?から始まり、DIライブラリの導入の仕方、DIを導入してからのテストなどの話をソースコードを交えながら説明してくれました。自分はDIライブラリのDagger2やKoinなどを聞いた事はありましたが、使用したことがなかったのでこれらの資料を参考に今後使用してみたいなと思いました。DIは難しそうだなぁという印象があったので、ざっくりとでもどういったものなのか、どのようにして使用するのか、などのお話が聴けて良かったです。

Androidにおけるパフォーマンスチューニング実践

speakerdeck.com

 次に@neonankitiさんのAndroidのパフォーマンスチューニング方法のお話を聴きました。AndroidアプリのUI、データ通信、バッテリーの3つのポイントを軸に話してくれました。Androidアプリのパフォーマンスを上げるために、まずどういった動きでAndroidがUI、データ通信、バッテリーに関して問題があるのか、どのように動作をしているのか、そこからどのような改善を行えば良いのかという事を順序立ててお話してくれたのでとてもわかり易く、自分でも今すぐアプリのパフォーマンスを向上させれそうだなと思えるようなお話でした。また、アプリのパフォーマンスを確認するツールなどの紹介があり、今後そのツールを実際に使っていきたいと思います。

Navigation Architecture Component によるアプリ内遷移の管理

speakerdeck.com

 次のセッションでは、@yt_hiziさんによるNavigation Architecture Componentのお話を聴きました。Navigation Architecture Componentはどういうものなのかという話から、実装するときどのようなコードを書くのかソースコードを交えながら丁寧にお話してくれました。自分はNavigation Architecture Componentを使用したことがなく、概要ぐらいしか知らなかったのですが実際のコードを見ながら話を聴くと、画面遷移をNavigation Architectureを使用して実装すると色々なメリットがありつつ、実装が分かりやすいものになることが分かりました。Navigation Editerを使うことで画面遷移が簡単に実装できるところなどはとても良いなと思いました。一度、画面遷移のコードを実装してみて感触を確かめてみたいなと思います。

ああ、素晴らしきTDD ~アプリとエンジニアの心に安寧を~

www.slideshare.net

 次に@saekisaekisaekiさんによるTDDに関するお話を聴きました。TDD(テスト駆動開発)は名前だけ聞いたことがあるぐらいで実際にどういったものかというのは全く知りませんでした。しかし、このセッションではライブコーディングをしながら、TDDとはどのような開発手法なのか丁寧にわかり易くお話してくれました。簡単に言うと、テストを軸にサービスやアプリを開発していく手法ですがどのようなメリット・デメリットがあるのか、TDDで開発していく上での疑問や懸念点をあげながら詳細にお話してくれました。TDDを活用しての開発を一度身をもって体験してみたいなと思いました。機会や時間があれば自分で試してみたいなと思います。

Android アプリ開発における、デザイナーとエンジニアのワークフロー

 DroidKaigi2019の最後のセッションとして、@taquoさんによるマテリアルデザインのお話を聴きました。マテリアルデザインに関してどのように開発をエンジニアとデザイナーでそれぞれ行っていけば良いのか、開発ツールやそのフローについて詳しくお話してくれました。マテリアルデザインを元にそれぞれアプリのデザインを決めていくというのは今後大事になっていくと思うのですが、その中でどうやってアプリごとの差別化を行っていくのか、という点でMaterial Themingを用いてアプリごとの個性を出すというのが面白く、考えられているなと思いました。Googleのアプリも指標となっているマテリアルデザインを元にGoogleの個性を持つデザインをしているというのは良い話だなと思いました。 また、最後にお話されていたマテリアルデザインで日本のマテリアルデザインを作るといったお話は面白いなと思いました。

その他

 DroidKaigiにはセッション以外にも展示ブースやランチ提供など様々なサービスがありました。展示ブースにはスポンサーとなっている企業がそれぞれブースを設置して、事業の紹介だったり、ノベルティーやステッカーを配ったりしていました。自分も色々なステッカーを頂いてきました。DroidKaigiのステッカーやLINEさんが配っていたステッカーが可愛かったので貰えて嬉しかったです。

 また、展示ブースにバリスタの方が入れてくれるコーヒーがとても美味しくて最高でした!

まとめ

 今回DroidKaigiに初めて参加しましたがとても楽しく、充実した時間を過ごすことができました。Androidの開発に関してまだ知らないことばかりでしたが、セッションは全体的に楽しく面白くお話を聴くことができました。今回のセッションの資料を何回も見直して自分の技術として吸収したいと思います。DroidKaigiの運営スタッフの皆様、本当にありがとうございました!  DroidKaigiに来れなかった人やもう一度セッションを見たい人の為に、今回のDroidKaigiの全セッションが録画されていて、もう動画も見れる状態なので動画みたい人は下記のリンクからYoutubeチャンネルに移動できるので確認してみてください。

www.youtube.com