#435 2026-07-05
暗号化・自動リフレッシュ対応のAndroid認証アーキテクチャ, KMPで作った受付アプリをiPadに対応させた話, Compose DesktopはなぜAWT/Swingを使うのか?, など
暗号化・自動リフレッシュ対応のAndroid認証アーキテクチャ
GitHubで見る暗号化トークン保存・自動リフレッシュ・リアクティブなナビゲーションを備えたAndroid認証アーキテクチャの解説。DataStore + Tinkによるトークン暗号化、認証状態をFlowとして監視し画面遷移を駆動する設計、KtorのAuthプラグインによる透過的なトークン再取得などを、Compose・Ktor・Koinのリファレンス実装をもとに紹介している。
AndroidでBluetoothプロトコルをリバースエンジニアリングする
GitHubで見るhttps://proandroiddev.com/reverse-engineering-the-bluetooth-protocol-on-android-680275f129e0
Android 9から14へのデバイス更新後、Bluetooth接続の決済端末に繋がらなくなった事例の調査記録。原因はAndroid 10/12で導入されたMACアドレスのランダム化により端末のIPアドレスが毎回変わることだった。APIやARPファイルへのアクセスが制限される中、bt-panインターフェースのサブネットにpingを打ってIPを特定する回避策の実装を紹介。
設計書から始めるレガシーFragmentのリファクタリング
GitHubで見るhttps://techblog.zozo.com/entry/doc-first-fragment-refactoring
ZOZOTOWN Androidアプリのレガシー画面をKotlin + Jetpack Compose + MVVMへリファクタリングした事例。実装前にAIと協働で仕様調査・設計書・タスク分解を書ききり、UIを仮データで先にCompose化して段階的に接続する工程を採用。sealed interfaceによる型安全な状態設計やClaude Code活用Tipsも紹介されている。
KMPで作った受付アプリをiPadに対応させた話
GitHubで見るhttps://tech.stmn.co.jp/entry/2026/06/26/152302
スタメンのTUNAG受付アプリがKMPで共通化したロジック資産をそのまま活かし、SwiftUIのUI層を追加するだけでiPad対応を実現した事例。expect/actualによるプラットフォーム差の吸収、SKIEを使ったStateFlowのSwift連携、Xcode CloudでのKMPビルド環境構築など実践的な知見がまとまっている。
2022年に「将来のiOS展開を見越してKMM採用」した設計判断が今回回収された、という文脈が面白い記事でしたCompose DesktopはなぜAWT/Swingを使うのか?GLFWベースの代替実装をめぐる議論
GitHubで見るCompose DesktopがAWT/Swingに依存する理由を発端に、GLFWベースの代替ホスト実装が議論されたスレッド。投稿者はWaylandネイティブ対応やタッチ入力を実現するcompose-glfwを公開。Tauriのtaoを使うNucleus 2.0や、JetBrains公式のkotlin-desktop-toolkitによるAWT置き換え計画にも話題が及ぶ。