Vue NativeVue Native
Guide
Components
Composables
Navigation
  • iOS
  • Android
  • macOS
GitHub
Guide
Components
Composables
Navigation
  • iOS
  • Android
  • macOS
GitHub
  • macOS
  • macOS Setup — Build & Run
  • VueNativeWindowController

macOS

Vue Native supports building native macOS desktop applications using AppKit. Your Vue.js components render as real native macOS controls — not web views.

Requirements

  • macOS 15 (Sequoia) or later
  • Xcode 16+
  • Swift 6.0+ toolchain

How It Works

Vue Native on macOS uses the same architecture as iOS:

  1. Your Vue 3 components are compiled to an IIFE JavaScript bundle
  2. JavaScriptCore (built into macOS) runs your Vue app
  3. The Vue custom renderer translates virtual DOM operations into native AppKit view operations
  4. A flexbox layout engine positions your views

Quick Start

vue-native create my-mac-app --platforms macos
cd my-mac-app
vue-native dev
vue-native run macos

Key Differences from iOS

AspectiOSmacOS
FrameworkUIKitAppKit
Entry PointVueNativeViewControllerVueNativeWindowController
Layout EngineFlexLayout (Yoga)LayoutNode (custom flexbox)
Coordinate SystemTop-left originTop-left via FlippedView
ControlsTouch-basedMouse/keyboard

macOS-Only Components

  • VToolbar — Native window toolbar
  • VSplitView — Split pane layout
  • VOutlineView — Tree view

macOS-Only Composables

  • useWindow — Window management
  • useMenu — App and context menus
  • useFileDialog — File open/save dialogs
  • useDragDrop — Drag and drop

No-Op Components on macOS

These components exist for cross-platform compatibility but are no-ops on macOS:

  • VStatusBar — macOS has no app status bar
  • VKeyboardAvoiding — Desktop keyboards don't cover content
  • VRefreshControl — No pull-to-refresh on desktop
Edit this page
Last Updated: 2/28/26, 11:24 PM
Contributors: Abdul Hamid, Claude Opus 4.6
Next
macOS Setup — Build & Run