全体
公式サイト
スライドまとめ
セッションで使われたスライドのまとめです(非公式)。
1日目(2月7日)
https://qiita.com/sacred-sanctuary/items/ec43f811193e7ec19399
2日目(2月8日)
https://qiita.com/sacred-sanctuary/items/f06accea3a879d006f18
動画
一部のセッションは動画が公開されています。
雑感
1セッションが基本的に30分(まれに50分)と短く、密度の高い情報が受け取れます。
基本的にセッション内で質疑応答を受ける時間はありません。終了後にオフィスアワー(質問時間)が用意されているため、そこでより知識を深められます。セッションを聞いて核となる情報を受け取り、自分で実装して試すことを求められる雰囲気です。
会場ではお弁当やおやつ、飲み物を無料で受け取れるため、会場での時間を有効に過ごせます。会場(ベルサール新宿グランド)はオフィス街のため、昼食の心配が必要ないことは助かります。
展示ブースではAndroidの他にもIoTに近い分野の内容もあり、また1つ1つのブースで詳しい話を聞けたので、じっくり見て回る時間も確保しておくべきだったと感じました。
ここからは2日目(2月8日)に参加したセッションの感想です。
セッションごとの感想
Spek2+MockK+JaCoCoでイケてる Unit Test環境を手に入れろ!
- 11:20 - 11:50 / Room 1
- https://speakerdeck.com/subroh0508/spek2-plus-mockk-plus-jacocodeiketeru-unit-testhuan-jing-woshou-niru-rero
2017年にAndoroid開発言語でKotlinがサポートされてから1年半経ちました。プロダクションコードをKotlinで実装しても、テストコードは変わらずにJUnitやMockitoを使っている...というプロジェクト向けに、Kotlinをサポートしたライブラリを導入し、テスト環境をアップデートするための勘所を紹介するセッションです。各種ライブラリの概要や導入方法、既存のライブラリとの違いなど、始めるにあたってまず知りたいことが一通り学べました。
SpekでUnitTestを書こう
- 14:00 - 14:30 / Room 2
- https://speakerdeck.com/moriiimo/unit-test-with-spek
テストコードのうち、Spekに焦点を合わせたセッションです。JUnitでのテストコードで起こりがちだった問題点(テストのカテゴライズが難しい、実行順が固定されない など)がSpekだとどのように解消できるかを学びます。TODO管理を題材に、実際のコードを見ながら説明されたので、自信を持って取り組めそうでした。
ああ、素晴らしきTDD
- 17:40 - 18:10 / Room 3
- https://www.slideshare.net/SaikiIijima/tdd-130994383
ライブコーディングを交えながら、TDDのフェーズ(Red/Green/Refactor)やルールを学ぶセッションです。TDDのルールは知っていたものの、ここまで厳密な適用例は初めて見ました。「より良いアプリを提供する」という目標を達成するための道のりがわかりやすく、ただルールに沿うだけのTDDを見直す機会になると感じました。
また、Androidアプリ開発にTDDを導入する際に障害となりやすい部分のTIPSも資料に含まれるので、セッションが終わってからも実践しながら学べる内容です。
The best practice for Android Text
- 12:50 - 13:40 / Room 3
- https://speakerdeck.com/nonanona/droidkaigi-2019-the-best-practice-for-android-text
資料は英語ですが、話の内容は日本語でした。
「文字列が遅い」という一見信じがたいフレーズから、文字列を描画する時に何が起きているのか、何が遅くなっているのかを丁寧に読み解きました。セッション冒頭では「まさか文字列が遅いなんて…」と半信半疑だったものが、セッション後には遅くなる原因とその対処方法も学べたためとても興味深かったです。
ゼロから実装する縦書きTextViewとその周辺技術
- 15:40 - 16:30 / Room 6
- https://speakerdeck.com/cc4966/vertical-textview-from-scratch-and-related-technologies
文字列関連では、こちらの「縦書き文字列」が表示・編集できるTextViewのセッションでも詳しい実装が学べます。単純に「文字列を表示する」だけでも、多くの要素(文字コード・フォント・IME)にまたがる知識が求められることがわかり、それらの要素を段階的に理解するセッションでした。何気なく使っているTextViewを掘り下げる機会があるのもこういった機会があるからこそだと感じました。
React NativeとExpoを用いたクロスプラットフォーム開発入門
- 10:30 - 11:00 / Room 4
- https://speakerdeck.com/mrtry/react-nativetoexpowoyong-itakurosupuratutohuomukai-fa-ru-men
AndroidとiOSでは、実行環境の違いから別々に実装する必要がありました。ここを共通化し、同じコードで2つのアプリが実行できるようにしたのがReact Nativeです。React Nativeの欠点をExpoで埋めつつ、効率よくアプリを開発するための方法を学びました。概要だけでなく、React Native+Expoが向いているアプリも知れたため、学んだことがすぐに役立てられそうでした。
今日から始める依存性の注入
- 14:50 - 15:20 / Room 1
- https://speakerdeck.com/kobakei/first-time-dependency-injection
依存性の注入(Dependency Injection : DI)の仕組みを踏まえつつ、Android特有の事情(ライフサイクルなど)も考慮して実装する方法を学ぶセッションです。各種ライブラリ(Dagger2やKoin)の使い方にとどまらず、なぜそれが必要なのか、DIすると何が便利なのかを含めてより深く理解できました。