Skip to main content

What is Mango UI?

· 2 min read
Thobias
Thobias
Mango Developer

Hello there, curious wanderer! 👋
You’ve stumbled across Mango UI — a little project that sprouted from a wild idea:
What if desktop apps could be written in a clean, declarative DSL instead of wrestling with boilerplate? 🍋

It all started with a dream of making a programming language.
But on the journey, we noticed something odd:
there weren’t many DSLs out there for desktop app development.
So, fueled by the declarative spirit (and maybe too much coffee ☕), Mango UI was born.

A Taste of Mango

Here’s a tiny “Hello World” in Mango UI — short, sweet, and to the point:

window "Hello, Mango!"

No extra wiring, no complex boilerplate — just the essentials. (And yes, it really does pop up a window!)

Why F#?

Mango UI is built on top of F#. Why? Because F# is a natural fit for DSLs:

  • It's pattern matching makes parsing elegant
  • It's concise syntax keeps the host code readable
  • It's functional style meshes perfectly with declarative thinking

We wanted a host language that doesn’t get in the way — and F# gives us just that.

Our Roadmap

Mango UI is still young — but like a mango tree, we’ve got growth planned 🌱:

Phase 1: Roots

  • Basic interpretation engine
  • Core UI elements (via Avalonia)

Phase 2: Branches

  • Declarative event handling
  • Function & variable declarations
  • Expanded UI component set

Phase 3: Leaves

  • Performance tuning & layout improvements
  • Experimenting with a lower-level rendering backend

Possible Future Fruits 🍊

  • Compiling to WebAssembly or standalone .exe apps
  • Direct rendering using OpenGL, Vulkan, or DirectX
  • Cross-platform desktop distribution with minimal dependencies

Why Mango UI?

Because building desktop apps should feel fresh, expressive, and maybe even… fun! 🍹Mango UI is still growing, but we hope you’ll enjoy watching (and helping) it bloom.