Daily Digest

每日新聞摘要

2026年04月29日

今日總結

內容會跟隨語言切換。

📝 今日焦點:裝置端 AI 把 tokenization 視為效能核心,AICore 讓 Gemini Nano 轉為系統共享服務,並可用 Kotlin Flow、context receivers 與 serialization 建出可測前處理管線。 🏗 架構設計:Spring AI 系列與 Java AI 路線圖,協助用 Spring 模式整合 LLM、RAG、MCP、agents 與多模態能力,降低導入門檻。 🔧 效能最佳化:Kotlin 2.1 與 Swift 6 各有勝負;Kotlin KMP 被看好取代 React Native,且新版 JVM 調校、Generational ZGC 與 inline value class 可同時改善延遲、吞吐與雲端成本。 ✅ 測試與品質:OpenTelemetry 可將 trace_id 寫入排程日誌以快速定位錯誤,DataStore 也以 coroutine 非阻塞特性取代 SharedPreferences,提升資料儲存穩定性。 🚀 語言演進:Jetpack Compose Modifier 是樣式與調整的集中入口,而 Claude Code 提供 Android 團隊快速上手、加速 Kotlin 開發的實用起點。

01

Mastering Tokenization in Kotlin: The Secret Sauce Behind High-Performance On-Device AI

Dev.to Kotlin 作者:Programming Central 發布:04-29 10:00

用 Kotlin 掌握 Tokenization:高效能裝置端 AI 的關鍵技術

在裝置端 AI 中,tokenization 不只是工具,而是攸關效能的關鍵流程。

重點摘要

Tokenization 負責把人類文字轉成模型可處理的 token 序列。
AICore 讓 Gemini Nano 成為系統共用資源,降低儲存與記憶體負擔。
Flow、context receivers 與序列化可用來打造穩定的前處理管線。

本文說明 tokenization 為何是裝置端 AI 的效能核心,而不只是前處理步驟。文章先介紹 subword tokenization(如 BPE、SentencePiece)如何避免詞彙表外問題,並整理正規化、預切分、模型映射與後處理等標準流程。接著,作者以 Android 的 AICore 說明 Gemini Nano 如何從封裝在 APK 中的模型,轉為系統層共享服務,以節省儲存空間、改善記憶體管理並簡化更新。最後,文章示範如何運用 Kotlin 的 Flow、context receivers 與 kotlinx.serialization,建立適合 MediaPipe 推論的可維護、可測試前處理管線。

02

Benchmark: Swift 6 vs. Kotlin 2.1 for Cross-Platform Mobile App Development – Build Time Compared

Dev.to Kotlin 作者:ANKUSH CHOUDHARY JOHAL 發布:04-29 14:04

基準測試:Swift 6 與 Kotlin 2.1 在跨平台行動應用開發中的建置時間比較

Swift 6 的增量建置比 Kotlin 2.1 快 42%;但在 Android 優先流程中,Kotlin 2.1 的完整建置快 18%。

重點摘要

在相同 M3 Max 硬體上,Swift 6 的平均增量建置為 8.2 秒,Kotlin 2.1 為 14.1 秒。
Kotlin 2.1 的完整建置更快,118 秒即可完成,Swift 6 則為 142 秒。
文章建議依團隊技能、平台優先順序與建置需求選擇,必要時可採混合方案。

本文以 12 個生產級跨平台行動專案為樣本,在相同的 M3 Max 硬體上比較 Swift 6 與 Kotlin 2.1 的建置效能。結果顯示,Swift 6 在增量建置上明顯占優,平均 8.2 秒,較 Kotlin 2.1 的 14.1 秒快 42%;但在完整建置方面,Kotlin 2.1 以 118 秒勝過 Swift 6 的 142 秒,快約 18%。文中也指出,不同團隊在 CI 成本與平台支援上各有取捨,因此沒有絕對贏家,應依 iOS-first、Android-first 或雙平台均衡需求來決定,必要時可採混合架構。

03

Spring AI Series

Baeldung 作者:baeldung 發布:04-29 08:43

Spring AI 系列

這是一份實用指南,帶你從 Spring AI 的聊天與記憶核心概念,一路進階到 RAG 管線、自訂 advisor、AI agent 與 MCP 整合。

重點摘要

涵蓋 Spring AI 的入門與核心概念。
延伸到 RAG、向量資料庫、advisors 與 AI agents。
也包含 MCP、多模態與進階整合主題。

這個由 Baeldung 整理的 Spring AI 系列,介紹 Spring AI 如何在 Spring 平台上協助開發 AI 驅動應用,並以熟悉的 Spring 模式包裝語言模型整合。內容從 ChatClient、記憶、串流回應、多模型設定與結構化輸出等基礎開始,逐步延伸到模型與供應商、RAG 與向量資料庫、advisors、AI agents,以及 Model Context Protocol(MCP)整合。系列也涵蓋影像資訊擷取、text-to-SQL、音訊轉寫、LLM 評測與函式呼叫等多模態與進階能力。

