Visual Studio 中的跨平台移动开发

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

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

如果想要构建一款游戏或沉浸式图形应用,请安装 Visual Studio tools for Unity,借助 Unity 尽享 Visual Studio 中所有强大的生产力功能。Unity 是一款热门的跨平台游戏/图形引擎和开发环境,主要针对在 iOS、Android、Windows 和其他平台上运行的应用。

构建面向 Android、iOS 和 Windows 的应用 (.NET Framework)

显示各类家庭设备的屏幕截图。

借助 Visual Studio Tools for Xamarin,可在同一解决方案中面向 Android、iOS 和 Windows,进而共享代码甚至 UI。

了解更多信息
安装 Visual Studio (VisualStudio.com)
了解 Visual Studio 中的 Xamarin (VisualStudio.com)
Xamarin 移动应用开发文档
适用于 Xamarin 应用的 DevOps
了解 Visual Studio 中的通用 Windows 应用 (VisualStudio.com)
了解 Swift 与 C# 之间的相似之处 (download.microsoft.com)

通过单个基本代码面向 Android、iOS 和 Windows

可使用 C# 或 F# 生成面向 Android、iOS 和 Windows 的本机应用(目前不支持 Visual Basic)。 首先,请安装 Visual Studio,在安装程序中选择“使用 .NET 的移动开发”选项 。

如果已安装 Visual Studio,请重新运行 Visual Studio 安装程序并为 Xamarin 选择相同的“使用 .NET 的移动开发”选项(如上所示)。

完成后,“新建项目” 对话框中将显示项目模板。 最简单的 Xamarin 模板查找方法是针对“Xamarin”进行搜索。

Xamarin 将 Android、iOS 和 Windows 的本机功能公开为 .NET 类和方法。 你的应用可不受限制地访问本机 API 和本机用户控件,它们的响应速度可媲美使用本机平台语言编写的应用。

创建项目之后,可以利用 Visual Studio 的所有工作效率功能。 例如,可使用设计器创建页面,使用 IntelliSense 了解移动平台的本机 API。 准备好运行应用并看到其外观时,可以使用 Android SDK 仿真程序并本机运行 Windows 应用。 还可直接使用受限的 Android 和 Windows 设备。 对于 iOS 项目,请连接到联网的 Mac 并从 Visual Studio 中启动 iOS 仿真程序,或者连接到受限设备。

使用 Xamarin.Forms 设计一组在所有设备中呈现的页面

根据应用设计的复杂性,可以考虑使用项目模板“移动应用” 组中的 Xamarin.Forms 模板生成应用。 Xamarin.Forms 是一个 UI 工具包,可用于创建在 Android、iOS 和 Windows 之间共享的单一界面。 编译 Xamarin.Forms 解决方案时,会分别获得一个 Android 应用、iOS 应用和 Windows 应用。 有关详细信息,请参阅了解关于使用 Xamarin 进行移动开发的信息Xamarin.Forms 文档

在 Android、iOS 和 Windows 应用间共享代码

如果不使用 Xamarin.Forms 并选择为每个平台单独设计,可在平台项目(Android、iOS 和 Windows)之间共享大多数的非 UI 代码。 这包括所有的业务逻辑、云集成、数据库访问和其他所有面向 .NET 框架的代码。 唯一不能共享的代码是面向特定平台的代码。

屏幕截图:显示 Windows、iOS 和 Android UI 之间共享代码的逻辑图。

你可以通过使用共享项目、可移植类库项目或同时使用这两种项目来共享你的代码。 你可能会发现有些代码最适合在共享项目中使用,而有些代码在可移植类库项目中使用会发挥更好的效果。

了解更多信息
共享代码选项 (Xamarin)
.NET 的代码共享选项

面向 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 Emulator。 它快速、可靠且易于安装和配置。

也可以使用 C++ 和通用 Windows 平台 (UWP) 应用项目模板,生成定目标到全部 Windows 10 设备的应用。 有关此操作的详细信息,请参阅本文中的上述面向 Windows 10 设备部分。

可创建静态(或动态)共享库,在 Android、iOS 和 Windows 间共享 C++ 代码。

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

可以在 Windows、iOS 或 Android 项目中使用该库(如本文前面部分中所述的库一样)。 还可以在使用 Xamarin、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 的跨平台游戏

适用于 Unity 的 Visual Studio 工具是一款免费的 Visual Studio 扩展,用于将 Visual Studio 强大的代码编辑工具、生产力工具和调试工具与 Unity 进行集成。Unity 是一款热门的跨平台游戏/图形引擎和开发环境,针对面向 Windows、iOS、Android 和其他平台(如 Web)的沉浸式应用。

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

借助 Visual Studio Tools Unity (VSTU),可以使用 Visual Studio 在 C# 中编写游戏和编辑器脚本,随后使用其功能强大的调试器查找和修复错误。 VSTU 的最新版本支持 Unity 2019.4 并且包括以下功能:语法着色 Unity 的 ShaderLab 着色器语言、与 Unity 更好地同步、更丰富地调试、提升了针对 MonoBehavior 向导的代码生成。 VSTU 还提供 Unity 项目文件、控制台消息以及在 Visual studio 中启动游戏的功能,从而使你可以在编写代码时花费更少的时间与 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 网站)