共计 2514 个字符,预计需要花费 7 分钟才能阅读完成。
2010 年起,挪动利用开发是十分热门的一个方向,从技术上咱们经验了原生利用开发,基于 H5 的 Web App,还有混合模式的挪动利用开发,再到跨平台挪动利用开发。.NET 除了是一个跨平台的利用外,也是一个跨利用场景的平台。.NET 的挪动利用计划最开始基于 Mono, 从 MonoTouch, 到 MonoDroid,到跨平台挪动利用计划 Xamarin, 再到当初整合到.NET 6 的 MAUI。通过.NET MAUI 你能够通过一份代码,一个我的项目疾速构建具备原生性能的 iOS/Android/Windows/MacOS/Linux 利用。
Visual Studio Code 的 MAUI 环境装置
官网当初基本上都是举荐用最新预览版本的 Visual Studio 2022 在 Windows 平台上做开发,macOS 的 Visual Studio 反对 MAUI 还没有筹备好!记得 2020 年 Build 大会上微软是有展现过在 Visual Studio Code 上开发的,过后我也十分期待,但始终没有下文。实际上,在 Visual Studio Code 上的 .NET 跨平台开发组件曾经有了,通过开源我的项目存在。要用 Visual Studio Code 开发 MAUI,请依照以下步骤来实现:
1 .NET 6 环境装置
点击该链接 https://dotnet.microsoft.com/… 装置最新的 .NET 6
2 MAUI 环境装置
无论你在 Windows/macoOS 倡议应用 maui-check (https://github.com/Redth/dotn…) 对 MAUI 所须要的环境进行装置,这外面蕴含了 Android SDK/iOS SDK 等相干配置的查看
在命令行装置 maui-check
dotnet tool install -g Redth.Net.Maui.Check
在终端执行 maui-check
maui-check
如下图,maui-check 会对你对你零碎里依赖的如 JDK, Android SDK,Xcode, Visual Studio,.NET SDK 以及 MAUI 相干的包等环境扫描一次,如果短少,他会提醒你装置
3 用 .NET Tools 装置 Comet
Comet 是 .NET 基于 MVU 设计模式的前端实现框架,你能够把它利用于 Windows, Android, iOS, macOS, Blazor 利用开发中。你能够从 https://github.com/dotnet/comet 理解更多。
什么是 MVU ?
MVU (Model-View=Update) 是一种性能响应式编程、架构设计模式。在 MVU 中 UI 是不可变的。所以每次你想更新一个属性时,你都必须重建你的 UI。不变性是函数式编程的个性。C# 9.0 后反对函数式编程范式。UI 和业务都应用雷同的语言(例如 C#)编写。数据流是单向的。它非常适合应用程序的热重载。您不须要学习 XAML 来开发 UI,而是用一种语言开发残缺的应用程序。如下代码, 通过形容式表白实现了页面和逻辑构建
public class MyPage : View {readonly State<int> clickCount = new State<int> (1);
public MyPage() {Body = () => new VStack {new Text (() => $"Click Count: {clickCount}"),
new Button("Update Text", () => {clickCount.Value++;}
};
}
}
4 装置 Comet for Visual Studio Code 组件
通过 Visual Studio Code 治理你的 MAUI 我的项目
1 通过命令行创立一个 MAUI 我的项目
mkdir mauidemo
cd mauidemo
dotnet new comet
2 通过命令行尝试运行该我的项目
dotnet build mauidemo -t:Run -f net6.0-android
dotnet build mauidemo -t:Run -f net6.0-ios
运行后果如下:
3 用 Visual Studio Code 关上该我的项目
关上后,Comet 组件就会检测你的 MAUI 我的项目,咱们能够看到左下角
你能够点击抉择抉择相干的运行环境
4 抉择 iOS/Android 间接在 Visual Studio Code 中运行和调试
关上后,Comet 组件就会检测你的 MAUI 我的项目,咱们能够看到左下角,零碎会检测到相干的环境,并且能够抉择你要运行的设施
设置一个断点看看
留神:
- Comet for .NET Mobile 组件还在开发中,在 MAUI Preview 13 的版本上 Visual Studio Code 不能胜利加载 Android 设施,所以例子以 iOS 为主。
- 在 Windows 环境下,如果要调试 iOS 程序,还是得用 Visual Studio 和 macOS 做链接,具体形式能够点解该链接 https://docs.microsoft.com/zh… 进行理解
HotReload 作为补充
之前提过 Comet 创立的我的项目是基于 MVU 模式,界面和业务都是基于函数式的形式去实现。这个时候 HotReload 就十分重要了,能够所编即所得,者也是对 Visual Studio Code 开发 MAUI 利用的补充,接下来我也介绍一下。
1 Reloadify 装置
Reloadify 3000 是一个反对 HotReload 的 .NET 组件,曾经内置于 Comet 的 MAUI 我的项目中。装置脚本如下:
dotnet tool install --global Reloadify
2 设置
进入我的项目,输出如下命令
iOSreloadify mauiappdemo.csproj -t ios
Androidreloadify mauiappdemo.csproj -t android
之后你就能够在 Visual Studio Code 下编写代码间同步你的代码在模拟器, 实现所编即所得的 HotReload 性能
最初给大家看看我用 Visual Studio Code 实现的 MAUI Demo
瞻望
通过 Visual Studio Code 开发 MAUI 利用是值得期待的,也为 MAUI 拓宽了开发场景,联合 Hot Reload 会让跨平台利用开发更有效率。我期待正式版本能和 MAUI 的正式版本有更好的联合。