Nativeui

A new hybrid is emerging: (from JetBrains), which uses the same declarative API as Android’s Compose but can render via Skia (non-native) or via native wrappers — blurring the line.

NativeUI components are rendered directly by the OS’s window server, often using GPU-accelerated primitives (Core Animation, DirectComposition, Skia with platform backends). There is no DOM, no JavaScript bridge, no layout thrashing — just direct calls to compiled drawing routines.

The modern movement isn't about writing separate codebases in Objective-C and Java anymore. It is about using modern frameworks (like Tauri, React Native, or .NET MAUI) to bridge the gap—giving us the developer experience of the web with the speed and feel of the native desktop. nativeui

When you use a truly native app:

like a custom slider or a sub-menu system in your current project? A new hybrid is emerging: (from JetBrains), which

: For developers using the C# version of NativeUI, avoid heavy calculations inside the Tick event. Optimization of core classes like UIResText and UIResRectangle is often the difference between a smooth menu and a stuttering one.

| Approach | Examples | Native feel? | Performance | Code reuse | |----------|----------|--------------|-------------|-------------| | Fully native (separate codebases) | macOS AppKit + iOS UIKit | ✅ Perfect | ✅ Native | ❌ Low | | NativeUI with shared logic (MVVM + binding) | SwiftUI + Kotlin Multiplatform | ✅ Very high | ✅ Native | ✅ High (logic) | | Self-drawn cross-platform (canvas) | Flutter, Qt Quick, Avalonia | ⚠️ Mimics but not identical | ⚠️ Good, but extra layer | ✅ High | | Webview-based (HTML/CSS/JS) | Electron, Tauri (webview), Cordova | ❌ Feels foreign | ❌ Higher memory, less smooth | ✅ Very high | The modern movement isn't about writing separate codebases

Beyond the Default: Mastering the Art of the Native UI If you’ve spent any time in the world of modding or specialized software development, you’ve likely encountered . Whether you're building a sleek interaction menu for a GTA V mod or developing high-performance mobile apps with React Native , the "Native" look isn't just an aesthetic—it's a philosophy of seamless user experience.

: Don't cram fifty items into one list. Use the AddSubMenu function to create a logical hierarchy. It keeps the interface clean and reduces the rendering load on a single frame. 2. Modernizing the "Native" Look

let button = NSButton(frame: NSRect(x: 10, y: 10, width: 80, height: 32)) button.title = "Save" button.bezelStyle = .rounded button.target = self button.action = #selector(saveClicked) window.contentView?.addSubview(button)