Если мы научились чему-либо из HTML/CSS, это означает, что декларативные языки (например, XML) хорошо описывают пользовательские интерфейсы, потому что:
- Легко создавать препроцессоры кода, которые могут эффективно обрабатывать код.
- Код находится в хорошо определенном хорошо структурированном (идеально) формате, поэтому его легко разобрать.
- Технология эффективного анализа или сканирования исходного файла на основе XML уже существует.
- Код сценария пользовательского интерфейса становится намного проще и понятнее.
- Это достаточно просто, что дизайнеры могут сами разработать интерфейс.
- Программисты сосать при создании пользовательских интерфейсов, поэтому их нужно сделать достаточно легко для дизайнеров.
Недавно я взглянул на мясо WPF-приложения (т.е. XAML), и он выглядит удивительно знакомым для стиля декларативного языка, используемого в HTML.
Текущее состояние разработки пользовательского интерфейса для настольных компьютеров в значительной степени дробное, в противном случае не было бы так много дублирования усилий в области проектирования графического пользовательского интерфейса (IE. GTK, XUL, Qt, Winforms, WPF и т.д.).
Существует 45 графических платформ только для Python
Что такое графический интерфейс с открытым исходным кодом, который представляет эти характеристики:
- стандартизированы
- независимая от платформы
- декларативный язык разметки
- язык агностик
WPF, или, более конкретно, XAML кажется довольно вероятным шагом в правильном направлении.
Update:
Большое спасибо за информацию, держите ее в курсе. Вот варианты, которые я собрал из комментариев и ответов.
- Редактор: Дизайнер интерфейса Glade
- Платформы ОС: все
- Платформа GUI: GTK +
- Языки: C (libglade), С++, С# (Glade #), Python, Ada, Pike, Perl, PHP, Eiffel, Ruby.
- Редакторы: wxGlade, XRCed, wxDesigner, DialogBlocks (несвободный )
- Платформы ОС: все
- Платформа GUI: wxWidgets
- Языки: С++, Python (wxPython), Perl (wxPerl),.NET(wx.NET)
XML-форматы, которые либо не являются бесплатными, не кросс-платформенными, либо специфичными для языка
- Редактор: любой основной текстовый редактор
- Платформы ОС: любая ОС, работающая с браузером, поддерживающим XUL
- Платформа GUI: двигатель Gecko?
- Языки: С++, Python, Ruby как языки плагина, а не базовые языки.
Примечание. Я не уверен, что XUL заслуживает упоминания в этом списке, потому что это меньше, чем язык рабочего стола GUI, а также язык make-webapps-run-on-the-desktop. Кроме того, для запуска требуется браузер. IE, это "DHTML для рабочего стола".
- Редактор: Eclipse через WindowBuilder, NetBeans 5.0 (не бесплатно) через Swing GUI Builder aka Matisse
- Платформы ОС: все
- Платформа GUI: Java
- Языки: только Java
- Редактор: MonoDevelop
- ОС Платформы: только Linux и другие ОС на базе Unix/X11
- Платформы GUI: GTK +
- Языки:.NET
Примечание. XAML не является чистым форматом Open Source, поскольку Microsoft контролирует его условия использования, включая право изменять условия в любое время. Лунный свет не может быть законным для запуска на Windows или Mac. Кроме того, единственной платформой, которая освобождена от юридических действий, является Novell. См. это для полного описания того, что я имею в виду. XAML также не является стандартом ECMA, например С#, управляемым С++ и CLR.
Обновление: вопрос был изменен: "Есть ли альтернатива Open Source для WPF? потому что исходный вопрос был неправильным, и он сосал. Направление этого вопроса изменило направление, чтобы совместить его с новый вход. Мои извинения перед людьми, которые отреагировали, прежде чем они изменились.