Какой из них для настольного приложения с красивым пользовательским интерфейсом: QtWebkit или Qml?

Я исследовал эти две технологии для создания красивого рабочего стола с помощью Qt. Однако я вижу, что люди говорят о Qml как о следующей большой вещи для настольных приложений, поскольку он обеспечивает все эти «хорошие» эффекты для настольных приложений. Но, с другой стороны, с помощью QtWebkit мы могли бы создать такой же современный пользовательский интерфейс, как и в Интернете. Теперь мне нужна помощь в выборе правильной технологии для кроссплатформенного приложения с привлекательным пользовательским интерфейсом. Итак, Qml или QtWebkit с html5?


person scarecrow    schedule 15.10.2013    source источник
comment
В конце концов, вы должны прочитать эту статью. Пользовательский интерфейс по-прежнему сделан с помощью QtGui.   -  person Sebastian Lange    schedule 15.10.2013
comment
поэтому мой вопрос. рендеринг всего приложения с помощью html и javascript с использованием Qwebview в qtwebkit   -  person scarecrow    schedule 15.10.2013
comment
Вы можете отобразить его с помощью любого движка браузера, если хотите. Совсем не обязательно использовать Qt. Qt предназначен для упрощения разработки пользовательского интерфейса настольного приложения, но если вам нравятся сложные/экзотические способы, вы можете отображать настольный пользовательский интерфейс с помощью веб-браузеров.   -  person Dmitry Sazonov    schedule 15.10.2013
comment
спасибо за подсказку ребята!   -  person scarecrow    schedule 15.10.2013


Ответы (1)


В конечном итоге вы столкнетесь с ограничениями webkit. Во-первых, webkit действительно тяжеловесен. Только его движок javascript весит около 5 МБ IIRC. Qt 5.2 отказался от движка javascript V8 для собственного движка и сэкономил примерно столько же за счет размера исполняемого файла.

QML дает вам все преимущества javascript с парой вещей, которых просто нет в webkit, а именно:

  1. Декларативный стиль связывания объектов вместе с множеством эффективных элементов, таких как анимация. В html вы должны иметь дело с dom и css отдельно, и между ними существует очевидное несоответствие импеданса — дизайны не имеют ничего общего друг с другом.

  2. Постоянно улучшающийся граф сцены на основе OpenGL-ES. WebGL предоставляет интерфейс гораздо более низкого уровня, чем этот, а DOM — это нечто совершенно другое.

  3. Более легкий двигатель V4 (в версии 5.2), оптимизированный для QML.

Неважно, что webkit вообще не использует аппаратное ускорение для рендеринга. В QML графическое оборудование номинально выполняет весь рендеринг. С webkit как есть (в отличие, скажем, от Awesomium), вы оставляете себя позади с точки зрения производительности. Это может позволить вам делать «яркие» вещи, но это не будет так плавно, как QML.

person Kuba hasn't forgotten Monica    schedule 15.10.2013