Дискуссия о возможности включения QtWebEngine в дистрибутивы Linux и другие ОС

Начиная с версии 5.4, в составе широко распространённого тулкита Qt поставляется QtWebEngine — встраиваемый Web-компонент на основе Blink/Chromium. Изначально планировалось, что в будущем QtWebEngine заменит основанный на Webkit компонент QtWebkit, так как его поддержка в Qt, со слов разработчиков Qt, требует в разы меньших усилий. Однако мейнтейнеры ряда основных дистрибутивов Linux (Debian/Ubuntu и Fedora, как минимум), а также других ОС, пришли к выводу, что использование кодовой базы Chromium приводит к слишком большим проблемам в сопровождении: Chromium содержит вшитый FFmpeg вместо использования, например, GStreamer. Как результат, невозможно добавить, удалить или заменить кодеки способом иным, нежели перекомпиляция Chromium. Chromium жёстко завязан на использование поставляемого в его составе JavaScript-движка V8, что автоматически ставит крест на архитектурах за пределами Intel x86. Сборка Chromium с использованием внешних компонентов вместо поставляемых в комплекте с исходными текстами изначально затруднена и требует большой работы со стороны мейнтейнеров, зачастую повторяющейся при каждом обновлении Chromium (а обновления выходят довольно часто). Сборка Chromium отнимает довольно много ресурсов; сборка QtWebEngine означает ещё одну сборку Chromium, причём с использованием альтернативного сборочного инструментария (qmake), что означает ещё больше усилий, чем требуется на оригинальный Chromium — и это получается лишь один из компонентов Qt. Мультипроцессная архитектура Chromium автоматически наследуется в QtWebEngine, усложняя контроль над работающими приложениями. В связи с этим возникли такие вопросы как:

Насколько оправдано применение QtWebkit/QtWebEngine в KDE и других приложениях; Какие существуют альтернативы (например, QTextView имеет базовые возможности по интерпретации HTML). Пока что выработать универсальное решение не удаётся. Возможно, привлечение большего числа специалистов поможет найти таковое (список рассылки kde-core-devel модерируется, поэтому угрозы замусоривания обсуждения нет).

©  OpenNet