Илья Ермаков писал(а):
Иначе - прибитое гвоздями в коде типа QT.
Возможно, я неправильно понимаю, что Вы имеете ввиду под "прибитое гвоздями", но допускаю, что Вы несколько недооцениваете QT. По моему опыту вся прибитость происходит не столько из-за технических особенностей, сколько из-за понимания программистами и другими причастными, как должно строиться взаимодействие. В 2013 году для нашей приблуды в виде динамической библиотеки была сделана визуальная среда, которая в соответствии с моим видением должна была строить интерфейс, основываясь на данных, полученных от библиотеки после подключения. Я ничего не навязывал, и коллеги после некоторых экспериментов единогласно проголосовали именно за QT, на 4-й версии которого и была успешно реализована задумка. Я даже не особо вмешивался в процесс, достаточно было постановки задачи и поверхностного контроля. Может, наш подход был не совсем типичным для QT и некоторые вещи меня в нём раздражали, но, по крайней мере, framework оказался достаточно гибким и не оказывал сопротивления. Чуть позже добавилась концепция самоописываемых устройств, когда уже не просто библиотека, но и отдельные подключаемые устройства/процессы взаимодействовали через гибкие интерфейсы. Всё было сделано без рефлексии и никаких сверхестественных технических трудностей и прибитостей гвоздями я не увидел. Зато вскрылось следующее:
1. Первоначальное сопротивление и скепсис части коллег, которое было преодолено отчасти субординацией, отчасти быстрым достижением рабочего результата.
2. Когда мы попытались продвинуть решение дальше - в штаб квартиру, то сначала это вызвало полное непонимание. Когда же осознание пришло, то нам даже запретили заниматься чем-либо подобным. Несмотря на масштабируемость и высокую скорость распространения изменений в гибком решении, с их точки зрения всё должно было быть прибито гвоздями, потому что они так привыкли! Решение мы оставили неизменным, но его пришлось прятать за ширму.
3. На текущем проекте, к которому я присоединился в сложенную команду как рядовой разработчик, я показал лидеру проекта свои наработки и предложил воплотить схожий подход. И увидел равнодушный взгляд и отговорку - сложно.
Я вижу, что дело не столько в технике, сколько в психологии. Тупая жёсткость визуальной среды - это не результат незнания, который легко преодолевается, а результат
сознательного выбора многих разработчиков.