04

From SharedPreferences to DataStore: The Migration Guide Your Codebase Actually Needs

Medium Kotlin 作者:Dev 175 發布:04-29 09:37

從 SharedPreferences 到 DataStore:你的程式碼庫真正需要的遷移指南

DataStore 是 SharedPreferences 結構化、以 coroutine 為核心且非阻塞的替代方案。

重點摘要

SharedPreferences 已服務 Android 開發者超過十年。
DataStore 被定位為結構化、coroutine-native、非阻塞的替代方案。
文章主題聚焦於現有程式碼庫的遷移與現代化。

SharedPreferences 長年以來都是 Android 開發中常見的資料儲存方案,而 DataStore 則被視為其現代化替代品。從現有內容可知,文章強調 DataStore 具備結構化、以 coroutine 為核心且非阻塞的特性,較符合當代 Android 開發需求。這篇文章主要在說明為何應從 SharedPreferences 轉向 DataStore,並將遷移過程包裝成一份實用的指南,協助既有程式碼庫完成更新與改造。

05

Part 6: Specialized Architectures & The “Big Tech” Frameworks

Medium Kotlin 作者:Android Expert 發布:04-29 09:38

第 6 部分:專用架構與大型科技公司的框架

深入探討 RIBs、Mavericks 與 Circuit——Uber、Airbnb、Slack 如何管理龐大程式碼庫並隔離功能。

重點摘要

介紹大規模場景下的專用架構
解析 RIBs、Mavericks 與 Circuit
聚焦程式碼庫管理與功能隔離

本文為系列第 6 部分,主題是專用架構與大型科技公司的框架。文章提到 RIBs、Mavericks 與 Circuit,並說明 Uber、Airbnb 和 Slack 如何借助這些架構來管理龐大的程式碼庫,同時維持功能隔離。內容重點在於,這些框架可協助複雜應用在擴展時保持結構清晰,並強化責任分離。

06

How We Reduced Phone Heating by 70% While Building a Video Editing Tool on Android

Medium Kotlin 作者:Vikrant Kunwar 發布:04-29 11:57

我們如何在 Android 上打造影片編輯工具時將手機發熱降低 70%

問題並非我們原本預期的那樣,而修復方法也比我們擔心的更簡單。

重點摘要

實際問題和團隊最初的預期不同。
手機發熱成功降低 70%。
最終的修復方案比想像中簡單。

本文講述團隊在 Android 上開發影片編輯工具時,遭遇了意料之外的手機發熱問題。原本以為會出現的狀況並未發生,真正的根因也和想像不同;經過分析後,他們找到了一個比預期更簡單的修正方式。重點在於,精準定位問題比複雜優化更重要,而這項調整最終讓裝置發熱明顯下降,也提升了工具在 Android 上的可用性。

07

Next-Level Observability with OpenTelemetry

Kotlin Blog 作者:Viliam Sedliak 發布:04-29 11:05

使用 OpenTelemetry 提升可觀測性到新層級

透過為每次工作執行附加唯一的 trace ID,即使日誌交錯,也能還原單次執行的完整脈絡。

重點摘要

單純日誌適合簡單單機工作,但在併發下很快失去脈絡。
OpenTelemetry Java Agent 可在不改程式碼的情況下自動注入追蹤資訊。
將 trace_id 與 span_id 加入 MDC 後,就能依單次執行關聯日誌。

本文以 Kotlin 與 Spring Boot 的排程工作為例,說明僅靠基本日誌在單機、低頻執行時尚可應付,但當排程頻率提高並以多執行緒同時跑多個工作時,日誌會彼此交錯,錯誤也難以對回真正的執行脈絡。作者改用 OpenTelemetry Java Agent,透過設定 JVM 參數與調整 log pattern,讓 trace_id 與 span_id 自動寫入日誌。如此一來,即使多次執行同時進行,也能依追蹤 ID 篩選出同一次工作,清楚理解錯誤前後發生了什麼。

08

AI in Java Series

Baeldung 作者:baeldung 發布:04-29 06:59

Java 中的 AI 系列

本系列提供以 Java 建構 AI 應用的實作指南,涵蓋基礎概念、Spring AI、RAG、MCP、代理與深度學習函式庫。

重點摘要

介紹 Java 的 AI 框架與 LLM 整合。
涵蓋 Spring AI、LangChain4j、RAG 與 MCP。
也包含 AI 代理與深度學習函式庫概覽。

這個由 Baeldung 整理的系列,為 Java 開發者提供一條循序漸進的 AI 實作路徑。內容先從 Spring AI、LangChain 與 OpenAI API 的入門開始,再延伸到聊天客戶端、記憶、結構化輸出與 Advisors 等 Spring AI 核心功能。接著介紹 RAG 與向量搜尋、Model Context Protocol、授權機制,以及 AI 代理與 Java 深度學習/機器學習函式庫,幫助讀者系統性地建立 AI 應用開發能力。

