Каков ваш опыт использования веб-технологий (HTML, XML, CSS, JavaScript) для реализации части функциональных возможностей приложения GUI? За и против, пожалуйста.Веб-технологии в приложениях с графическим интерфейсом
Нет серверов, реляционных баз данных, AJAX или файлов cookie для управления сеансом или существующего веб-приложения, а скорее GUI-приложение, которое использует веб-виджеты (например, Qt WebKit) для визуализации и обработки значительных частей пользовательского интерфейса, пользуясь преимуществами рамки GUI для достижения еще более богатого взаимодействия и лучшей интеграции с настольными системами.
Я уже подтвердил, что подход возможен с использованием PyQt. Содержимое может быть отображено из файловой системы или из строк, а URL-запросы (изображения или клики) могут быть захвачены и обработаны обработчиками событий формы. CSS и JavaScript поддерживаются, возможно, с некоторыми ограничениями.
# ...
self.webView.page().setLinkDelegationPolicy(
QtWebKit.QWebPage.DelegateExternalLinks
)
#...
class TotiMainWindow(QtGui.QMainWindow):
def linkClicked(self, url):
pass # events arrive here
Примечание: Этот вопрос отличается от this one и this one сделал раньше, между прочим, потому что не требуется использовать веб-технологии на GUI, но есть требование о том, что приложение должно работать без сети доступное соединение, и должно хорошо интегрироваться с рабочим столом по умолчанию на разных платформах, без предыдущих требований к инфраструктуре (без .NET, Java, браузеров или серверов баз данных).
Примечание: Я опубликовал другую версию этого вопроса в PMS, но нашел очень мало опыта в этом подходе.
Закрытие Примечание
Я только что нашел большую часть информации, которую я искал в серии blog posts by André Pareis.
В приложении у меня есть документы со встроенными изображениями в качестве основной функции. Это было бы традиционное приложение с базами данных и генераторами форм, за исключением того, что в этом случае не будет сервера базы данных, а механизм шаблонов HTML будет генератором форм. Тесты пока показывают, что проблемы со встроенным веб-браузером (брандмауэрами, несовместимыми настройками) могут быть решены с помощью веб-виджета, который может отображать страницы независимо от любого другого браузера, происходящего на машине, и без открытия каких-либо сокетов. – Apalala