用 Go 寫 Mac 桌面程式:原生視窗和選單欄圖示
Go 寫的小工具,最省事的介面是起一個 http server 再開啟瀏覽器。如果想要的是 Mac 上那種雙擊就開、右上角選單欄常駐一個圖示、點一下彈出面板的程式,該怎麼做?順著問題往下追:視窗歸 AppKit 管,Go 怎麼調到它;為什麼介面程式碼必須鎖在主執行緒上;選單欄圖示、彈出面板和不進 Dock 是怎麼做到的;Fyne、Gio、Wails、systray 等十幾個現成的庫,視窗裡的內容各是誰畫的,哪些裡面其實是網頁;兩個庫各管視窗和圖示時為什麼打架;最後怎麼打成 .app、簽名和公證,發給別人也能開啟。全部方案在同一臺 macOS 15 上實測。