こんにちは、Androidエンジニアしている吉田です。 2019/02/18(月)に弊オフィスで開催されたCookpad.apk#2の様子についてご紹介します。前回の様子については 下記のエントリを御覧ください。
今回は弊社のエンジニア6名が発表致しました。本ブログを通して当日の様子をご来場いただけなかったみなさまにもお届けしたいと思います。
児山 千尋 「Androidアプリエンジニアの基礎知識」
はじめはモバイル基盤部のこやまカニ大好きからAndroidアプリエンジニアが知っていて欲しい基礎知識についての発表がありました。 Androidアプリエンジニアの知識とはFragmentのライフサイクルを正確に理解しているか?といった開発に直接関わる所だけに限らず、
- Androidそのものに関する知識
- Androidアプリの実装する上で必要な知識
- ビジネス的な判断をサポートできる知識
の3つの観点からAndroidエンジニア全員に知っていてほしい知識が詰め込まれた内容が紹介されました。
篠原 弘光「Android Things Overview」
二人目はクックパッドマートのshanonからAndroid Thingsについての発表がありました。 Android Thingsといえばつい最近衝撃的なニュースで話題になりましたが、詳細についてはご自身の目でスライドをお確かめください。
柴原 直也「cookpadTV のモジュール構成について」
三人目はcookpadTVのFireTV/AndroidTVアプリを担当する梨原からモジュール構成について発表がありました。 モダンなAndroidアプリではマルチモジュールが当たり前になりつつありますが、その目的は様々です。cookpadTVでは様々なプラットフォーム対応しつつ高速に開発する手段としてマルチモジュールが採用されました。こちらも詳細は資料をご参照ください。
加藤 恭平「Espresso Driver を用いた Appium テストとその仕組み」
四人目は技術部品質向上グループの加藤からテスト周りの技術であるEspresso DriverとAppiumの紹介がありました。 Appiumは人気の高いモバイルアプリケーション向けのE2Eテストフレームワークです。以前はUIAutomatorと組み合わせて使うことが一般的でしたが、内部状態に干渉できないため通信が終わるまでsleepを入れるなどのノウハウが必要でした。Espresso Driverが登場したことでContextにアクセスできるなどより高度な操作が可能になりました。
安部 建二「Dynamic feature moduleの基本」
五人目はKenji AbeからDynamic feature moduleについて発表がありました。 Dynamic feature moduleはアプリの機能の分割することでアプリ本体を小さく提供し、ユーザーが必要となったタイミングで各機能の実装を配信する仕組みです。本スライドでは実際にDynamic feature moduleをアプリに組み込んだ際のプラクティスや課題点が詳しく書かれています。
宇津 宏一「Kotlin Multiplatform Libraryのあれこれ」
最後は決算基盤グループのuzzuからKotlin Multiplatform Libraryについて発表がありました。 Kotlinにはマルチプラットフォーム構想がありJVMやAndroid環境以外でも動作する環境が提供されています。kotlinベースの複数環境を想定したプロジェクトを通称MPP(Multi Platform Project)と呼びます。クックパッドでは一部機能において「まずはAndroid向けのライブラリを開発できる事」をターゲットにMPPを利用し始めており、本スライドではMPP対応ライブラリを作るためのTipsや通常のAndroidプロジェクトからの利用にどう対処するのかなどコアな内容が紹介されています。
おわりに
ここ数年でAndroid開発は比較的安定した時期に入ったのかなと言う印象でしたが、今回のcookpad.apkではかなり尖った内容が多かったと思います。私達も試行錯誤を繰り返している最中で課題も多くありますが、スライドだけでは十分に伝わらなかった部分を議論したい、クックパッドの技術に興味を持ったという方がいらっしゃればぜひ弊社に遊びに来てください。
またクックパッドではAndroidエンジニアを随時募集しています。ご興味を持って頂けた方のご応募をお待ちしています。