Подтвердить что ты не робот

Кросс-платформенный язык, язык агностического языка разметки GUI?

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

Вы можете определить пользовательский интерфейс в XUL + JS и использовать внешние компоненты, написанные на С++ (есть также мосты Python и Java).

Ответ 8

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

GladeXML и XRC кажутся лучшими разметками

Ответ 9

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

Ответ 10

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