MacDriver is a toolkit for working with Apple/Mac APIs and frameworks in Go. It currently has 2 parts. The objc package wraps the Objective-C runtime to dynamically interact with Objective-C objects and classes. The cocoa, webkit, and core packages wrap objc with wrapper types for parts of the Apple/Mac APIs. They're being added to as needed by hand until we can automate this process with schema data. These packages effectively let you use Apple APIs as if they were native Go libraries, letting you write Mac applications (potentially also iOS, watchOS, etc) as Go applications. 1:1 mapping of API names with Objective-C APIs. Cocoa types: NSApplication, NSImage, NSMenu, NSWindow, more. Webkit types: WKWebView and configuration classes. Core types: NSData, NSDictionary, NSNumber, NSPoint, NSRect, NSSize, NSString, NSURL, more. Core also allows dispatching Go functions in the Cocoa run loop. Many constants/enums are defined.

Features

  • Access any class or method you can access in Objective-C
  • Common object convenience methods: Get, Set, Alloc, Init,
  • Create and extend classes at runtime that can be used by Objective-C code
  • Retain and Release methods for working with Objective-C memory management
  • 1:1 mapping of API names with Objective-C APIs
  • Cocoa types: NSApplication, NSImage, NSMenu, NSWindow, etc.

Project Samples

Project Activity

See All Activity >

Categories

Frameworks

License

MIT License

Follow MacDriver

MacDriver Web Site

Other Useful Business Software
Free and Open Source HR Software Icon
Free and Open Source HR Software

OrangeHRM provides a world-class HRIS experience and offers everything you and your team need to be that HR hero you know that you are.

Give your HR team the tools they need to streamline administrative tasks, support employees, and make informed decisions with the OrangeHRM free and open source HR software.
Learn More
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of MacDriver!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Go

Related Categories

Go Frameworks

Registered

2023-01-12