イベントセミナー 受付終了

Droidkaigi 2019 参加レポート

Androidカンファレンス「DroidKaigi 2019」に参加させていただきました!

2月7日(木)~8日(金)に開催されたAndroidカンファレンス「DroidKaigi 2019」に、カサレアルで講師を務める直井・平塚が参加いたしました。
本レポートでは、各セッションでキャッチアップした最新の事例やトピックを、直井・平塚の所感を交えながらご紹介します。
またご紹介しきれないセッションは、カサレアル技術ブログでご紹介していますので、ぜひあわせてご一読ださい!

DroidKaigiとは?公式HPより抜粋)
Android技術情報の共有とコミュニケーションを目的に、2日間に亘って開催される、エンジニアが主役のAndroidカンファレンスです。

日程詳細

  • 開催日程
    2019年2月7日 ~ 2019年2月8日
  • 時間
    10時00分~19時00分 <受付開始:9時20分>
  • 会場
    ベルサール新宿グランド

実施報告

直井・平塚が参加したセッションから、いくつかをピックアップしてご紹介いたします。

日高 正博氏 ウェルカムトーク 資料
Nozomi Takuma氏 マルチモジュールなプロジェクトでテストはどう変わる? 資料
外山純生氏 EspressoのテストをAndroidの最新トレンドに対応させよう 資料
Johannes氏 The good and bad of modern app architecture 現在、資料の公開はありません
nakamuuu氏 Guide to app architectureを踏まえた既存アプリの設計改良 資料
mrtry氏 React NativeとExpoを用いたクロスプラットフォーム開発入門 資料
六々氏 ゼロから実装する縦書きTextViewとその周辺技術 資料

ウェルカムトーク(日高 正博氏)

はじめに、DroidKaigiを主宰されている日高 正博氏によるウェルカムトークがあり、カンファレンスの概要や、スポンサーからのメッセージを紹介されておりました。
「今年もAndroidを楽しみ尽くしましょう」といったメッセージや、カンファレンスを盛り上げるためのコントリビューターの奔走エピソードを聞き、会場が高揚感であふれました。

**本セッションの資料はこちら

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

■ セッション内容
・マルチモジュールについての概要やメリット
・マルチモジュールならではマルチモジュールのテストで変わるポイント
・マルチモジュールでのテストの方針
・モジュールを跨いだテストについて
・PITというテストツールの紹介

■ 講師所感
テストの自動化を考えるのであれば、やはりアプリのコード自体もテストがしやすい(テスタビリティの高い)作りにしておかなければ、のちのち苦労することがよくわかりました。
また、モジュール単位やレイヤー毎にテストを完結させることの重要性もよく理解できました。

**本セッションの資料はこちら

EspressoのテストをAndroidの最新トレンドに対応させよう(外山純生氏)

■ セッション内容
・テストの自動化で必要となるEspressoのテストコードをAndroid.xパッケージに対応させる方法
・実装の手順をライブコーディングで説明
・非同期処理を待ち合わせるときの注意点
・JDK 1.8とそうでない場合の実装の違いについて

■ 講師所感
細かくライブコーディングが織り交ぜており、テストコードを最新トレンドに対応する方法を習得できました。
非同期処理の待ち合わせなどの注意点があり、多くのアプリの参考になると思います。

**本セッションの資料はこちら

The good and bad of modern app architecture(Johannes氏)

■ セッション内容
・ユニクロのAndroidアプリを題材に、社内のアプリのアーキテクチャを変更したときの説明
・MVVMをベースとしたクリーンアーキテクチャで設計する際、Interfaceを定義するポイントについて
・事業毎にアプリを開発するのではなく、各事業で共通で利用できるような設計
・iOSとAndroidで再利用可能なアーキテクチャが可能になることについて

■ 講師所感
様々な事業展開をおこなっている企業や大きなアプリを開発する際、作業分担ができるようになるので有用な情報だと感じました。
しかし、小さなアプリに適用すると、負担が大きくなりそうなイメージです。
発表でも触れていましたが、新規でこのクリーンアーキテクチャのアプリ開発に参画するには教育コストがかかるのは仕方がないという印象でした。

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

■ セッション内容
・古き良き時代につくられた既存アプリの設計を直す。とくにFat Activityを解消させることを目的とした説明
 -Viewの処理が長い
 -Activity(画面)の回転対応が酷い  -Viewのテストがない など ・Android Developerのアプリのアーキテクチャガイドをもとに、今どきの設計に修正する

■ 講師所感
このセッションを通じ、ViewModelの有用性に関する理解が深まりました。
これまで古い設計などでできているアプリの開発に携わっていた方にとっては、ベストなセッションだと感じました。
しかし、発表者が最後の方にいずれViewModelがFatになるのではと懸念事項を口にしており、それについては私も大いに同意できるところです。
今後の開発の課題になるかもしれませんね。

**本セッションの資料はこちら

React NativeとExpoを用いたクロスプラットフォーム開発入門(mrtry氏)

■ セッション内容
・クロスプラットフォーム開発ツールとは
・React Native、Expoについて
・React NativeとExpoで開発する利点/欠点
・React NativeとExpoの採用が適しているアプリ

■ 講師所感
AndroidとiOSでは、実行環境の違いから別々に実装する必要がありました。
ここを共通化し、同じコードで2つのアプリが実行できるようにしたのがReact Nativeです。React Nativeの欠点をExpoで埋めつつ、効率よくアプリを開発するための方法を学びました。
概要だけでなく、React Native+Expoが向いているアプリも知れたため、学んだことがすぐに役立てられそうでした。

**本セッションの資料はこちら

ゼロから実装する縦書きTextViewとその周辺技術(六々氏)

■ セッション内容
・クロスプラットフォーム開発ツールとは
・React Native、Expoについて
・React NativeとExpoで開発する利点/欠点
・React NativeとExpoの採用が適しているアプリ

■ 講師所感
文字列関連では、こちらの「縦書き文字列」が表示・編集できるTextViewのセッションでも詳しい実装が学べます。
単純に「文字列を表示する」だけでも、多くの要素(文字コード・フォント・IME)にまたがる知識が求められることがわかり、それらの要素を段階的に理解するセッションでした。
何気なく使っているTextViewを掘り下げて考える良い機会となりました。

**本セッションの資料はこちら

セッション以外のお楽しみ

当日は、各スポンサーが趣向を凝らしたブースや、見た目にも美味しい華やかな食事が用意されており、セッション以外にもたくさんの楽しみがありました。

カサレアル講師も、コードラボでAndroid Thingsを初使用したり、LANケーブル作りを体験したりと、楽しませていただきました。作成したLANケーブルは、オープン研修で活用させていただきます!

お楽しみいただけたでしょうか?これにて、レポートを終了します。 来年は、カサレアル講師がスピーカーとして登壇できることを目指し、これからも日々最新技術をキャッチしてまいります!

■ Android関連のカサレアルコースはこちら
JavaAndroidのためのJavaプログラミングテクニック
JavaによるAndroidアプリ開発入門
JavaによるAndroidアプリ開発 -WebAPI、非同期処理、サービス-
KotlinJavaエンジニアのためのKotlin入門 
KotlinによるAndroidアプリ開発入門
KotlinによるAndroidアプリ開発応用