Studyplus Engineering Blog

スタディプラスの開発者が発信するブログ

DroidKaigi 2019参加報告

こんにちは。 Studyplus Androidチームの中島、若宮(id:D_R_1009)です。

2月上旬のこととなりますが、我々AndroidチームもDroidKaigiに参加してきました! 本日は、今年のDroidKaigi参加の経緯から、それぞれが注目しているセッションについてまとめておきたいと思います。

DroidKaigi 2019にスポンサード!

スタディプラスはDroidKaigi 2019にスポンサードしました!

droidkaigi.jp

SUPPORTERSの左上から2番目に見慣れたロゴが見えます。 会場で気づかれた方もいらっしゃるのではないかと!

今年もスタディプラスはAndroidに注目していきます!

注目したセッション

R8、Proguard徹底比較

droidkaigi.jp

satoshun.github.io

昨年度のなんとなく動いているProGuardから脱出するためにに続き、今年も最適化・難読化の話! 毎日の業務や開発の中では知ることのできない、しかし重要な項目について理解を深められる。DroidKaigiは本当にありがたいなと感じます。

R8やD8については、急にAndroidStudio3系になったら登場した印象があります。おそらく、ブログを読み飛ばしてしまっているのですが……。 そのためR8が「なにをやっているのか」と「なにがProguardよりすごいのか」を知ることができるこのセッションは、非常に素晴らしいものだったと感じています。

Studyplus-AndroidアプリはAndroidStudio 3.3.1でのビルドに移行しているため、開発が安定してきたタイミングでR8に移行する予定です。 ProguardとR8の両方を一度テストし、実際の圧縮率などを調べられればなと思っています。

All About Test of Flutter

droidkaigi.jp

Flutter Meetup Tokyoでも数回登壇(飛び込み登壇?)されている、Flutterにおけるテストについて。 Studyplusでは、新規事業にてFlutterを採用していることもあり、強い関心を持っての参加となりました。

公開資料だけでそのままテストが始められる! という点に関心が引っ張られますが、個人的には「自動テストのコストとベネフィット」が非常に勉強になりました。 ユニットテストとUIテストの議論になると、大抵の場合「UIテストはコストが高いから」の一言でまとめられてしまいます。「人がテストし続ける積算コストと、自動テストの積算コストがどのタイミングで逆転するか」という観点から整理するのは、Flutterという軽量なGUIプラットフォームには非常に有用だなと感じました。

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

droidkaigi.jp

shiraji.hatenablog.com

AndroidStudioについて、知ってると便利な実践的なものから場を和ませるファンシー(?)なものまで、多種多様なTipsを紹介するセッションでした。 紹介内容自体の濃さもさることながら、開始2~3分でスライドを終わらせてからの「Mac見ずに俺を見ろ」宣言にはいい意味で驚かされました。 紹介される数々の便利なTips、特にオリジナルポップアップメニューの作成コード内のStringに対するJSONやYAMLのサポートなどは、もう見た瞬間設定したい欲に駆られてしまいました。 なお、常時「おぉ〜…」と感嘆の声が響き渡る空間でしたが、会場が一番湧いた瞬間はAndroidStudioが喋った瞬間でしょう。

WebView+ViewGroupを実現するAOSPメールアプリの内部実装とニュースアプリへの応用

droidkaigi.jp

言葉にすると簡単(?)に見えても、実際に実装しようとするとどうすればいいかわからない仕様って多いと思います。 WebViewの上or/and下にネイティブのViewGroupを表示し、その配置のまま一緒にスクロールさせる。 これを見た瞬間、まず試してみようと思うのはScrollView内にLinearLayoutで ViewGroup WebView ViewGroup を順に配置する実装でしょうか。 しかしそれではうまくいかない、上記の仕様を実現するにはこれだけの試行錯誤をしたんだと、苦労の大きさと発想力の豊かさを感じさせるセッションでした。 AOSPのソースコードは知見の塊……染み入る言葉だと思います。

技術顧問 : kobakeiさんによるセッション

kobakei.hatenadiary.jp

昨年の暮れごろより技術顧問をしていただいているkobakeiさんが登壇されました! もちろん弊社2名ともにセッションを聴講いたしました。

DIといえばもはや定番とも言えるDagger2に加え、最近頭角を現しているKoinについても言及されている素晴らしいセッションだったと感じました。

Studyplus Androidは未だDIを導入できていないのですが、今年中に対応したい項目となっています。 導入の際には資料とkobakeiさんのアドバイスを元に、着実に進めていく予定です!

来年に向けて

今年は中島、若宮の両名がDroidKaigi 2019 official Android appに貢献できました! DroidKaigiアプリは、その年に注目されている新技術が詰まったおもちゃ箱のようなアプリだと感じています。 普段利用していないアーキテクチャやライブラリについて触れる機会であり、社外の皆様と協力できることは大きな刺激となりました。 この活動については、来年以降もぜひ継続していきたいと考えています。

一方で反省点としては、DroidKaigiへのCfPが1本しか出せなかったことがあります。 Android Reject Conference 2019にて、FiNCさんでは社内でCfPのレビュー大会を開いていると聞きました。 来年はStudyplus Androidチーム(+α)一丸となって、登壇を狙っていきたいと思います! ※もちろん、登壇できるだけの品質やチャレンジに取り組んでいきます!

一緒に大きなチャレンジをしていきたい方がいらっしゃいましたら、ぜひこちらからお声がけください!