看了一下.Net的新进展,还是关注UI。
MAUI是Multi-platform App UI 的缩写。.Net V6.0.0-Preview.2 前几天已经发布了,核心是将Xamarin统一到.NET。Xamarin 的跨平台 UI 框架 Xamarin.Forms 正在演变为 .NET MAUI。借助MAUI,使用相同的代码创建 iOS、Android、Windows 和 macOS 客户端应用。但是如果现在新建一个项目,其中并不包含Windows的UI,要加入WinUI 3才行。
从WinUI 3开始Win32也可以用新的XAML框架,但需要一个转换衔接。有人测试了WinUI 3的极限性能对比,确实挺厉害。但微软的Net团队和Windows团队这种关系还是纠结。

MAUI主推MVU模式,MVU的核心是利用函数式编程和Model不可变性, 来降低开发维护复杂度。看来要学的新东西不少,如果有MVVM的底子,应该还可以。
MAUI中新的体系结构消除了视图嵌套,减少了呈现视图所需的UI控件数量。它还从根本上将平台控件与框架本身解耦。传统Xaml中,每个渲染器都有对跨平台元素的引用,并且通常依赖于INotifyPropertyChanged工作,MAUI并未使用这些渲染器,而是引入了一种称为Handler的新模式。其实就是全部抽象为接口描述。
框架和平台之间的关系倒置了。平台控件所需要做的就是处理框架的需求,提高了效率,而且更容易扩展或重写。个人浅见,这可以说是人们见过的最大规模的面向抽象编程和依赖倒置理念的运用实例了。抽象达到了前所未有的规模,以至于平台成了框架的实现。
还提到了一个新的实验性的Visual策略,该策略结合了native控件和可绘制控件。对于需要跨平台,希望更好性能,但又需要native平台支持,这底层改动厉害了。
.Net还在继续演进中加班加点。关心上位机的人,可以关注它的进展。如果是一个新项目,个人觉得有必要尝试UWP了,毕竟今后就是Win10,虽然纯粹搞IT的人普遍讨厌它。
动画流畅和滚动顺滑是新的XAML框架带来的。新框架里的动画和滚动都在渲染线程中,UI线程繁忙甚至阻塞都不会影响渲染线程。触摸、触控板手势和Windows Ink即笔的API都是单独的线程,所以可以做到很快的响应。这tm能没有吸引力吗。
WPF的Xaml和MvvM转移到Xamarin.Forms需要学习,但跨度并不大,熟悉Xaml套路是可以运用MAUI的。是时候开始Win10的开发环境了,不懂的东西很多,保持持续学习。
国内外不同领域的程序员的生态不同,网上的声音也参差不齐各不相同。搞工控的人学IT有自己的特点,.Net是可以期待的,能感觉到微软是在出大招儿。