原文:Introducing .NET Multi-platform App UI
github:https://github.com/dotnet/maui
- MAUI 是 Xamarin.Forms 的进化(Xamarin.Forms 已经有6年历史了)。支持Model-View-ViewModel(MVVM)和Model-View-Update (MVU)等模式编写。
- 支持Android, iOS, macOS, and Windows(github上显示,支持Linux)
- 将于今年晚些时发布预览版。目标随 .NET 6 一起正式发布(2021年11月?)。
Milestones
.NET MAUI Preview 1 (Late 2020)
The first preview of .NET MAUI will be the first to take advantage of .NET 6 SDK features such as SDK style projects, build tools, and command line tools. We plan to also include:
| Feature |
Description |
Status |
|---|
| Namespace changes to System.Maui |
Xamarin.Forms will become System.Maui |
Committed |
| Slim renderer architecture |
Spec |
Committed |
| Remove Obsoletes |
Spec |
Committed |
| Replace DependencyService |
Spec |
Proposed |
| Remove Pages |
|
Proposed |
| Remove Themes |
|
Proposed |
| Startup registry |
Spec |
Proposed |
.NET MAUI Preview 2 (Early 2021)
| Feature |
Description |
Status |
|---|
| Introduce a Cross-Platform Lifecycle |
Spec |
Proposed |
| Move "AndExpand" layout option |
Spec |
Proposed |
| Update min and max sizing implementations |
|
Proposed |
| Implement GlideX |
Spec |
Proposed |
| Change IAnimatable |
Spec |
Proposed |
| Change Behavior and Trigger inheritance |
Spec |
Proposed |
| Replace Application.Properties |
Spec |
Proposed |
.NET MAUI Preview 3 (Early 2021)
| Feature |
Description |
Status |
|---|
| macOS Parity |
Wiki |
Committed |
.NET MAUI Preview 4 (Mid 2021)
| Feature |
Description |
Status |
|---|
| Windows Parity |
Wiki |
Committed |
.NET MAUI Preview 5 (Mid 2021)
.NET MAUI Release Candidate (September 2021)
.NET MAUI General Availability (November 2021)
-----------------------------------------------------------------------------------------------------------
Xamarin.Forms vs MAUI
| |
Xamarin.Forms |
MAUI |
|---|
| Platforms |
|
|
| Android |
API 19+ |
API 21+ |
| iOS |
9-14 |
10+ |
| Linux |
Community |
Community |
| macOS |
Community |
Microsoft |
| Tizen |
Samsung |
Samsung |
| Windows |
UWP Microsoft
WPF Community |
Microsoft |
| Features |
|
|
| Renderers |
Tightly coupled to BindableObject |
Loosely coupled, no Core dependencies |
| App Models |
MVVM, RxUI |
MVVM, RxUI, MVU, Blazor |
| Single Project |
No |
Yes |
| Multi-targeting |
No |
Yes |
| Multi-window |
No |
Yes |
| Misc |
|
|
| .NET |
Xamarin.iOS, Xamarin.Android, Mono, .NET Framework, ... |
.NET 6+ |
| Acquisition |
NuGet & Visual Studio Installer |
dotnet |
| Project System |
Franken-proj |
SDK Style |
| dotnet CLI |
No |
Yes |
| Tools |
|
|
| Visual Studio 2019 |
Yes |
Yes |
| Visual Studio 2019 for Mac |
Yes |
Yes |
| Visual Studio Code |
No |
Yes |