Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 860993
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T08:54:22+00:00 2026-05-15T08:54:22+00:00

If we’ve learned anything from HTML/CSS it’s that, declarative languages (like XML) do a

  • 0

If we’ve learned anything from HTML/CSS it’s that, declarative languages (like XML) do a good job of describing User Interfaces because:

  1. It’s easy to build code preprocessors that can template the code effectively.
  2. The code is in a well defined well structured (ideally) format so it’s easy to parse.
  3. The technology to effectively parse or crawl an XML based source file already exists.
  4. The UIs scripted code becomes much simpler and easier to understand.
  5. It simple enough that designers are able to design the interface themselves.
  6. Programmers suck at creating UIs so it should be made easy enough for designers.

I recently took a look at the meat of a WPF application (ie. the XAML) and it looks surprisingly familiar to the declarative language style used in HTML.

The current state of desktop UI development is largely fractionalized, otherwise there wouldn’t be so much duplicated effort in the domain of graphical user interface design (IE. GTK, XUL, Qt, Winforms, WPF, etc).

There are 45 GUI platforms for Python alone

What are some Open Source GUI’s that represent these characteristics:

  • standardized
  • platform independent
  • declarative markup language
  • language agnostic

WPF, or more specifically XAML seems like a pretty likely step in the right direction.

Update:

Thanks a lot for the info, keep it comin’. Here’s are the options I’ve gathered from the comments and answers.

GladeXML

  • Editor: Glade Interface Designer
  • OS Platforms: All
  • GUI Platform: GTK+
  • Languages: C (libglade), C++, C# (Glade#), Python, Ada, Pike, Perl, PHP, Eiffel, Ruby

XRC (XML Resource)

  • Editors: wxGlade, XRCed, wxDesigner, DialogBlocks (non-free)
  • OS Platforms: All
  • GUI Platform: wxWidgets
  • Languages: C++, Python (wxPython), Perl (wxPerl), .NET (wx.NET)

XML based formats that are either not free, not cross-platform, or language specific

XUL

  • Editor: Any basic text editor
  • OS Platforms: Any OS running a browser that supports XUL
  • GUI Platform: Gecko Engine?
  • Languages: C++, Python, Ruby as plugin languages not base languages

Note: I’m not sure if XUL deserves mentioning in this list because it’s less of a desktop GUI language and more of a make-webapps-run-on-the-desktop language. Plus, it requires a browser to run. IE, it’s ‘DHTML for the desktop.’

CookSwing

  • Editor: Eclipse via WindowBuilder, NetBeans 5.0 (non-free) via Swing GUI Builder aka Matisse
  • OS Platforms: All
  • GUI Platform: Java
  • Languages: Java only

XAML (Moonlight)

  • Editor: MonoDevelop
  • OS Platforms: Linux and other Unix/X11 based OSes only
  • GUI Platforms: GTK+
  • Languages: .NET

Note: XAML is not a pure Open Source format because Microsoft controls its terms of use including the right to change the terms at any time. Moonlight can not legally be made to run on Windows or Mac. In addition, the only platform that is exempt from legal action is Novell. See this for a full description of what I mean.
XAML is also not an ECMA standard like C#, Managed C++, and the CLR.

Update: The question has been changed from “Is there an Open source alternative to WPF? because the original question was wrong, and it sucked. The direction of this question has changed direction to match up to align with the new input. My apologies to the people who responded before it changed.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T08:54:23+00:00Added an answer on May 15, 2026 at 8:54 am

    Qt is developing QML, which looks a lot like XAML except in JSON. It’s available as a preview built against the current version, and is available in snapshots of the next version.

    Here’s a little snippet from http://doc.qt.nokia.com/4.7-snapshot/declarative-ui-components-progressbar.html

    import Qt 4.7
    import "content"
    
    Rectangle {
       id: main
    
        width: 600; height: 405
        color: "#edecec"
    
        Flickable {
           anchors.fill: parent
           contentHeight: column.height + 20
    
           Column {
               id: column
               x: 10; y: 10
               spacing: 10
    
               Repeater {
                   model: 25
    
                   ProgressBar {
                     property int r: Math.floor(Math.random() * 5000 + 1000)
                     width: main.width - 20
    
                     NumberAnimation on value { duration: r; from: 0; to: 100; loops: Animation.Infinite }
                     ColorAnimation on color { duration: r; from: "lightsteelblue"; to: "thistle"; loops: Animation.Infinite }
                     ColorAnimation on secondColor { duration: r; from: "steelblue"; to: "#CD96CD"; loops: Animation.Infinite }
                   }
               }
           }
       }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 442k
  • Answers 442k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Possibly the   - that isn't an xml entity unless… May 15, 2026 at 5:53 pm
  • Editorial Team
    Editorial Team added an answer Well I am not a big F# person but with… May 15, 2026 at 5:53 pm
  • Editorial Team
    Editorial Team added an answer In one of my applications I have an an embedded… May 15, 2026 at 5:53 pm

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.