Skip to content
Vinícius Costa edited this page Apr 12, 2026 · 2 revisions

A practical GitHub Wiki for building desktop apps in Swift with Aparoksha across:

  • Windows via WinUI
  • macOS via AppKit
  • Linux via libadwaita / GTK

This wiki consolidates the current project knowledge into one place and restructures it for GitHub Wiki usage.

Project status

At the time this wiki was written, Aparoksha is still an evolving project. The public documentation describes it as still in development, with incomplete docs and a limited set of views. Because of that, this wiki is designed to be:

  • a practical starting point
  • a single reference for setup and examples
  • a companion to the upstream source code

Use it as a working guide, but expect some APIs and project structure to change over time.

What Aparoksha is

Aparoksha is a Swift desktop UI framework that aims to let you describe your app in a declarative way while rendering native widgets through a platform backend.

The intended backend model is:

  • Linux → Adwaita / GTK
  • macOS → AppKit-backed macOS UI
  • Windows → WinUI

In practice, the main umbrella package resolves the backend automatically based on the current platform, and you can override that selection with the APAROKSHA_FRAMEWORK environment variable when needed.

Recommended way to use this wiki

If you are starting from zero, read in this order:

  1. Getting Started
  2. Starter Template
  3. Project Structure and Core Concepts
  4. Examples
  5. Building Cross-Platform
  6. Distribution and Current Limitations

At a glance

  • Use the umbrella Aparoksha package first
  • Prefer the native default backend for your current OS
  • Treat the official demo app as a living reference
  • Expect some rough edges, especially outside the most mature parts of the ecosystem

Who this wiki is for

This wiki is useful if you want to:

  • create a new Aparoksha app from scratch
  • publish a minimal starter project on GitHub
  • understand how the framework is structured
  • test the same app idea on Linux, macOS, and Windows
  • learn the current API without jumping through scattered documentation

Clone this wiki locally