反正,要是弄得好就是Mono到.Net Core的那种飞跃,

要是没弄好,看看隔壁Windows Phone和UWP……

当然,一开始就泼冷水是不好的,这次的MAUI至少目前官方还是很积极的,而且有理有据的,值得期待一下。


说回MAUI本身,倒是有个东西我挺在意的:

Blazor,是微软最近搞出来的Web框架,对标的是Angular, Vue的那个Blazor,说不定有一定可能,这玩意会正面刚上Electron , 真这样的话,那就有趣了

(当然也不排除是类似https://github.com/xamarin/MobileBlazorBindings 这样的东西)

总的来说,会是个很有意思的功能


然后,官方repo里有句「Implement MVU」,我见识短,第一次听说MVU这个词,然后一看案例:

emm,好像隔壁某个Flutter欸,

之前一看Dart,看了两眼不想看了。这次有个「C#的Flutter」了,勾起了兴趣,到时候得玩玩看。

(Unity你看看人家)

不喜欢MVU的还是依然有挺棒的MVVM,强迫症福音。

同时有MVU,MVVM,Blazor这么多东西,讲真看起来好像是很容易有坑的设定,但玩意要是搞得能用了,大概会非常有趣。


另外说起来,MonoGame好像现在是基于Xamarin的,不知道MAUI的出现,会对MonoGame有啥影响没


落魄的UWP开发.gif


特意的把linux排除在外了。。。

xaml应该类似xamarin.forms

搞了个mvu模式,方便c# new控制项

x.f继续维护一段时间,然后彻底往maui迁移

单个project,不像x.f那样一大堆project

xamarin本来也就ios,安卓,uwp能用,其他的什么wpf,gtk,wasm都处于呵呵的状态,这次微软加个macos,也就这点主要进步了,所以linux就别多想了

总的来说他还是x.f演化出来的进化版,目标也没有太大的不同,代码和平台都是从xamarin过来的,x.f我最讨厌的事情是wpf里那些shapes都没有,也没有viewbox,感觉是个残疾xaml,不知道趁此会不会改善。 x.f经常搞出些bug,maui又来搞事情,而且也不是往大一统的方向去的,还真就是个进化版的x.f,感觉很一般啊。。。。

我还是更期待.net5 .net6的改进


乍一看,是不是感觉微软又出新东西玩弄我,以前的 Xamarin 要砍了吗?

莫急,让我们来看看简介。

哎哟,Xamarin.Forms 进化,这就有点意思了,莫非是超级威力加强版?

莫急,我们再来看看 Roadmap,看看它究竟想怎么做。

emmmmmmm

微软改名部诚不我欺!

----------手动分割线------------

认真来讲,MAUI本质上应该算是 Xamarin.Forms 的一次回炉重构,顺便改了个名。

其实从去年 .NET 5 的战略就可以看出端倪,5 之后的目标既然是实现 .NET 的大一统,那么迟早也会实现自己的一套跨平台 UI 方案,毕竟这是对应用开发人员来讲最大的价值,也是万众所望。

那么剩下的路线无非是另起炉灶重新实现一套,还是吸收 Xamarin 做一套威力加强版。

现在看来微软选了后者,这可能也是对 Xamarin 这个遗产比较好的一个结果了。

按照 Roadmap,Xamarin 未来一段时间发布最后一个版本之后,后续就会全部迁移到新的 MAUI 。

只要微软在迁移方面提供足够便利的方案,对于原来的 Xamarin 开发人员(国内真的少,我是其一)来说就不是特别大的问题。带来的优势(单项目结构、MVU、官方桌面端方案等)都是不错的饼,改善了以前 Forms 一些诟病问题。

这一次改头换面之后,架构方面就更简单清晰了,希望能吸引更多跨平台开发者来关注它吧。

如果未来能用 Feel 语言来写的话就更爽了。


MAUI-Preview 2[1]

我现在连Windows都不支持呢[2]。你想支持也行,你问WinUI 3什么时候能做好,我就什么时候做好[3]

评论区想撕的老哥被官方堵上了嘴(XD):


至于Linux,啥时候Linux社区将用啥窗口管理器整明白了,MAUI估计就有了。

总不能每种都单独适配吧?又不能是社区发工资233333

参考

  1. ^https://github.com/dotnet/maui/releases/tag/6.0.100-preview.2
  2. ^.NET Multi-platform App UI https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-2/#net-multi-platform-app-ui
  3. ^.NET MAUI in .NET 6 Preview 4 (Mid 2021) https://github.com/dotnet/maui/wiki/Roadmap#net-maui-in-net-6-preview-4-mid-2021


推荐阅读:
相关文章