Visual Studio 中的跨平台应用开发

可以使用 Visual Studio 为 Android、iOS、Mac Catalyst 和 Windows 设备生成应用。 设计应用时,使用 Visual Studio 中的工具轻松添加连接服务,例如 Microsoft 365、Azure 应用服务和 Application Insights。

使用 C# 、.NET、HTML 和 JavaScript 或C++生成应用。 共享代码、字符串、图像,在某些情况下甚至还有用户界面。

如果想要构建游戏或沉浸式图形应用,请安装 Visual Studio Tools for Unity(VSTU),并享受 Visual Studio 与 Unity 的所有强大生产力功能,这是在 iOS、Android、Windows 和其他平台上运行的应用的热门跨平台游戏/图形引擎和开发环境。

生成适用于 Android、iOS、Mac Catalyst 和 Windows 的应用(.NET)

借助 .NET 多平台应用 UI(.NET MAUI),可以在同一解决方案中面向 Android、iOS、Mac Catalyst 和 Windows,共享代码甚至 UI。

了解详细信息
安装 Visual Studio (VisualStudio.com)
了解 .NET MAUI](https://dotnet.microsoft.com/apps/maui) (dotnet.microsoft.com)
.NET MAUI 应用开发文档
了解 Swift 和 C# 之间的相似性 (download.microsoft.com)

从单个代码库面向 Android、iOS、Mac Catalyst 和 Windows 进行开发

.NET MAUI 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。 .NET MAUI 是 Xamarin.Forms 的演变,从移动方案扩展到桌面方案,UI 控件从头开始重新生成,以提升性能和可扩展性。 如果以前曾使用 Xamarin.Forms 生成跨平台用户界面,则会看到 .NET MAUI 的许多相似之处。 但是,也有一些差异。 使用 .NET MAUI,可以使用单个项目创建多平台应用,但如有必要,可以添加特定于平台的源代码和资源。 .NET MAUI 的主要目标之一是在单个代码库中实现尽可能多的应用逻辑和 UI 布局。

若要开始安装 Visual Studio,请在安装程序中选择 .NET 多平台应用 UI 开发 选项。 如果已安装 Visual Studio,请重新运行 Visual Studio 安装程序 ,并选择相同的 .NET 多平台应用 UI 开发 选项。 完成后,项目模板将显示在“ 新建项目 ”对话框中。 查找 .NET MAUI 模板的最简单方法是仅搜索“MAUI”。 有关安装 .NET MAUI 和生成第一个应用的详细信息,请参阅“安装和生成第一个应用”。

.NET MAUI 将 Android、iOS、Mac Catalyst 和 Windows 的本地功能作为 .NET 类和方法公开。 你的应用具有对本机 API 和本机控件的完全访问权限,它们与使用本机平台语言编写的应用一样响应。

创建项目后,将使用 Visual Studio 的所有生产力功能。 例如,你将使用 IntelliSense 浏览移动平台的原生 API,并通过热重载在应用运行时修改托管源代码,而无需手动暂停或触发断点。 准备好运行应用并了解其外观时,可以使用 Android SDK 模拟器并本机运行 Windows 应用。 还可以直接使用受限的 Android 和 Windows 设备。 对于 iOS 项目,请连接到联网 Mac 并从 Visual Studio 启动 iOS 模拟器,或连接到受限设备。

.NET MAUI 应用编译为本机应用包:

  • 使用 .NET MAUI 生成的 Android 应用从 C# 编译为中间语言(IL),然后在应用启动时即时编译(JIT)为本机程序集。
  • 使用 .NET MAUI 构建的 iOS 应用会完全提前编译(AOT),将 C# 转换为本机 ARM 程序集代码。
  • 使用 .NET MAUI 生成的 macOS 应用使用 Mac Catalyst(Apple 提供的一种解决方案),可将使用 UIKit 生成的 iOS 应用引入桌面,并根据需要使用其他 AppKit 和平台 API 对其进行扩充。
  • 使用 .NET MAUI 生成的 Windows 应用使用 Windows UI 3 (WinUI 3) 库创建面向 Windows 桌面的本机应用。

有关 .NET MAUI 的详细信息,请参阅 什么是 .NET MAUI?

目标 Windows 10 设备

不同类型的 Windows 设备的屏幕截图。

如果要创建面向 Windows 10 设备的完整广度的单一应用,请创建一个通用 Windows 应用。 你将使用单个项目设计应用,无论使用何种设备来查看它们,页面都将正确呈现。

从通用 Windows 平台(UWP)应用项目模板开始。 直观地设计页面,然后在预览窗口中打开它们,以查看它们如何针对各种类型的设备显示。 如果不喜欢在设备上显示页面的方式,可以优化页面,以更好地适应屏幕大小、分辨率或各种方向,如横向或纵向模式。 可以使用直观的工具窗口和 Visual Studio 中易于访问的菜单选项完成所有这些作。 当你准备好运行应用并进行代码单步调试时,你会发现所有不同类型的设备模拟器都集中在位于标准工具栏的一个下拉列表中。

了解详细信息
通用 Windows 平台简介
创建第一个应用
开发适用于通用 Windows 平台的应用(UWP)

生成适用于 Android、iOS 和 Windows 的应用(C++)

显示使用 C++ 来为 Android、iOS 和 Windows 编译的屏幕截图。

首先,安装 Visual Studio 并选择使用 C++ 的移动开发工作负载。 然后,您可以为 Android 构建本机活动应用程序,或构建针对 Windows 或 iOS 的应用。 如果需要,可以在同一解决方案中面向 Android、iOS 和 Windows,然后使用跨平台静态或动态共享库在它们之间共享代码。

如果需要构建需要任何类型的高级图形处理(例如游戏)的 Android 应用,可以使用 C++ 来完成。 从 本机活动应用程序(Android) 项目开始。 此项目完全支持 Clang 工具链。

显示原生活动项目模板的屏幕截图。

准备好运行应用并查看其外观时,请使用 Android 模拟器。 它快速、可靠且易于安装和配置。

还可以使用 C++ 和通用 Windows 平台(UWP)应用项目模板生成面向 Windows 10 设备的完整广度的应用。 在本文前面显示的 “目标 Windows 10 设备 ”部分中阅读有关此内容的详细信息。

可以通过创建静态或动态共享库在 Android、iOS 和 Windows 之间共享C++代码。

显示静态和动态共享库的屏幕截图。

可以在 Windows、iOS 或 Android 项目中使用该库,如本文前面所述的库。 您还可以在使用 .NET MAUI、Java 或任何支持调用非托管 DLL 中函数语言开发的应用程序中使用该功能。

在这些库中编写代码时,可以使用 IntelliSense 浏览 Android 和 Windows 平台的本机 API。 这些库项目与 Visual Studio 调试器完全集成,因此你可以设置断点。 单步执行代码,并使用调试器的所有高级功能查找和修复问题。

了解详细信息
下载 Visual Studio (VisualStudio.com)
使用 C++ 安装跨平台移动开发
详细了解 如何使用C++面向多个平台 (VisualStudio.com)
安装所需的内容,然后为 Android 创建C++本机活动应用程序
详细了解如何 与 Android 和 Windows 应用共享C++代码 (VisualStudio.com)
适用于C++的跨平台移动开发示例

使用 Visual Studio Tools for Unity 构建适用于 Android、iOS 和 Windows 的跨平台游戏

Visual Studio Tools for Unity(VSTU)是 Visual Studio 的免费扩展,它将 Visual Studio 强大的代码编辑、生产力和调试工具与 Unity 集成,这是面向 Windows、iOS、Android 和其他平台(包括 Web)的沉浸式应用的常用跨平台游戏/图形引擎和开发环境。

显示 Visual Studio Tools for Unity 和开发环境的概述的屏幕截图。

借助 Visual Studio Tools for Unity(VSTU),可以使用 Visual Studio 在 C# 中编写游戏和编辑器脚本,然后使用其强大的调试器查找和修复错误。 最新版本的 VSTU 支持 Unity 2019.4,并包括对 Unity 的 ShaderLab 着色器语言的语法着色、更佳的与 Unity 同步、更丰富的调试功能以及改进的 MonoBehaviour 向导代码生成。 VSTU 还会将 Unity 项目文件、控制台消息以及启动游戏的功能引入 Visual Studio,以便在编写代码时花费更少的时间切换到 Unity 编辑器和从 Unity 编辑器切换。

了解详细信息
详细了解如何使用 Visual Studio 构建 Unity 游戏
详细了解 Visual Studio Tools for Unity
开始使用 Visual Studio Tools for Unity
阅读 Visual Studio Tools for Unity 2.0 预览版的最新增强功能 (Visual Studio 博客)
观看 Visual Studio Tools for Unity 2.0 预览版的视频简介 (视频)
了解 Unity (Unity 网站)