Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ankoでコンポーネント指向

 Ankoでコンポーネント指向

第4回Kotlin勉強会 (https://connpass.com/event/44710/) で発表した資料です。

Keita Kagurazaka

December 13, 2016
Tweet

More Decks by Keita Kagurazaka

Other Decks in Programming

Transcript

  1. 自己紹介 • @kkagurazaka • 普段はC++で画像処理とか • Kotlin lover • 趣味Androider

    RxProperty for Android https://github.com/k-kagurazaka/rx-property-android
  2. Presentational / Container Component Presentational Container 関心 どう見えるか どう動くか データ読み込み

    親コンポーネントから与え られる モデルから取得 データ書き込み 親コンポーネントから与え られるコールバックを呼ぶ モデルのロジックをキック 内部状態 (なるべく)持たない 持つ
  3. • Container Component ◦ Activity / Fragment ◦ イベントを受けてモデルをキックする、実質Presenter •

    Presentational Component ◦ (Custom) View / Composite View ◦ 親から受け取った値を表示するだけ • View Template ◦ layout.xml + DataBinding ◦ <include>でコンポーネントのネストを実現
  4. layout.xml + DataBindingの辛み • XMLそのものが辛い ◦ タイプセーフじゃない ◦ DataBinding周りの補完が不十分 ◦

    Javaコードと行ったり来たり • エラーの原因がわかりにくい ◦ Android Studioでうまくエラーメッセージ出ない経験ないですか? • Kotlinとの相性がイマイチ ◦ 大分マシにはなったものの、kaptは問題が起きやすい