窗口与原生服务
从 main 调用一次 native.Run。它的启动回调负责创建窗口并注册应用级处理函数。
#窗口生命周期
native.NewWindow 创建一个带有自己组件的窗口。关闭窗口会销毁该界面。如果稍后的回调需要窗口句柄,在构造组件时捕获 native.CurrentWindow()。
用 native.App.OnReopen 处理 Dock 图标,以便在没有可见窗口时打开新窗口。
#命令与服务
对话框、剪贴板、Shell、外观、菜单、通知以及其他平台功能,使用带类型的 native API。会返回结果的操作使用完成回调——在回调中处理错误,而不是阻塞。托盘图标见托盘图标。
后台工作用 ui.Async,组件销毁时会取消。native.Dispatch 把结果送回 UI 协程。只在那里读写信号。
独立的原生包使用 native.InvokeExtension 和 native.OpenExtension。见编写扩展。
#事件与文件监听
native.WatchFiles(paths, changed, ready) 使用操作系统通知,并返回停止函数。组件拥有的监听器用 ui.OnCleanup 注册该停止函数。优先使用原生事件或监听器,而不是轮询。
