无需 XCode/OC 开发原生 Mac 应用的 Go API MacDriver(DarwinKit) 0.5.0 发布,几乎覆盖所有绑定


经过一年的预览,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

相關推薦

2022-09-30

整。 不使用 Rosetta 即可进行安装 用户现在无需先启用 Rosetta 即可安装 Visual Studio for Mac。虽然安装程序现在支持在 M1 上安装而无需使用 Rosetta,但由于 Xcode 等依赖项的限制,某些场景(尤其是移动开发)仍然需要 R

2022-12-22

服务治理 SDK(Java,Go,C++,PHP等),接入北极星的应用无需再重复开发服务治理相关的逻辑和算法。而应用往往是基于服务框架来进行构建的,业界大部分开源服务框架都提供了基础服务治理的能力,而各个框架在实现细节上

2022-09-08

一个环境中即可管理多个应用。 自动完成授权;用户无需关心如何分配 KubeConfig,系统自动根据 UI 用户所拥有的权限完成黑屏环境授权,实现了基本的白屏和黑屏的权限一致化。 环境自动回收;每一个用户的终端环境最

2023-07-13

也可以支持配置式组件用法,适合在低代码平台中使用,无需做二次封装。  生态齐全:不仅提供不同框架的组件库,还提供一系列开发工具,包含覆盖前端开发全流程的CLI脚手架工具、开箱即用的中后台模板、提升效率的

2022-07-19

者从 AOSP 项目中删除了大量与 Fuchsia 有关的代码,但大家无需过度紧张,此次删除的代码已有超过一年时间没有更新,并且此次删除的代码是让 Fuchsia 支持运行 Android 应用时所采用的旧方法,Google 正致力于以新方式在 Fuchsia 系

2024-08-20

it 对 IDE 的支持不仅包含了现代 IDE 的所有功能,且MoonBit 无需依赖容器。快速语义分析技术可处理大量的代码库,并且在更大规模的代码库中也能在百毫秒级别完成 IDE 响应。 现今大多数编程语言的 IDE 是为桌面操作系统设计的

2022-08-07

户在Windows/Mac/Linux上使用VSCode/JetBrains全家桶/OpenSumi三种IDE开发7种技术栈下的任何项目,并且支持WebIDE和Hybrid混合模式以及WebTerminal的三种工作区访问方式。 本次发布包含Sprint 20-23的内容,包括的特性有:完整的k8s模式支持,

2022-07-27

和 @ConfigurationProperties 类,涵盖新的构造函数绑定语法,无需显式 @ConstructorBinding。 用户体验 运行当前文件 Run/Debug(运行/调试)微件新增了 Run Current File(运行当前文件)功能,可供在没有专门的运行配置的情况下轻松运行

2023-09-26

EncryptUtils 统一处理 update 优化 excel导出字典转下拉框 无需标记index自动处理 update 优化 excel 导出字典默认转为下拉框 update 优化 删除一些跟 swagger 有关的字眼 避免误解 update 优化 角色权限支持仅本人权限查看 解决

2022-11-18

0 已在上周正式发布。 Tauri 是一个桌面 UI 框架,可让开发者使用每个平台的 Webview 技术栈为所有主要桌面操作系统构建应用程序,目前支持 Windows/macOS/Linux 等平台。开发者通过 Tauri 几乎可以使用任何编译为 HTML、JS 和 CSS 的

2022-08-27

稳定版后,wxPython 已接近两年没有更新过。因此,wxPython 开发团队在宣布 4.2.0 的更新时,第一句话就是关于“项目死亡”的辟谣: "Rumors of my death are only slightly exaggerated" "关于我死亡的谣传稍微有点夸大了" 团队已将 

2023-05-24

治”内核的主要原因: 可直接管理内存 缺少抽象 无需依赖运行时 可移植性 Go 作为高级语言提供了许多令人满意的特性。从这方面来看,它似乎可以成为开发操作系统的绝佳选择: 某些类型的错误在高级语言中出

2023-11-13

用户界面。 近日,Slint 发布了 1.3 版本,引入许多增强开发体验的新功能和改进。 下载地址:https://github.com/slint-ui/slint/releases/tag/v1.3.0 下面是值得关注的亮点: 为 Windows 和 Mac 引入新的默认原生样式 公告写道,此版

2023-08-05

Proxy 是 golang 实现的高性能 http、https、websocket、tcp、udp、socks5 代理服务器,支持正向代理、反向代理、透明代理、内网穿透、TCP/UDP 端口映射、SSH 中转、TLS 加密传输、协议转换、DNS 防污染智能代理、前置 CDN/Nginx 反代、代理连