MOBILE DEVELOPMENT TRACK
モバイル開発
アプリのライフサイクル・宣言的UI・メモリ管理・バックグラウンド実行制限… iOS/Androidの仕組みを、まず TL;DR でつかみ、そこから原理まで。
Concept Map
原理・深掘り
モバイルOSとUIフレームワークの仕組みを、まず TL;DR で要点をつかみ、そこから原理まで。
Androidのアクティビティライフサイクル
画面回転で状態が消える不具合はライフサイクルの誤解が原因。コールバックの意味とonSaveInstanceState、ViewModelの役割を正確に押さえれば防げる。
App Clip・Instant App(軽量配布)
インストールの摩擦を消し「その場で使わせて後で本体へ誘導する」導線設計。サイズ制限・モジュール分割・起動経路の原理を一本で押さえられる。
iOSアプリのライフサイクルと状態遷移
アプリが落ちたと思ったら実は凍結中だった、を見分けられる。5状態の遷移条件と状態保存・復元の仕組みを原理から押さえられる。
Jetpack Composeの宣言的UIモデル
UIが崩れる原因の多くは手続き的な更新漏れ。状態から出力を再計算する宣言的モデルと再コンポーズの仕組みを理解すれば、無駄な描画も不具合も潰せる。
SwiftUIの状態管理とデータフロー
画面が増えても状態のバグを追わずに済む。SwiftUIの4つの状態プロパティラッパーと単方向データフローの原理を、diffingの仕組みから正確に理解できる。
ウィジェット・アプリ拡張のアーキテクチャ
ホーム画面のウィジェットが軽く安全に動く理由は、本体アプリと別プロセスに隔離され、通信もリソースも厳しく制限されているからだ。
オフラインファーストと同期設計
電波が切れても操作を止めない設計で離脱を防げる。ローカルDBを正とし、競合解決と再送設計まで一気通貫で理解できる。
クロスプラットフォームの描画戦略
同じコードでiOSとAndroid両対応、を実現する仕組みは実は三者三様。React Native・Flutter・PWAの描画原理を押さえれば性能劣化の原因を切り分けられる。
ネイティブブリッジ(JNI・JSI)
アプリが重い・カクつく原因は言語間の橋渡しにあることが多い。JNIのオーバーヘッドとJSIが直接バインディングでそれをどう消したかが分かる。
プッシュ通知のアーキテクチャ
アプリを閉じていても情報を届けられる仕組みの裏側には、配信経路・トークン・到達保証の限界という3つの原理がある。
モバイルOSのバックグラウンド実行制限
常駐アプリが電池を溶かす時代を終わらせた仕組みを理解すれば、通知が届かないバグの原因も切り分けられる。
モバイルUIの描画パイプライン
カクつき(ジャンク)の原因は勘ではなく描画予算の超過として説明できる。View階層からGPUまでの流れを押さえれば、原因の層を一発で切り分けられる。
モバイルアプリの起動時間最適化
起動が1秒縮むだけで離脱率は変わる。コールド/ウォーム/ホットスタートの違いとdyld・App Startupの内部動作から、効く施策を見極められる。
モバイルアプリの署名と配布
審査落ちや配布トラブルの大半は署名の仕組み誤解が原因。証明書・プロビジョニング・鍵管理の原理を押さえれば、リリース作業の迷いが消える。
モバイルのアクセシビリティサービス
見た目の順序を変えても読み上げ順がズレたままなのはツリー構造の誤解が原因。アクセシビリティツリーの構築原理とDynamic Typeの仕組みを押さえれば防げる。
モバイルのアプリサンドボックスと権限モデル
個人情報漏洩や乗っ取りを防ぐ最終防衛線がここにある。iOSとAndroidのサンドボックス・権限モデルの内部動作を原理から押さえられる。
モバイルのバッテリー消費とプロファイリング
アプリが早死にする原因の大半は電力設計の欠如。CPU/GPU/無線の電力特性とプロファイリング手法を押さえれば、バッテリー起因の低評価を未然に防げる。
モバイルのメモリ管理とARC
アプリが謎のメモリリークで落ちる前に読みたい。iOSのARCが循環参照を作る仕組みとweak/unownedの使い分け、Androidの世代別GCとの思想の違いを原理から整理。