从架构上看,我认为WPF非常惊人。总的来说,我是基于底层渲染/动画内部机制的忠实粉丝。模板和样式设置的灵活性令人印象深刻。
但是我讨厌XAML——我觉得它使很多事情变得复杂。我在大型和小型应用程序中使用过它,很多时候我发现自己在尝试理解一个基本原则的XAML语法时感到困惑。不仅如此,我很多次都想知道某些解析/绑定的部分有多重。 (我知道它经过编译,但我不确定有多少仍在运行时评估)
XAML只是一种构建和加载可视树的方式。是否有任何框架可以简化以非XML、基于代码(但仍然大多数采用声明式)的方式构建可视树?具体而言,我对那些减轻以下任何问题且仍保持MVVM方法的框架感兴趣:
强类型绑定。指定ViewModel必须符合特定类型。我假设BaseBinding在幕后使用反射技术,我对其速度有些怀疑,更不用说破损绑定令人烦恼了。
更快的绑定,无需
INotifyPropertyChanged
绑定。似乎可以创建某种BindableProperty<T>
,并且绑定可以直接侦听它,而不是接收所有ViewModel属性更改。使用直接回调而不是字符串参数也似乎有优势。另一种资源管理方法;再次,某些类型的强类型字典可能非常好用。我几乎想将样式视为lambda或类似方式以捕获强类型方面。
总之,是否有任何基于非XAML、适合MVVM且具有强类型特征的框架呢?