Help us understand the problem. What is going on with this article?

DroidKaigi 2019 2日目レポート

More than 1 year has passed since last update.

全体

公式サイト

https://droidkaigi.jp/2019/

スライドまとめ

セッションで使われたスライドのまとめです(非公式)。

1日目(2月7日)
https://qiita.com/sacred-sanctuary/items/ec43f811193e7ec19399

2日目(2月8日)
https://qiita.com/sacred-sanctuary/items/f06accea3a879d006f18

動画

一部のセッションは動画が公開されています。

https://www.youtube.com/channel/UCgK6L-PKx2OZBuhrQ6mmQZw

雑感

1セッションが基本的に30分(まれに50分)と短く、密度の高い情報が受け取れます。

基本的にセッション内で質疑応答を受ける時間はありません。終了後にオフィスアワー(質問時間)が用意されているため、そこでより知識を深められます。セッションを聞いて核となる情報を受け取り、自分で実装して試すことを求められる雰囲気です。

会場ではお弁当やおやつ、飲み物を無料で受け取れるため、会場での時間を有効に過ごせます。会場(ベルサール新宿グランド)はオフィス街のため、昼食の心配が必要ないことは助かります。

展示ブースではAndroidの他にもIoTに近い分野の内容もあり、また1つ1つのブースで詳しい話を聞けたので、じっくり見て回る時間も確保しておくべきだったと感じました。

ここからは2日目(2月8日)に参加したセッションの感想です。

セッションごとの感想

Spek2+MockK+JaCoCoでイケてる Unit Test環境を手に入れろ!

2017年にAndoroid開発言語でKotlinがサポートされてから1年半経ちました。プロダクションコードをKotlinで実装しても、テストコードは変わらずにJUnitやMockitoを使っている...というプロジェクト向けに、Kotlinをサポートしたライブラリを導入し、テスト環境をアップデートするための勘所を紹介するセッションです。各種ライブラリの概要や導入方法、既存のライブラリとの違いなど、始めるにあたってまず知りたいことが一通り学べました。

SpekでUnitTestを書こう

テストコードのうち、Spekに焦点を合わせたセッションです。JUnitでのテストコードで起こりがちだった問題点(テストのカテゴライズが難しい、実行順が固定されない など)がSpekだとどのように解消できるかを学びます。TODO管理を題材に、実際のコードを見ながら説明されたので、自信を持って取り組めそうでした。

ああ、素晴らしきTDD

ライブコーディングを交えながら、TDDのフェーズ(Red/Green/Refactor)やルールを学ぶセッションです。TDDのルールは知っていたものの、ここまで厳密な適用例は初めて見ました。「より良いアプリを提供する」という目標を達成するための道のりがわかりやすく、ただルールに沿うだけのTDDを見直す機会になると感じました。

また、Androidアプリ開発にTDDを導入する際に障害となりやすい部分のTIPSも資料に含まれるので、セッションが終わってからも実践しながら学べる内容です。

The best practice for Android Text

資料は英語ですが、話の内容は日本語でした。

「文字列が遅い」という一見信じがたいフレーズから、文字列を描画する時に何が起きているのか、何が遅くなっているのかを丁寧に読み解きました。セッション冒頭では「まさか文字列が遅いなんて…」と半信半疑だったものが、セッション後には遅くなる原因とその対処方法も学べたためとても興味深かったです。

ゼロから実装する縦書きTextViewとその周辺技術

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

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

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

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

依存性の注入(Dependency Injection : DI)の仕組みを踏まえつつ、Android特有の事情(ライフサイクルなど)も考慮して実装する方法を学ぶセッションです。各種ライブラリ(Dagger2やKoin)の使い方にとどまらず、なぜそれが必要なのか、DIすると何が便利なのかを含めてより深く理解できました。

zer0_u
casareal
システム開発/評価・検証支援/品質改善支援サービスと現場に即した実践的なIT研修サービスを提供しています。
https://www.casareal.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away