Vasily
Это у тебя просто опыта не было нормального. И с винформами ты не работал, похоже
Vasily
С точки зрения написания десктопа wpf , имхо, самая удачная технология за последние лет 15
Vladislav
Я думаю, в открытом виде такого нет
просто не понятно как там что-то сложнее спауна актора сделать
Vladislav
в примерах я не увидел
Vasily
Это ты про XAML и MVVM, спорно спорно
Ну вменяемой альтернативы я не вижу, уж извини
Vasily
А я десктопа поел полной ложкой на нескольких технологиях
gsomix
@vshapenko У тебя стокгольмский синдром, я думаю.
Vasily
Нет
Igor
Vasily
Я ждал этого смайлика
Igor
Vladislav
Vasily
У wpf один большой недостаток - чтобы нормально на ней начать писать, надо потратить много времени на обучение
Vasily
И понимание идеологии
gsomix
Удобный аргумент.
Vasily
Ну я им оперирую, потому что для меня чисто субъективно это было так
gsomix
Сколько лет нужно?
Vasily
У меня заняло года полтора примерно
Vasily
Прежде чем мозги на место встали
Igor
У wpf один большой недостаток - чтобы нормально на ней начать писать, надо потратить много времени на обучение
Это странно, я его лет 5 назад активно юзал, потом Xamarin (по работе) и что-то совсем разочаровался.
Vasily
Разочаровался по сравнению с чем?
Igor
TEA архитектурой и UI в коде (DSL поверх React и тп)
Vasily
Ну на wpf примерно так же можно
Vasily
Хотя ui в коде такое себе
Vasily
Я предпочитаю отделять модели от отображени
Vasily
На wpf в большинстве случаев хватает data template
Vasily
Для отображения сложного ui модели
Igor
Я предпочитаю отделять модели от отображени
Ты можешь и скодом разнести их в два файла. И при этом тебе НЕ нужен будет код-генератор из XML и умный превьвер.
Vasily
Ну превьюером никогда не пользовался
Vasily
Кодогенератором тоже
Igor
Кодогенератором тоже
А ты думаешь XAML черезе рефлекшен работает?
Vasily
В BAML
Vasily
Компилится
Vasily
Дальше в логическое и визуальное дерево
Igor
Помню там еще больша проблема с двойной компиляцией
Vasily
Даже не представляю, что ты пытался делать, если честно
Vasily
Скорее всего какие-то задачи решал необычным способом
Igor
Даже не представляю, что ты пытался делать, если честно
Это стандартная проблема XAML из-за циклических ссылок между кодом и UI
Igor
Это есть у всех, так XAML работает 🤷‍♀️
Vasily
Ну не пиши юзер контролы
Vasily
ТАм, где они не нужны
Vasily
Не плоди окна
gsomix
Хотя ui в коде такое себе
Код хотя бы отладить можно.
Igor
Не плоди окна
ОК, это даже не важно тк это самая маленькая проблема xaml.
gsomix
Код хотя бы отладить можно.
Ибо в WPF куча неявности.
Vasily
Ибо в WPF куча неявности.
Примеры в студию, иначе спор в стиле nou
Vasily
Я готов обсуждать конкретные проблемы
Vasily
И предлагать их решение
Vasily
Остальное, уж извините, имеет довольно слабую аргументацию
Vasily
И больше похоже на холивары
gsomix
Хорошо, что у меня больше нет проблем с WPF.
gsomix
Потому что я больше не пишу.
Vasily
Каждому своё
Vasily
Это я к тому, что каждый инструмент нуждается в освоении
Vladislav
Так я вроде нашёл чо там за акторы почитать
Vladislav
http://www.fsharpreactivepatterns.com/
gsomix
Это проще.
Igor
Расскажи про model-based testing.
Хм я не знаю что это,
gsomix
Хм я не знаю что это,
Это когда ты пишешь простую модель на свой код, а потом на случайных данных сравниваешь поведение модели и актуального кода.
gsomix
Эм, а что за модель? Подготовленный инпут для кода?
Простой неэффективный код, который должен делать то же самое, что рабочий код.
Vladislav
А в чем прикол?
gsomix
А в чем прикол?
В том, что модель написать проще без ошибок. У Форкманна была статья про Paket. Он тестировал сложный алгоритм разрешения зависимостей, сравнивая с простым и неэффективным.
gsomix
Ещё мне нравится пример с тестированием UI.
gsomix
Его можно замоделировать машиной состояний, и генерировать случайные последовательности действий.
gsomix
Программист.
gsomix
Поясню.
gsomix
Все это работает, если думаешь заранее. Если есть спецификация, то довольно несложно написать простую модель.
gsomix
После этого на случайных данных или действиях можно проверить соответствие актуального кода и модели.
gsomix
Отсюда из соответствия модели и спецификации должно следовать соответствие кода и спецификации.
gsomix
Но это неточно.
gsomix
Потому что вопрос соответствия спецификации и модели открытый, и решается очень сложно. :)
gsomix
Чуть проще, наверное, если спецификации формализована.