Hawkynt.NativeForms.Backends.MacOS 1.0.0.98

dotnet add package Hawkynt.NativeForms.Backends.MacOS --version 1.0.0.98
                    
NuGet\Install-Package Hawkynt.NativeForms.Backends.MacOS -Version 1.0.0.98
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Hawkynt.NativeForms.Backends.MacOS" Version="1.0.0.98" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Hawkynt.NativeForms.Backends.MacOS" Version="1.0.0.98" />
                    
Directory.Packages.props
<PackageReference Include="Hawkynt.NativeForms.Backends.MacOS" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Hawkynt.NativeForms.Backends.MacOS --version 1.0.0.98
                    
#r "nuget: Hawkynt.NativeForms.Backends.MacOS, 1.0.0.98"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Hawkynt.NativeForms.Backends.MacOS@1.0.0.98
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Hawkynt.NativeForms.Backends.MacOS&version=1.0.0.98
                    
Install as a Cake Addin
#tool nuget:?package=Hawkynt.NativeForms.Backends.MacOS&version=1.0.0.98
                    
Install as a Cake Tool

Hawkynt.NativeForms.Backends.MacOS

NuGet NuGet downloads License CI

The macOS backend for NativeForms, implemented on Cocoa/AppKit through direct Objective-C runtime interop.

📦 Installation

dotnet add package Hawkynt.NativeForms.Backends.MacOS

This is a backend for NativeForms. Install the core package too — it carries the controls.

✨ Features

  • Native NSWindow forms and AppKit-backed control peers for text entry, buttons, labels, lists, trees, ranges, progress, date/time input and related primitives.
  • Native open/save/folder, color and font dialogs plus Cocoa menus and context menus.
  • Native-themed owner-drawn controls for the shared cross-platform control surface.
  • In-process macOS screenshot/probe coverage in CI, in addition to the ordinary macOS build/test leg.
  • Reflection-free interop designed to survive trimming and NativeAOT.
  • Referenced but never registered, the whole backend is dropped again by the trimmer.

🚀 Quick start

Register the backend before creating a window. Registering more than one is fine: an application can carry every platform it ships on.

using Hawkynt.NativeForms;
using Hawkynt.NativeForms.Backends;
using Hawkynt.NativeForms.Backends.MacOS;

BackendRegistry.Register(new CocoaBackend());

var form = new Form { Text = "Hello", Bounds = new(0, 0, 320, 160) };
Application.Run(form);

📚 API reference

Every public and protected member of all 1 type, generated from the built assembly and its XML documentation, is in REFERENCE.md.

🔌 Dependencies

Package Why
Hawkynt.NativeForms The controls, layout and backend abstraction this package implements.

Runtime requirement: macOS with Cocoa/AppKit.

⚠️ Limitations

  • Cocoa support is substantial but not claimed to be byte-for-byte Win32/GTK parity. Platform-specific behavioral differences and remaining gaps are tracked in docs/backends.md and docs/PRD.md.
  • Some shared controls remain owner-drawn by design when AppKit has no faithful native equivalent.
  • OS-originated drag/drop is still separate from NativeForms' in-process DoDragDrop contract and remains tracked work.

❤️ Support

If this project saves you time or money, consider supporting its development:

GitHub Sponsors PayPal

📜 License

Licensed under LGPL-3.0-or-later — see the repository LICENSE.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0.98 83 9/30/2026
1.0.0.92 961 8/1/2026
1.0.0.91 122 7/31/2026
1.0.0.90 129 7/31/2026
1.0.0.84 264 7/30/2026