Сведения о вопросе

Htmlщик

16:03, 1st July, 2020

Теги

Кросс-платформенный, язык Agnostic GUI Markup Language?

Просмотров: 586   Ответов: 10

Я узнал Swing еще в тот день, но теперь я переехал в Python и хочу сделать некоторые приложения с GUIs. У меня не было времени изучить новый GUI API, поэтому я использовал Jython, но я предпочел бы использовать CPython.

Было бы здорово, если бы у меня был один простой markup, который позволяет мне переключать GUI библиотек. Было бы еще лучше, если бы я мог использовать один и тот же язык markup для разных языков, чтобы я мог быстро сделать GUIs для любого языка, который я использую. Кто-нибудь знает о таком markup/library?

Я видел такие накладки, как Glade и wxWidget's markup (я забыл название). Они отчасти то, что я ищу (создание GUI без кодирования его на языке), но они переплетены с определенной библиотекой. И ни один из них не очень хорошо выглядит и не дружелюбен к человеческому редактированию.



  Сведения об ответе

lats

18:03, 1st July, 2020

э.. HTML? (пытаясь быть смешным здесь... пока мы ждем реальных ответов..)


  Сведения об ответе

park

18:03, 1st July, 2020

http://en.wikipedia.org/wiki/Qt_ (toolkit)">Qt (произносится как "cute" по своему creators[1])-это кросс-платформенный фреймворк разработки приложений, широко используемый для разработки GUI программ.

Qt использует C++ с несколькими нестандартными расширениями, реализованными дополнительным предпроцессором, который генерирует стандартный код C++ перед компиляцией. Qt может также использоваться в нескольких других языках программирования; привязки существуют для Ada (QtAda)[4], C**#** (Qyoto/Kimono)[5], Java (Qt Джамби)[6], Pascal , Perl , PHP (PHP-Qt), Ruby (RubyQt), и Python (PyQt). Он работает на всех основных платформах и имеет обширную поддержку интернационализации. К функциям, не связанным с GUI, относятся SQL доступ к базе данных, XML синтаксический анализ, управление потоками, сетевая поддержка и унифицированный кросс-платформенный API для обработки файлов.


  Сведения об ответе

padenie

18:03, 1st July, 2020

Я серьезно сомневаюсь, что вы найдете язык markup для GIU, который не привязан к конкретной библиотеке. Для того чтобы такая вещь существовала, необходимо было бы иметь стандартизированный язык GUI markup с несколькими реализациями.


  Сведения об ответе

repe

18:03, 1st July, 2020

XML Язык Пользовательского Интерфейса . Не знаю много об этом, поэтому не уверен, что это соответствует вашим желаниям. Пост обратно с вашим опытом, если вы играете с ним.


  Сведения об ответе

#hash

18:03, 1st July, 2020

Не уверен, что это то, что вы ищете, но есть Glade (или Windows скачать), который является дизайнером для GTK+. Он генерирует файл XML, который затем может быть использован для построения GUI на нескольких различных языках.


  Сведения об ответе

appple

18:03, 1st July, 2020

Библиотека wxWidgets (ранее известная как wxWindows) может быть тем, что вы ищете. Есть особенно хороший порт для Python, wxPython, а также версии для разных языков - C#, C++, Perl и Ruby приходят на ум - и для различных GUIs: Win32, Mac OS X, GTK+, X11, Motif, WinCE. Библиотека существует уже некоторое время и довольно солидная.


  Сведения об ответе

ITSME

18:03, 1st July, 2020

@Cristian и Энтони Крамп: хотя XUL-хороший выбор для разработки UI (кросс-платформенный, с открытым исходным кодом, используемый в Firefox и других крупных программах), это, конечно, не языковая агностика. Вы связаны с гекконом, с JS для сценариев. Существует экспериментальная поддержка Python сценариев, но это всего лишь экспериментальный AFAIK.

Вы можете определить UI в XUL+JS и использовать внутренние компоненты, написанные на языке C++ (есть также мосты Python и Java).


  Сведения об ответе

прога

18:03, 1st July, 2020

Я бы пошел с XSLT, поэтому он может быть встроен и в другие интерфейсы.


  Сведения об ответе

padenie

18:03, 1st July, 2020

Я немного читал на языке пользовательского интерфейса XML (XUL), и он выглядит действительно надежным и хорошо поддерживается. Основная проблема для меня заключается в том, что он привязан к движку рендеринга Gecko, поэтому он кросс-платформенный, как wxWidgets, QT и GTK+ являются кросс-платформенными. Кроме того, там Python привязки не кажутся такими же хорошими, как в других библиотеках.

GladeXML и XRC кажется лучше вобще


  Сведения об ответе

LAST

18:03, 1st July, 2020

Если вы переключаетесь на .NET, то вы можете использовать общий язык GUI, например Razor в MVC (если вы занимаетесь веб-разработкой), и иметь выбор из C# или VB или ряда других языков.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться