LINUX.ORG.RU

История изменений

Исправление equeim, (текущая версия) :

uic по сути решает другие задачи, нежели QML. Он позволяет поределить иерархию, расположение контролов относительно друг друга, их внешний вид и т.п. Но он не позволяет определить логику взаимодействия контролов друг с другом - а это тоже немалая часть создания интерфейса. Эту логику приходилось писать на C++. А разработчики QML хотели упростить написание интерфейсной логики, перевести ее на другой язык, чтобы интерфейсы могли писать и те, кто плохо знает C++. В случае варианта с кодогенерацией всю эту логику пришлось бы транслировать в C++, что создало бы дополнительные сложности. А JS многим знаком, и для внутриQMLной логики решено было использовать именно его. Т.е. интерфейс мы пишем на QML + JS, а бэкенд на C++.

А насчет тормозов - я такого не заметил (если все делать грамотно). Основные претензии у к QML у меня это JS (можно было бы использовать более строгий язык, хоть даже свой собственный) и непригодность Qt Quick для написания десктопных интерфейсов.

Исправление equeim, :

uic по сути решает другие задачи, нежели QML. Он позволяет поределить иерархию, расположение контролов относительно друг друга, их внешний вид и т.п. Но он не позволяет определить логику взаимодействия контролов друг с другом - а это тоже немалая часть создания интерфейса. Эту логику приходилось писать на C++. А разработчики QML хотели упростить написание интерфейсной логики, перевести ее на другой язык, чтобы интерфейсы могли писать и те, кто плохо знает C++. В случае варианта с кодогенерацией всю эту логику пришлось бы транслировать в C++, что создало бы дополнительные сложности. А JS многим знаком, и для внутриQMLной логики решено было использовать именно его. Т.е. интерфейс мы пишем на QML + JS, а бэкенд на C++.

Исходная версия equeim, :

uic по сути решает другие задачи, нежели QML. Он позволяет поределить иерархию, расположение контролов относительно друг друга, их внешний вид и т.п. Но он не позволяет определить логику взаимодействия контролов друг с другом - а это тоже немалая часть создания интерфейса. Эту логику приходилось писать на C++. А разработчики QML хотели упростить написание интерфейсной логики, перевести ее на другой язык, чтобы интерфейсы могли писать и те, кто плохо знает C++. В случае варианта с кодогенерацией всю эту логику пришлось бы транслировать в C++, что создало бы дополнительные сложности. А JS многим знаком, и для внутриQMLной логики решено было использовать именно его.