经过一年的预览,MacDriver 0.5.0 终于发布了,此版本开始,项目更名为 DarwinKit。
此版本主要变化内容如下:
- 新增对 33 个框架的绑定
- 当前已有超过 2,300 个类,几乎完全覆盖 mac 开发应用的所有情况。对比一下,0.4.0 版本只覆盖了其中约 80 个类
- 当前实现了 23,800 个方法/属性和近 10,000 个常量/枚举。之前只有不到 50 个常量
- 自预览版发布以来,实现了 543 个 struct
- API 中实现了自动转换和使用原生 Go 内置类型,例如 strings、bools、[]byte 与 maps 等
- 支持块参数作为具有正确类型参数的 Go 函数(回调)
- 内置了 delegate 实现,开发者可以简单地使用 Go 函数
- 与 Objective-C 符号名称进行更多 1 对 1 映射,同时提高 Go 的使用习惯适配
- 改进所有 symbols 文档,包括该 symbols 的官方 Apple 文档的链接
- 使用 Objective-C 内存管理的简单模型
- 做好准备支持更多平台,例如 iOS、tvOS、watchOS 以及 visionOS
- 继续支持英特尔和 Apple Silicon
- 几乎生成了全部绑定
此外,v0.5.0-preview
中在 Go 较新版本发布以来出现一个回退问题,链接器警告相关,此问题是 cgo 中的上游问题,DarwinKit 团队表示希望在即将推出的 Go 版本中能够解决此问题。同时,他们表示未来的版本发布将不会有半年这么漫长的预览期。
值得期待的是,团队还验证了可以开始使用 purego 而不是 cgo 来提高构建速度,并且将在下一个版本的重点“函数绑定”方面应用。
详情可以查看发布信息:
- https://github.com/progrium/darwinkit/releases/tag/v0.5.0
- https://dev.to/progrium/how-i-build-simple-mac-apps-using-go-104j