Я исследовал эти две технологии для создания красивого рабочего стола с помощью Qt. Однако я вижу, что люди говорят о Qml как о следующей большой вещи для настольных приложений, поскольку он обеспечивает все эти «хорошие» эффекты для настольных приложений. Но, с другой стороны, с помощью QtWebkit мы могли бы создать такой же современный пользовательский интерфейс, как и в Интернете. Теперь мне нужна помощь в выборе правильной технологии для кроссплатформенного приложения с привлекательным пользовательским интерфейсом. Итак, Qml или QtWebkit с html5?
Какой из них для настольного приложения с красивым пользовательским интерфейсом: QtWebkit или Qml?
Ответы (1)
В конечном итоге вы столкнетесь с ограничениями webkit. Во-первых, webkit действительно тяжеловесен. Только его движок javascript весит около 5 МБ IIRC. Qt 5.2 отказался от движка javascript V8 для собственного движка и сэкономил примерно столько же за счет размера исполняемого файла.
QML дает вам все преимущества javascript с парой вещей, которых просто нет в webkit, а именно:
Декларативный стиль связывания объектов вместе с множеством эффективных элементов, таких как анимация. В html вы должны иметь дело с dom и css отдельно, и между ними существует очевидное несоответствие импеданса — дизайны не имеют ничего общего друг с другом.
Постоянно улучшающийся граф сцены на основе OpenGL-ES. WebGL предоставляет интерфейс гораздо более низкого уровня, чем этот, а DOM — это нечто совершенно другое.
Более легкий двигатель V4 (в версии 5.2), оптимизированный для QML.
Неважно, что webkit вообще не использует аппаратное ускорение для рендеринга. В QML графическое оборудование номинально выполняет весь рендеринг. С webkit как есть (в отличие, скажем, от Awesomium), вы оставляете себя позади с точки зрения производительности. Это может позволить вам делать «яркие» вещи, но это не будет так плавно, как QML.