09

2026 Hot Take: Kotlin 2.0 Multiplatform Will Replace React Native 0.75 by 2027 for Cross-Platform Apps

Dev.to Kotlin 作者:ANKUSH CHOUDHARY JOHAL 發布:04-29 00:33

到 2027 年,Kotlin 2.0 Multiplatform 將取代 React Native 0.75 成為跨平台首選

到 2026 年第四季,同一團隊已遷移至 Kotlin 2.0 Multiplatform,將與橋接層相關的崩潰降至 0.2%,並把 p99 渲染延遲降到 9ms。

重點摘要

2026 年基準測試顯示,Kotlin 2.0 KMP 在 17 項跨平台指標中有 14 項勝過 React Native 0.75。
金融科技案例顯示,遷移後崩潰率、渲染延遲、程式碼重複與月成本都明顯下降。
作者認為新專案應直接採用 KMP,React Native 0.75 將在 2027 年前後成為舊框架。

本文主張 Kotlin 2.0 Multiplatform 將在 2027 年前後成為新跨平台專案的預設選擇,取代 React Native 0.75。作者以生產環境數據與 2026 年基準測試指出,React Native 的 JavaScript bridge 是效能與穩定性的關鍵瓶頸;相較之下,Kotlin 2.0 KMP 具備更低的跨執行緒開銷、更高的共享程式碼比例與更小的二進位體積。文中也以金融科技團隊遷移案例說明,將共享商業邏輯與 UI 轉向 KMP/Compose Multiplatform 後,崩潰、延遲與成本皆明顯改善。

10

Deep Dive: How Java 24 and Kotlin 2.2 Optimize JVM Performance for 2026 Enterprise Apps

Dev.to Kotlin 作者:ANKUSH CHOUDHARY JOHAL 發布:04-29 01:48

深入解析:Java 24 與 Kotlin 2.2 如何為 2026 企業應用優化 JVM 效能

從 Java 17 升級到 Java 24 + Kotlin 2.2 的企業,JVM 工作負載平均可降低 22% 雲端運算成本。

重點摘要

Generational ZGC 讓大型堆疊的 p99 GC 暫停降到 1ms 以下。
Kotlin 2.2 在 Java 24+ 上可消除 inline value class 的 boxing。
從 Java 17 升級到 Java 24 + Kotlin 2.2,可同時降低成本並提升吞吐量。

本文指出,到 2026 年,多數企業 JVM 工作負載將運行於 Java 24+ 或 Kotlin 2.2+,但不少團隊仍沿用針對 Java 11 調校的 JVM 參數。文章比較 Java 24 + Kotlin 2.2 與 Java 21 + Kotlin 1.9 的表現,強調前者在 p99 GC 暫停、吞吐量、虛擬執行緒切換與雲端成本上皆更優。內容也說明 Generational ZGC 的年輕/老年代分離機制、Kotlin 2.2 inline value class 在 Java 24 上的無 boxing 優化,以及 coroutine 與 virtual threads 的映射,並附上金融科技案例與遷移建議。

11

Jetpack Compose Essentials Part 5: Modifier — Styling Everything in One Place

Medium Kotlin 作者:Kishor Ramani 發布:04-29 03:50

Jetpack Compose Essentials 第 5 部分:Modifier——在一個地方完成所有樣式設定

Jetpack Compose Essentials 系列第 5 部分聚焦於 Modifier,說明如何在同一處集中調整與樣式化元件。

重點摘要

Jetpack Compose Essentials 系列共 8 篇中的第 5 篇
主題是 Modifier 作為樣式與調整介面的核心方式
提供的內容僅有系列標示與繼續閱讀提示

這篇文章出自 Kishor Ramani 的 Jetpack Compose Essentials 系列,標示為第 5 篇、共 8 篇。從標題可知,本文主題是 Jetpack Compose 的 Modifier,強調它可作為在同一位置集中處理樣式與其他調整的工具。不過,使用者提供的內文只有系列資訊與 Medium 的繼續閱讀提示,沒有實際文章內容,因此無法從摘錄中確認更多技術細節。

12

How to Use Claude Code for Android Development — A Beginner’s Setup Guide

Medium Kotlin 作者:Akshay Kalola 發布:04-29 05:49

如何將 Claude Code 用於 Android 開發:新手設定指南

安裝後,將它設定到 Android 專案中,15 分鐘內就能開始寫出更好的 Kotlin 程式碼。

重點摘要

安裝 Claude Code 以支援 Android 開發
在 Android 專案中完成設定
快速開始撰寫更好的 Kotlin 程式碼

本文提供一份適合初學者的指南,說明如何在 Android 開發中使用 Claude Code。內容強調流程簡單、上手快速:先安裝工具,再將其整合到 Android 專案中,約 15 分鐘內就能開始協助撰寫更好的 Kotlin 程式碼。整體定位為實用的入門設定說明。