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
<PackageReference Include="Hawkynt.NativeForms.Backends.MacOS" Version="1.0.0.98" />
<PackageVersion Include="Hawkynt.NativeForms.Backends.MacOS" Version="1.0.0.98" />
<PackageReference Include="Hawkynt.NativeForms.Backends.MacOS" />
paket add Hawkynt.NativeForms.Backends.MacOS --version 1.0.0.98
#r "nuget: Hawkynt.NativeForms.Backends.MacOS, 1.0.0.98"
#:package Hawkynt.NativeForms.Backends.MacOS@1.0.0.98
#addin nuget:?package=Hawkynt.NativeForms.Backends.MacOS&version=1.0.0.98
#tool nuget:?package=Hawkynt.NativeForms.Backends.MacOS&version=1.0.0.98
Hawkynt.NativeForms.Backends.MacOS
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
NSWindowforms 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.mdanddocs/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
DoDragDropcontract and remains tracked work.
❤️ Support
If this project saves you time or money, consider supporting its development:
📜 License
Licensed under LGPL-3.0-or-later — see the repository LICENSE.
| Product | Versions 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. |
-
net10.0
- Hawkynt.NativeForms (>= 1.0.0.245)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.