Информация об изменениях

Сообщение Re[5]: На чем сейчас пишут UI в enterprise приложениях? от 17.12.2014 9:16

Изменено 17.12.2014 9:17 ionoy

Здравствуйте, Jack128, Вы писали:

J>Здравствуйте, ionoy, Вы писали:


I>>Чтобы на XAML-подобных фреймворках было легче разрабатывать, я лично использую ReactiveUI. Там правда порог вхождения не самый низкий, зато позволяет избавиться от многих врождённых проблем XAML'а и даёт IObservable интерфейс к чему хочешь.


J>Хм, ReactiveUI — это вроде как для описания ViewModel, а xaml — для View. Как первое может помочь избежать проблем второго??


ReactiveUI — это не только ViewModel, там ещё много разного.

Например, биндинг в коде:

this.Bind(ViewModel, vm => vm.Name, v => v.Text);
this.OneWayBind(ViewModel, vm => vm.Name, v => v.Text, name => "Hello, " + name);
this.BindCommand(ViewModel, vm => vm.Save, v => v.SaveButton);


Примечательно, что биндинг продвинутый, с конвенциями и возможностью настройки.
Например есть такая удобная договорённость:
this.OneWayBind(ViewModel, vm => vm.Items, v => v.ListBox.ItemSource);

где:
class ViewModel
{
  List<ISomeViewModelType> Items;
}

На основании конкретного типа элемента из Items в DataTemplate ListBox будет подставлено представление для этой модели, если оно было зарегистировано.


Универсальная навигация:

Router.Navigate(CalendarViewModel);


Логирование, обработка ошибок, персистентность и ещё много чего.

Ну и самое главное, что правильно написаный на ReactiveUI код можно достаточно переносить между разными XAML фреймворками, WPF, SilverLight, WinRT, XamarinForms и тд.

К сожалению документация достаточно куцая, но они Работают Над Этим™.
Re[5]: На чем сейчас пишут UI в enterprise приложениях?
Здравствуйте, Jack128, Вы писали:

J>Здравствуйте, ionoy, Вы писали:


I>>Чтобы на XAML-подобных фреймворках было легче разрабатывать, я лично использую ReactiveUI. Там правда порог вхождения не самый низкий, зато позволяет избавиться от многих врождённых проблем XAML'а и даёт IObservable интерфейс к чему хочешь.


J>Хм, ReactiveUI — это вроде как для описания ViewModel, а xaml — для View. Как первое может помочь избежать проблем второго??


ReactiveUI — это не только ViewModel, там ещё много разного.

Например, биндинг в коде:

this.Bind(ViewModel, vm => vm.Name, v => v.Text);
this.OneWayBind(ViewModel, vm => vm.Name, v => v.Text, name => "Hello, " + name);
this.BindCommand(ViewModel, vm => vm.Save, v => v.SaveButton);


Примечательно, что биндинг продвинутый, с конвенциями и возможностью настройки.
Например есть такая удобная договорённость:
this.OneWayBind(ViewModel, vm => vm.Items, v => v.ListBox.ItemSource);

где:
class ViewModel
{
  List<ISomeViewModelType> Items;
}

На основании конкретного типа элемента из Items в DataTemplate ListBox будет подставлено представление для этой модели, если оно было зарегистировано.


Универсальная навигация:

Router.Navigate(CalendarViewModel);


Логирование, обработка ошибок, персистентность и ещё много чего.

Ну и самое главное, что правильно написаный на ReactiveUI код можно переносить между разными XAML фреймворками, WPF, SilverLight, WinRT, XamarinForms и тд.

К сожалению документация достаточно куцая, но они Работают Над Этим™.