DarwinKit 0.5.0 Released with Major Changes

After a year of preview, MacDriver 0.5.0 was finally released, and from this version on, the project was renamed DarwinKit.

DarwinKit 0.5.0 Released with Major Changes_0

The main changes in this version are as follows:

  • Added bindings to 33 frameworks.
  • There are currently more than 2,300 classes, almost completely covering all situations of mac development applications. In contrast, the 0.4.0 version only covered about 80 classes.
  • Currently implemented 23,800 methods / properties and nearly 10,000 constants / enums. Previously, there were less than 50 constants.
  • Since the preview version was released, 543 structs have been implemented.
  • Automatically converted and used native Go built-in types in the API, such as strings, bools, [] byte and maps etc..
  • Supported block parameters as Go functions (callbacks) with the correct type parameters.
  • Built-in delegate implementation, developers can simply use Go functions.
  • Performed more 1-to-1 mappings with Objective-C symbol names, while improving the adaptation of Go usage habits.
  • Improved all symbols documentation, including links to the official Apple documentation of this symbols.
  • Used the simple model of Objective-C memory management.
  • Prepared to support more platforms, such as iOS, tvOS, watchOS and visionOS.
  • Continued to support Intel and Apple Silicon.
  • Nearly generated all bindings.

In addition, v0.5.0-preview had a regression problem since the release of a newer version of Go, related to linker warnings, which is an upstream problem in cgo, the DarwinKit team said they hoped this problem could be solved in the upcoming Go version. At the same time, they saidfuture version releases would not have such a long preview period of half a year.

It is worth looking forward to that the team also verified that it could start using purego instead of cgo to improve the build speed and would apply it in the next version's key point of function bindings.

Details can be viewed in the release information:

Likes