Jetpack Compose インターナルズ
Jetpack Compose インターナルズ
本について
Jetpack Composeは、Android UIの未来を担う技術です。その内部動作を理解することで、より効率的なdeveloperになることができます。Android devでなくても、この本は大きな価値があります。本書では、Compose compiler & runtimeの動作原理を詳細に解説し、それらを活用したclient libraryの作成方法まで網羅しています。
目次
- はじめに
- この本を読む理由
- この本で扱わないこと
- なぜinternalについて書くのか
- ソースコードを身近に
- コードスニペットと例
- 1. Composable functions
- Composable functionsの意味
- Composable functionsの特性
- Calling context
- Idempotent
- Free of uncontrolled side effects
- Restartable
- Fast execution
- Positional memoization
- suspend functionsとの類似点
- Composable functionsの色
- Composable function types
- 2. Composeコンパイラ
- Kotlinコンパイラプラグイン
- Composeアノテーション
- コンパイラ拡張の登録
- Kotlinコンパイラバージョン
- 静的解析
- 静的チェッカー
- コールチェック
- 型チェック
- 宣言チェック
- 診断抑制
- ランタイムバージョンチェック
- コンパイラIR
- 低減
- クラスの安定性推論
- ライブリティライトフラグ
- Composeラムダメモ化
- Composer注入
- 比較伝播
- デフォルトパラメータ
- 制御フローグループ生成
- klibとデコイ生成
- 3. The Compose runtime
- スロットテーブルと変更リスト
- スロットテーブルの詳細
- 変更リスト
- Composer
- Composerへの入力
- 変更のモデル化
- 書き込みタイミングの最適化
- グループの書き込みと読み取り
- 値の記憶
- 再コンポーズスコープ
- Composer内のSideEffect
- CompositionLocalの保存
- ソース情報の保存
- CompositionContextによるCompositionのリンク
- 現在のStateスナップショットへのアクセス
- ノードのナビゲーション
- リーダーとライターの同期維持
- 変更の適用
- ノードツリー構築時のパフォーマンス
- 変更の適用方法
- ノードのアタッチと描画
- Composition
- Compositionの作成
- 初期Compositionプロセス
- 初期Composition後の変更適用
- Compositionに関する追加情報
- The Recomposer
- Spawning the Recomposer
- Recomposition process
- Concurrent recomposition
- Recomposer states
- 4. Compose UI
- ComposeランタイムとのUIの統合
- スケジュールされた変更をツリーへの実際の変更にマッピングする
- Compose UIの観点からのComposition
- Compose UIの観点からのサブコンポジション
- UIでの変更の反映
- 異なるタイプのApplier
- 新しいLayoutNodeの具現化
- 円を閉じる
- ノードを削除する変更の具現化
- ノードを移動する変更の具現化
- すべてのノードをクリアする変更の具現化
- Compose UIでの測定
- 測定ポリシー
- 内在測定
- レイアウト制約
- LookaheadLayout
- モディファイアチェーンのモデリング
- LayoutNodeへのモディファイアの設定
- LayoutNodeが新しいモディファイアを取り込む方法
- ノードツリーの描画
- Jetpack Composeにおけるセマンティクス
- セマンティック変更の通知
- マージされたセマンティックツリーとマージされていないセマンティックツリー
- 5. ステートスナップショットシステム
- スナップショット状態とは
- 並行性制御システム
- マルチバージョン並行性制御(MCC または MVCC)
- スナップショット
- スナップショットツリー
- スナップショットとスレッド
- 読み取りと書き込みの観察
- 可変スナップショット
- グローバルスナップショットとネストされたスナップショット
- StateObjectsとStateRecords
- 状態の読み取りと書き込み
- 廃止されたレコードの削除または再利用
- 変更の伝播
- 書き込み競合のマージ
- 6. エフェクトとエフェクトハンドラー
- 副作用の紹介
- Composeでの副作用
- 必要なもの
- エフェクトハンドラー
- 非サスペンドエフェクト
- サスペンドエフェクト
- サードパーティライブラリアダプター
- 7. 高度なCompose Runtimeユースケース
- Compose runtimeとCompose UI
- コンポジションの(再)紹介
- ベクターグラフィックスのコンポジション
- ベクター画像ツリーの構築
- ベクターコンポジションのCompose UIへの統合
- ComposeでのDOM管理
- ブラウザでのスタンドアロンコンポジション
- 結論
- はじめに
Leanpubの60日間100%満足保証
購入後60日以内であれば、たった2クリックでLeanpubでの購入について100%返金を受けることができます。
技術的には、本やコースのファイルはお手元に残るため、これは私たちにとってリスクとなります。しかし、私たちは自社の製品やサービス、そして著者と読者を深く信頼しているため、販売する全ての商品に対して全額返金保証を喜んでご提供しています。
何かの良し悪しは実際に試してみないとわかりません。100%返金保証があるため、試すことに全くリスクはありません!
ですから、カートに追加するボタンをクリックしない理由はないですよね?
利用規約の詳細を見る...
$10の購入で$8、$20の購入で$16を獲得
$7.99以上の購入に対して80%のロイヤリティを、$0.99から$7.98までの購入に対して50セントの定額手数料を差し引いた80%のロイヤリティをお支払いします。$10の売上で$8、$20の売上で$16を獲得できます。つまり、あなたの本が$20で5000部返品なしで売れた場合、$80,000を獲得できます。
(はい、すでに多くの著者がLeanpubでそれ以上を稼いでいます。)
実際、著者たちはLeanpubでの執筆、出版、販売を通じて1,400万ドル以上を獲得しています。
Leanpubでの執筆についてさらに詳しく
無料アップデート。DRMフリー。
Leanpubの本を購入すると、著者が本を更新し続ける限り、無料でアップデートを受け取ることができます!多くの著者は執筆中の本をLeanpubで公開しています。全ての読者は、購入時期や支払額(無料も含む)に関係なく、無料アップデートを受け取ることができます。
ほとんどのLeanpubの本は、PDF(コンピュータ用)とEPUB(スマートフォン、タブレット、Kindle用)で利用できます。本に含まれるフォーマットは、このページの右上に表示されています。
さらに、Leanpubの本にはDRMによるコピー保護は一切ないため、対応デバイスで簡単に読むことができます。