Кроссплатформенная разработка графического интерфейса между wxPython и Mono

В последнее время я думал о том, чтобы попробовать разработку графического интерфейса, и меня разрывает выбор между wxPython и Mono.

Судя по тому, что я там видел, люди с wxPython, кажется, используют трюк WebKit для создания приятного (не обязательно красивого) пользовательского интерфейса.

Насколько сложно сделать следующее на каждой из платформ:

1) Пользовательский контроль

2) Используйте рендеринг HTML

Я не совсем понимаю, насколько рендеринг HTML работает через WebKit в wxPython (т.е. поддерживает ли он отдельные файлы CSS/JS? как поддержка JS? нужно ли нам писать дополнительный код wxPython для запуска JS? насколько это сложно для интеграции между событиями JS и виджетами wxPython? какова обычная стратегия интеграции WebKit с wxPython?)

Не поделитесь своими мыслями на эту тему? Я специально выбираю wxPython или Mono, а не Java Swing без всякой причины.

PS: я знаю об определенных ограничениях кросс-платформенного пользовательского интерфейса (например, он не будет на 100% нативным), и мне наплевать на такие вещи.


person edwin.nathaniel    schedule 09.02.2012    source источник


Ответы (1)


wxPython имеет wxWebkit, доступный через новый виджет WebView, но WebKit сейчас доступен только на Mac и Linux. WebView использует другой движок рендеринга в Windows под названием Trident из IE (см. http://wxpython.org/CHANGES.html). Так что вам нужно иметь это в виду.

В любом случае, мы говорим о движках браузеров, которые отображают HTML, CSS и т. д. Теоретически они должны отображать все, что поддерживают эти движки. Вам нужно будет посмотреть их спецификации, чтобы быть уверенным, а также убедиться, что порт поддерживает все. Насколько я понимаю, они обязательно должны поддерживать обычный HTML и CSS, и я бы предположил обычный javascript. На вашем месте я бы просто создал простое окно в wxPython, а затем загрузил бы созданную вами веб-страницу и посмотрел, как она работает.

Я не знаю, как javascript взаимодействует с wxPython и работает ли вообще. Вы захотите спросить в их списке рассылки такую ​​​​информацию.

person Mike Driscoll    schedule 10.02.2012
comment
Просто добавление: Pyside 1.1.0 имеет привязки WebKit, которые проходят половину тестов HTML5 (за исключением WebGL). Как указывает Майк, wxPython использует трезубец и по умолчанию использует MSIE 7, что, к сожалению, не очень хорошо. - person David; 08.03.2013
comment
Я думаю, что проект wxWebkit должен в какой-то момент добавить поддержку Windows, но я не видел обновления уже несколько месяцев. - person Mike Driscoll; 08.03.2013