¿Plataforma cruzada, lenguaje de marcado de la interfaz gráfica de usuario agnóstica?

Aprendí Swing en el pasado, pero ahora me mudé a Python y quiero crear algunas aplicaciones con GUIs. No he tenido tiempo de aprender una nueva API GUI, así que he estado usando Jython, pero preferiría usar CPython.

Sería genial si pudiera tener un simple marcado que me permita cambiar las bibliotecas GUI. Sería aún mejor si puedo usar el mismo lenguaje de marcado en todos los idiomas para poder crear GUI rápidamente para cualquier idioma que esté usando. ¿Alguien sabe de tal marca / biblioteca?

He visto marcas como las de Glade y wxWidget (no recuerdo el nombre). En parte son lo que estoy buscando (haciendo una GUI sin codificarlo en un idioma) pero están entrelazados con una biblioteca específica. Y ninguno de ellos es realmente atractivo o amigable con la edición humana.

erm .. HTML? (Tratando de ser gracioso aquí … mientras esperamos respuestas reales …)

http://en.wikipedia.org/wiki/Qt_(toolkit)“>Qt (pronunciado “cute” por sus creadores [1]) es un marco de desarrollo de aplicaciones multiplataforma, ampliamente utilizado para el desarrollo de progtwigs GUI.

Qt usa C ++ con varias extensiones no estándar implementadas por un preprocesador adicional que genera código estándar de C ++ antes de la comstackción. Qt también se puede utilizar en varios otros lenguajes de progtwigción; existen enlaces para Ada (QtAda) [4], C ** # ** (Qyoto / Kimono) [5], Java (Qt Jambi) [6], Pascal , Perl , PHP (PHP-Qt), Ruby (RubyQt) , y Python (PyQt). Se ejecuta en todas las plataformas principales y tiene un amplio soporte de internacionalización. Las características que no son GUI incluyen el acceso a la base de datos SQL, el análisis XML, la administración de subprocesos, el soporte de red y una API unificada multiplataforma para el manejo de archivos.

Dudo seriamente que encuentres un lenguaje de marcado para GIU que no esté vinculado a una biblioteca específica. Para que exista tal cosa, habría que haber un lenguaje de marcado de GUI estandarizado, con varias implementaciones.

No estoy seguro de si esto es lo que estás buscando, pero hay Glade (o descarga de Windows ) que es un diseñador para GTK +. Genera un archivo XML que luego se puede usar para construir la GUI en varios idiomas diferentes.

Lenguaje de interfaz de usuario XML . No sé mucho al respecto, por lo que no estoy seguro de si cumple con tus deseos. Regresa con tu experiencia si juegas con ella.

La biblioteca wxWidgets (anteriormente conocida como wxWindows) puede ser lo que está buscando. Hay un puerto particularmente bueno para Python, wxPython , así como versiones para diferentes idiomas (C #, C ++, Perl y Ruby vienen a la mente) y para varias GUI: Win32, Mac OS X, GTK +, X11, Motif, WinCE. La biblioteca ha existido por un tiempo y es bastante sólida.

@Cristian y Antony Cramp: si bien XUL es una buena opción para el desarrollo de la interfaz de usuario (multiplataforma, licencia de código abierto, utilizada en Firefox y otro software importante), ciertamente no es un lenguaje independiente. Estás atado a Gecko, con JS para scripting. Hay soporte experimental para los scripts de Python, pero es solo experimental, AFAIK.

Puede definir la interfaz de usuario en XUL + JS y usar componentes de back-end escritos en C ++ (también hay disponibles puentes de Python y Java).

Leí un poco en XML User Interface Language (XUL) y se ve realmente robusto y bien soportado. El principal problema para mí es que está vinculado al motor de renderizado Gecko, por lo que es multiplataforma de la forma en que wxWidgets, QT y GTK + son multiplataforma. Además, los enlaces de Python no parecen ser tan buenos como esas otras bibliotecas.

GladeXML y XRC parecen mejores marcas

Me gustaría ir con XSLT, por lo que también podría integrarse en otras interfaces.

Si cambia a .NET, entonces puede usar un lenguaje GUI común, por ejemplo Razor en MVC (si está haciendo desarrollo web), y puede elegir entre C # o VB o varios otros idiomas.