Daily Digest

每日新聞摘要

2026年07月26日

今日總結

內容會跟隨語言切換。

📝 今日焦點:Kotlin Weekly #521 彙整 KMP feature flags、Droidcon US 精選議程、Claude Code 專案生成與 Zipline/HTML parser 更新等生態動態。 🏗 架構設計:Tap to Pay Android 以 Kotlin、Compose、MVVM 與 Clean Architecture 呈現 EMV/NFC 流程,且全程本機處理卡資料。 ✅ 測試與品質:Compose 更新採分階段處理,理解三個階段可更準確掌握狀態變更;Rust 式 Result 觀點也提醒錯誤處理應更明確。 🚀 語言演進:JetBrains 已停用 KMM 品牌並統一為 Kotlin Multiplatform;PDF 繪製 API 指南則協助開發者在不同版本選對渲染接口。

01

Kotlin Weekly #521

Kotlin Weekly 作者: 發布:07-26 12:46

Kotlin Weekly #521

KMP Bits 提出一套在 Kotlin Multiplatform 中實作 feature flags 與 remote config 的架構,包含 commonMain 統一評估、以快取為優先,以及僅供除錯的本機覆寫。

重點摘要

介紹 KMP 的 feature flags 與 remote config 架構
整理 Droidcon US 2026 的精選議程
涵蓋新影片與多個 Kotlin Multiplatform 函式庫

Kotlin Weekly #521(2026 年 7 月 26 日)彙整本週 Kotlin 生態的重要內容,涵蓋文章、贊助資訊、影片與函式庫。文章部分包括 Kotlin Multiplatform 的 feature flags 與 remote config 架構、Droidcon US 2026 的推薦議程,以及自我除錯的 Kotlin 西洋棋引擎、以 Claude Code 七步驟產生架構一致的 KMP 專案、以及透過 Zipline 重寫 HTML parser 以支援空中更新等主題。另收錄多支教學影片與多款新工具。

02

The 3 Jetpack Compose Phases Every Developer Should Understand

Medium Kotlin 作者:Stevdza-San 發布:07-26 09:11

每位開發者都該理解的 Jetpack Compose 三個階段

當 Jetpack Compose 畫面上的內容改變時,Compose 不會盲目地重建並重繪整個介面。

重點摘要

Compose 會分階段更新 UI,而不是整體重建。
文章說明了開發者應理解的三個階段。
這種機制有助於理解 Compose 如何有效處理畫面變化。

Jetpack Compose 在畫面內容變動時,並不會直接重建與重繪整個介面,而是透過不同階段來處理更新,因此能更有效率地反映狀態變化。文章重點介紹每位開發者都應理解的三個 Compose 階段,說明這套流程對於掌握 UI 更新機制與畫面變動行為的重要性。

03

Thinking Like the Compose Runtime

Medium Kotlin 作者:Neeraja Gandla 發布:07-26 11:22

像 Compose Runtime 一樣思考

Part 2 — 如果可組合函式會持續執行,它們如何記住任何事情?

重點摘要

這是 Medium 上 Kotlin 系列文章的第二部分。
主題聚焦於 Compose 可組合函式如何在反覆執行時保留狀態。
目前提供的內容只有標題與導語,未含完整內文。

這篇文章是 Neeraja Gandla 在 Medium 上連載〈Thinking Like the Compose Runtime〉的第 2 部分。現有可見內容只有一句導語:「如果可組合函式會持續執行,它們如何記住任何事情?」因此無法得知全文細節;就目前資訊來看,文章主要在引導讀者理解 Jetpack Compose 的可組合函式如何在反覆重組時保留狀態或記憶。

04

KMP in Production: Smart Architecture Decisions

Medium Kotlin 作者:Halil Özel 發布:07-26 13:11

KMP 的生產環境實戰:智慧的架構決策

JetBrains 於 2023 年停用了「KMM」品牌名稱,正式名稱為 Kotlin Multiplatform(KMP)。

重點摘要

JetBrains 已於 2023 年停用 KMM 品牌。
官方名稱現為 Kotlin Multiplatform(KMP)。
提供的內文未包含其他生產環境或架構細節。

這段內文非常簡短,僅指出 JetBrains 已於 2023 年停用「KMM」品牌名稱,正式名稱改為 Kotlin Multiplatform(KMP)。原文未提供進一步的技術內容、生產環境建議或架構決策,因此只能忠實摘要為一次品牌與名稱更新,而非完整的產品或架構論述。

05

A Field Guide to Android’s PDF Rendering APIs: What You Get on Each Version, and What to Call

Medium Kotlin 作者:Luca Fioravanti 發布:07-26 13:52

Android PDF 繪製 API 指南

各版本能拿到什麼,以及該呼叫哪個 API。

重點摘要

比較 Android 各版本的 PDF 繪製類別。
說明不同 Android 版本應使用哪個 API。
協助開發者釐清名稱相近的 PDF 工具。

本文為 Android 開發者整理 PDF 繪製 API 的版本差異,重點在於如何將 PDF 頁面渲染成 bitmap。作者指出,Android 上存在多個名稱相近、功能各異的類別,容易讓人混淆,因此文章旨在說明每個版本能提供哪些能力,以及在不同情境下應該呼叫哪一個 API,作為實務上的選用指南。

06

Reading EMV Cards over NFC on Android (and why it's more interesting than it sounds)

Dev.to Kotlin 作者:Pedro Bustamante 發布:07-26 01:24

透過 Android NFC 讀取 EMV 卡

這個專案用手機 NFC 讀取並解析 EMV 卡,並即時顯示 APDU 指令與標籤交換內容。

重點摘要

從感應非接觸卡開始,逐步追蹤 EMV 通訊流程
涵蓋 PPSE、AID、GPO、記錄讀取與 EMV TLV 解析
以 Kotlin、Compose、MVVM、Clean Architecture 與自製解析器實作

本文介紹 Tap to Pay Android 這個教育性 Android 應用,目標是理解非接觸卡輕觸後到終端機完成接受之間實際發生的流程。它透過手機 NFC 讀取並解析 EMV 卡,並在介面中即時顯示 APDU 指令、回應與 EMV 標籤。應用程式依序展示 PPSE 選擇、AID 探索、應用程式選擇、GPO、記錄讀取與 EMV 解析。作者強調這不是商業支付工具,所有處理都在本機完成,不儲存也不傳送卡片資料。專案使用 Kotlin、Jetpack Compose、Material 3、MVVM、Clean Architecture、Coroutines、StateFlow、Android NFC/ISO-DEP,並自行撰寫 EMV 解析器。

07

Rust: Every try-catch You’ve Ever Written Was a Promise You Could Break, Result Isn’t

Medium Kotlin 作者:Taufik Hidayat 發布:07-26 04:12

Rust:你寫過的每一個 try-catch 都是一個可以被打破的承諾,Result 不是

每位 Android 工程師都曾不假思索地把這樣的程式送出。

重點摘要

Android 工程師常在未深思下使用 try-catch。
文章以「承諾可被打破」對比 Rust 的 Result。
內容帶有對傳統錯誤處理方式的反思。

這篇文章指出,許多 Android 工程師曾在沒有多想的情況下把 try-catch 寫進程式並送出。作者藉由與 Rust 的設計對照,暗示例外處理像是一種可能被打破的承諾,而 Result 則代表更明確、紀律更高的失敗表達方式。雖然原文摘錄很短,但已可看出文章是在批判傳統錯誤處理習慣,並凸顯 Rust 的設計哲學。