MAUI是微软.NET技术栈的跨端UI框架,2022年11月,和.NET7一起正式发布,未来能否和flutter一战?
MAUI使用XAML标记语言进行开发,相对HTML而言,更加复杂和繁琐,但功能更加全面严谨。MAUI内部,通过Handler机制(面向接口编程),将MAUI的控件映射到各平台的Native对象上,我们使用MAUI控件的属性、方法、事件时,实际上就是在使用本机Native对象的属性、方法和事件。除了使用MAUI的控件,也可以绕过MAUI,直接操作各平台的Native对象。据我所知,早期flutter也经常需要绕过widget。另外,MAUI还可以使用Blazor Hybrid进行开发,Blazor组件在“MAUI运行时”中,以本地方式运行,然后再渲染到MAUI提供的BlazorWebView中,性能上优于WebView,且可以直接调用本机API。
目前的跨端UI框架,大概有自绘(flutter/QT)、映射Native(MAUI/RN)、WebView三种方案,哪个能最后胜出,目前也没有定论,即使是最受诟病的WebView,在性能上也在不断改进,比如Blazor Hybrid方案,就是一个非常有意义的突破。
MAUI还是新生儿,还有很多问题,但技术路线上没有大问题,我依然看好它。希望通过这个系列,能够和大家一起,更好的学习和掌握MAUI。本系列目录如下:
一、XAML语法基础
- XAML语法入门Element&Property&Event&Command...
- 标记扩展{}
- x命名空间xmlns:x
- x命名空间难点一:泛型TypeArguments
- x命名空间难点二:参数和工厂方法Arguments&FactoryMethod
- 资源字典ResourceDictionary
- 样式风格Style&Settter(布局类-背景/边框/宽高/对齐/间距,文本类-颜色/字体/大小/样式/对齐/缩进/围绕)
- 平台差异OnPlatform&OnIdiom
- MAUI的MVU
二、数据绑定和MVVM
- 数据绑定-基础
- 数据绑定-详解
- MVVM模型
- 使用CommunityToolkit.Mvvm
三、深入理解XAML
- 绑定属性BindableProperty
- 附加属性AttachedProperty
- 转换器Converter
- 行为Behavior
- 触发器Trigger
- 数据模板DataTemplate
- 控件模板ControlTemplate
- 自定义控件ContentView
- 映射原理Handler
四、控件
- 控件总览
- 常用控件一:页面Page
- 常用控件二:布局Layout
- 常用控件三:表单Form
- 常用控制四:内容块Content
- 常用控件五:集合Collection
- 常用控制六:形状Shape
- 控件状态VisualState
- 手势Gestures
- 动效Animation
- 笔刷Brush
- 绘图Graphics
- 阴影Shadow
- 字体图像集成Font&Image
- 主流的控件库DevExpress&Syncfusion&Telerik
五、应用开发
- 开发工具和技巧
- 项目文件结构
- 配置和调试
- 母版和导航Sell&Navigation
- 菜单栏MenuBar
- 弹出窗口Display
- 多窗口Window
- 主题设置LightTheme&DarkTheme
- 可访问性Semantic
- 应用生命周期AppLifecycle
- 平台API总览PlatformAPI
- 调用平台Native对象
- 拍照图片解决方案
- 摄像视频解决方案
- 地图解决方案
- 蓝牙解决方案
- 本地文件解决方案
- 云存储文件解决方案
- 本地数据库解决方案
- 远程数据库解决方案
- 访问WebApi解决方案
- 认证和权限解决方案
- 部署发布
六、MVVM+IService开发模式
- MVVM+IService开发模式介绍
- 信息展示查询的项目实战(一)
- 信息展示查询的项目实战(二)
- 信息展示查询的项目实战(三)
- 信息展示查询的项目实战(四)
- 信息展示查询的项目实战(五)