Здравствуйте, Skorodum, Вы писали:
A>>Декларативность — понятие очень многозначное. Есть декларативность разметки.
S>Было бы интересно увидеть пример не декларативной разметки.
Ну чего дурачка-то валять? "Есть декларативность разметки[, противопоставляемая императивности создания контролов кодом]".
A>>Есть декларативность адресации контролов (селекторы).
S>Что ты имеешь в виду? Привиди пример.
В старину были адреса: Кемская волость, село Пятаково, дом купца Калашникова (зелёный такой).
По аналогии, сейчас можно разыскивать секцию с обратной формой, поле для ввода текста, обязательно зелёное.
Если ты будешь перебирать контролы, пока не найдёшь обладающий всеми свойствами, это будет императивный подход. А можно получить одним декларативным запросом, если адресация селекторная (
.feedback-form input.green). Сейчас синтаксис этих селекторов настолько развит, что это почти SQL уже
А если просто завести по переменной на каждый контрол и хранить ссылки, то это перестанет быть адресацией. Это будут шорткаты типа "доставьте посылку клиенту Васе".
A>>Есть декларативность на уровне языка управления (поддержка лямбд вместо циклов).
S>Лямбды ортогональны циклам и к декларативности отношения не имеют.
Да неужели. Лямбды позволяют
описывать задачу, типа "трансформируй коллекцию так-то", в отличие от циклов, где тебе надо её пошагово решать.
A>>Не знаю, кому там что приятно, но сравнивать с титаническим HTML какие-то местечковые технологии... всякие QML, XAML... Я подписан на несколько дайджестов, где постоянно выкладывают фокусы, связанные с UI, сделанные на HTML. Конкурсы проводятся, жизнь бурлит. А покажи хоть один дайджест для QML-девелоперов. Или конкурс
S>Сядь в современный автомобиль: с выской вероятностью интерфейс написан на C++/QML.
Я лично делал два проекта для автомобильных интерфейсов, если что. А вообще, я, как бы, не об этом. Я о том, что сейчас именно HTML это cutting edge для интерфейсостроения. Просто не надо ассоциировать HTML исключительно с гугловским ожиревшим движком или, допустим, с сервером в отдельном процессе, про который тут выше ныли. Это вещи несвязанные. Бывает, что удобно делать веб-сервер, а бывает, что нет. Я вот думаю об одном проекте, где программа сможет подключаться к любым своим инстансам на любых машинах. Там, конечно, веб-сервер будет оправдан.