Здравствуйте, Alekzander, Вы писали:
A>Декларативность — понятие очень многозначное. Есть декларативность разметки.
Было бы интересно увидеть пример не декларативной разметки.
A>Есть декларативность адресации контролов (селекторы).
Что ты имеешь в виду? Привиди пример.
A>Есть декларативность на уровне языка управления (поддержка лямбд вместо циклов).
Лямбды ортогональны циклам и к декларативности отношения не имеют.
A>Многие эти декларативности присутствуют в HTML, но не в QML.
Декларативность в QML это просто и наглядно:
Rectangle {
width: 100
height: 200
Rectangle {
width: parent.width / 2
height: parent.height / 3
}
}
A>А другие, связанные с языковым уровнем, худо-бедно поддержаны в C++ без помощи Qt, но там нет автоматического управления памятью, который не менее важен для UI, чем декларативности. Поэтому я и дописал в конце: "И поуправляй памятью для всего этого дела".
Для связки C++/QML о памяти не нужно думать в 99%.
A>Так-то, в скрипт (JS) вынесено всё самое императивное из связки HTML/CSS/JS. Декларативное оставлено в HTML, CSS и в языке селекторов. Сборщик мусора + намного более приятный синтаксис — вот чем, в первую очередь, зачётны скрипты в UI.
Так это ровно также в QML: если нужно что-то императивное, то есть JS/Python/C++.
A>Не знаю, кому там что приятно, но сравнивать с титаническим HTML какие-то местечковые технологии... всякие QML, XAML... Я подписан на несколько дайджестов, где постоянно выкладывают фокусы, связанные с UI, сделанные на HTML. Конкурсы проводятся, жизнь бурлит. А покажи хоть один дайджест для QML-девелоперов. Или конкурс
Сядь в современный автомобиль: с выской вероятностью интерфейс написан на C++/QML.