博客 / 列表

GeekCat - 使用 Compose Multiplatform 來創建 macOS 系統托盤

打造完美的 macOS 系統托盤 引言 在現代桌面應用程序中,系統托盤已經成為不可或缺的一部分。它為用户提供了一種快捷、高效的方式來與應用程序進行交互,而無需打開主窗口。系統托盤的優勢主要體現在以下幾個方面: 便捷訪問:用户可以快速查看應用狀態、執行常用操作。 減少視覺干擾:不會佔用寶貴的屏幕空間。 後台運行:對於需要在後台持續運行的應用來説,系統托盤是理想的界面選擇。 本文將以 ma

Kotlin , macos , tray

GeekCat - Kotlin Multiplatform 入門:構建你的第一個跨平台應用

這是關於 Kotlin Multiplatform 開發博客系列的第二篇文章,我計劃每週更新一篇文章,文章主題可能會以基礎與進階內容交替進行。 引言 本文面向對 Kotlin Multiplatform (KMP) 感興趣的開發者,特別是那些希望探索如何使用單一代碼庫開發跨平台應用的程序員。無論您是移動開發者、前端工程師還是全棧開發者,只要您對提高開發效率和跨平台開發感興趣,瞭解一下並體驗一下 K

Kotlin , 跨平台 , 多平台 , jetbrains

GeekCat - 別再説 Kotlin Serialization 難用了!

我不止一次見到有開發者吐槽 Kotlin Serialization 難用。尤其是 Java 開發者將它與 Jackson \ Gson 來對比。這種印象主要源於對其工作原理的誤解,Kotlin Serialization 並不依賴運行時反射機制來完成序列化/反序列化操作。 這個設計選擇是經過深思熟慮的:Kotlin 是一個多平台語言,意味着同一份代碼可以編譯到 JVM、Android、Nativ

Kotlin , serializable

GeekCat - KMP 桌面應用開機啓動完全指南

在開發跨平台桌面應用時,開機自啓動是一個常見且重要的功能需求。本文將詳細介紹如何使用 Kotlin Multiplatform (KMP) 實現 Windows、macOS 和 Linux 三大平台的開機自啓動功能,包括接口設計、平台特性和具體實現。 所有源代碼基於我開源項目 crosspaste-desktop,如果對你有幫助歡迎點個 star ❤️ 1.設計 1.1 統一接口 為了實現跨平台的

Kotlin , 跨平台 , 桌面應用

GeekCat - 還沒用過 Okio? 一個 KMP 庫幫你統一多平台文件操作

在使用 Kotlin Compose Multiplatform 開發跨平台應用時,處理文件操作是一個常見但棘手的問題。不同平台(如 Android、iOS、Mac、Windows 和 Linux)的文件系統存在顯著差異,如果為每個平台單獨編寫文件操作代碼,不僅會導致代碼重複,還容易引入平台特定的 bug。本文將介紹如何使用 Okio 庫來統一處理跨平台的文件操作。 平台差異帶來的挑戰 在不

Kotlin , 文件 , 跨平台

GeekCat - CMP 如何優雅的實現跨軟件的拖拽功能

在現代桌面應用中,拖拽(Drag-and-Drop)操作是一種極其直觀且提升用户體驗的交互方式。它允許用户通過直接操作界面元素來移動數據、重新組織內容,從而極大地簡化了複雜任務。如果你正在使用 Kotlin Compose Multiplatform 開發桌面應用,並希望為你的應用增添這一強大的交互功能,那麼你來對地方了! 本文將深入探討如何在 Compose Multiplatform Desk

跨平台 , desktop-application , 拖拽

GeekCat - 一篇文章讓你學會 Compose Multiplatform 推薦的桌面應用打包工具 Conveyor

對於希望將 Compose Multiplatform Desktop 應用部構建發佈的開發者而言,跨平台打包、簽名、更新機制等環節常常是巨大的挑戰。本文將深入探討 Conveyor 這一強大的打包工具,並以我的開源項目 CrossPaste 為例,為您詳細解析其在實際項目中的應用,幫助您輕鬆實現應用的跨平台發佈。 1. 為什麼選擇 Conveyor? Conveyor 是一個出色的工具,它旨在讓

構建工具 , 應用 , 後端