ReactiveUI и Caliburn Micro вместе?
Я работал над прототипом нового приложения Silverlight, используя Caliburn Micro в качестве нашей MVVM Framework. Команда в целом была довольна этим. Для решения некоторых проблем, связанных с регулированием запросов к службам, было предложено рассмотреть ReactiveCollections ReactiveUI и их реализацию INotifyPropertyChanged.
У кого-нибудь есть опыт использования двух вместе? Поскольку оба они в основном являются MVVM-фреймворками, есть много совпадений, так что мне интересно, может ли это быть больше проблем, чем стоит пытаться заставить их работать вместе.
Вот некоторые из вещей, которые нам действительно нравятся в Caliburn Micro:
- Обязательна конвенционная основа и т. Д. Очень красиво сделано по нашему мнению.
- Самонастройки. Нам нравится, как это обрабатывается, его легко расширять, когда это необходимо, но готовые к работе вещи хорошо работают для многих наших случаев использования.
- Композиция / Управление экраном. Нам очень нравится представление Роба о проводниках, экранах и т. Д. Это очень хорошо для нас.
Материал ReactiveUI, который привлек нас к этому (по крайней мере, на начальном этапе).
- Реактивные Коллекции и INotifyPropertyChanged материал. Особенно способность душить реакции.
- Асинхронные вещи Reactive кажутся более чёткими, чем реализация Co-рутинной программы Роба.
У меня почти не было возможности поиграть с ReactiveUI, но когда я смотрел на него и видел совпадение между ними, я подумал, кто мог попытаться использовать оба в проекте. Я не смог ничего найти через Google (что вполне может быть моей ошибкой).
Я хотел бы знать, попробовал ли ты это; какие проблемы у вас были? Какие части каждой платформы вы использовали и почему? Есть ли хорошие примеры или сообщения в блоге об их совместном использовании?
Ура,
Стив
1 ответ
Используйте оба! Это сообщение в блоге должно помочь вам в этом - на самом деле очень легко взять существующие модели ViewModel, использующие другие фреймворки, и "RxUI'ify их". Таким образом, вы можете опробовать ReactiveUI на одной ViewModel, не выбирая Caliburn Micro или RxUI.