推荐阅读
  • Xamarin 本地数据库

    备注 许多 NuGet 包都有着类似的名称。 正确的包具有以下属性: ID: sqlite net pcl 创建者: SQLite-net 所有者:praeclarum 项目 URL:https://github.com/praeclarum/sqlite-net NuGet 链接: sqlite-net-pcl 尽管包的名称如此,此 NuGet 包也可以用于 .NET Standard 项

  • Xamarin在多页 Xamarin.Forms 应用程序中执行导航

    本文内容 下载示例在本快速入门中,你将了解如何:向 Xamarin.Forms 解决方案添加其他页面。在页面之间执行导航。使用数据绑定在用户界面元素与其数据源之间同步数据。本快速入门演练如何将能够存储单个便笺的单页跨平台 Xamarin.Form

  • 设计跨平台的 Xamarin.Forms 应用程序

    本文内容 下载示例在本快速入门中,你将了解如何:使用 XAML 样式为 Xamarin.Forms 应用程序设置样式。本快速入门演练如何使用 XAML 样式为跨平台 Xamarin.Forms 应用程序设置样式。 最终的应用程序如下所示:先决条

  • Xamarin 编辑器

    备注 虽然 Android 指示 Editor 的高度,但 iOS 并不指示。

  • Xamarin Objective-C 开发人员

    本文内容 Xamarin 针对 iOS 为开发人员提供了一个途径,用于将他们的非用户界面代码移至平台不可知的 C# 中,以便其可在 C# 可用的任何位置使用,包括通过 Xamarin.Android 的 Android 和各种风格的 Windows。 但是,仅仅

  • Xamarin 条目

    备注 对于某些文本输入场景(例如输入密码),拼写检查和文本预测提供的体验并不太好,因此应禁用它们。

  • Xamarin StackLayout

    备注 除 Margin 属性之外,还可以在 StackLayout 上设置 Padding 和 Spacing 属性。 Padding 属性值指定 StackLayout 中视图之间的距离,Spacing 属性值指定 StackLayout 中每个子元素之间的空间大小。 有关详细信息,请参阅边距和填充。

  • 什么是 Xamarin?

    备注 编译和部署适用于 iOS 的应用程序当前需要 MacOS 计算机。 有关开发要求的详细信息,请参阅系统要求。

  • Xamarin创建单页 Xamarin.Forms 应用程序

    备注 以下步骤仅供在拥有符合 Xamarin.Forms 开发系统要求的配对 Mac 时执行。

  • Xamarin Label

    备注 FormattedText 属性是 FormattedString 类型,包含一个或多个 Span 实例。

什么是 Xamarin?

iOS 和 Android 中的示例 Xamarin 应用程序的屏幕截图

Xamarin 是一个开放源代码平台,用于通过 .NET 构建适用于 iOS、Android 和 Windows 的新式高性能应用程序。 Xamarin 是一个抽象层,可管理共享代码与基础平台代码的通信。 Xamarin 在提供便利(如内存分配和垃圾回收)的托管环境中运行。

Xamarin 使开发人员可以跨平台共享其应用程序(平均 90%)。 此模式允许开发人员以一种语言编写所有业务逻辑(或重复使用现有应用程序代码),但在每个平台上实现本机性能和外观。

Xamarin 应用程序可以在电脑或 Mac 上进行编写并编译为本机应用程序包,如 Android 上的 .apk 文件,或 iOS 上的 .ipa 文件。

备注

编译和部署适用于 iOS 的应用程序当前需要 MacOS 计算机。 有关开发要求的详细信息,请参阅系统要求

Xamarin 的适用对象

Xamarin 适用于具有以下目标的开发人员:

  • 跨平台共享代码、测试和业务逻辑。
  • 使用 Visual Studio 在 C# 中编写跨平台应用程序。

Xamarin 的工作原理

Xamarin 体系结构示意图

该图显示跨平台 Xamarin 应用程序的总体体系结构。 Xamarin 允许在每个平台上创建本机 UI,并在 C# 中编写跨平台共享的业务逻辑。 在大多数情况下,80% 的应用程序代码可使用 Xamarin 进行共享。

Xamarin 在 .NET 的基础之上进行构建,它自动处理诸如内存分配、垃圾回收以及与基础平台的互操作性等任务。

有关特定于平台的体系结构的详细信息,请参阅 Xamarin.AndroidXamarin.iOS

添加的功能

Xamarin 结合了本机平台的功能,并添加了一些功能,包括:

  1. 基础 SDK 完全绑定 - Xamarin 包含 iOS 和 Android 中几乎整个基础平台 SDK 的绑定。 此外,这些绑定属于强类型,意味着可以轻松导航和使用,并提供可靠的编译时类型检查和开发过程。 强类型绑定可使运行时错误更少,应用程序质量更好。
  2. Objective-C、Java、C 和 C++ 互操作 - Xamarin 提供直接调用 Objective-C、Java、C 和 C++ 库的功能,使用户能够使用各种第三方代码。 通过此功能可以使用采用 Objective-C、Java 或 C/C++ 编写的现有 iOS 和 Android 库。 另外,Xamarin 还提供绑定项目功能,使用户可使用声明性语法绑定本机 Objective-C 和 Java 库。
  3. 新式语言构造 - Xamarin 应用程序采用 C# 编写,C# 是一种新式语言,包含针对 Objective-C 和 Java 的重大改进,比如动态语言功能、功能性构造(比如 Lambdas)、LINQ、并行编程和泛型等。
  4. 可靠的基类库 (BCL) - Xamarin 应用程序使用 .NET BCL,后者是类的大量集合,具有全面而简化的功能,比如强大的 XML、数据库、序列化、IO、字符串和网络支持等。 可以编译现有 C# 代码用于应用,这可提供对成千上万的库的访问权限,添加了 BCL 所不包含的功能。
  5. 新式集成开发环境 (IDE) – Xamarin 使用 Visual Studio,后者是一种新式 IDE,其中包括诸如代码自动完成、复杂项目和解决方案管理系统、综合项目模板库、集成源代码管理等功能。
  6. 移动跨平台支持 - Xamarin 对 iOS、Android 和 Windows 这三个主要平台提供复杂的跨平台支持。 可编写应用程序共享其多达 90% 的代码,并且 Xamarin.Essentials 提供了一个统一 API 用于跨所有三个平台来访问公共资源。 共享代码可明显减少移动开发人员的开发成本和进行市场推广所需的时间。

Xamarin.Android

Xamarin.Android 体系结构关系图

Xamarin.Android 应用程序从 C# 编译为中间语言 (IL),随后在启动应用程序时,再实时 (JIT) 编译为本机程序集。 Xamarin.Android 应用程序在 Mono 执行环境中与 Android 运行时 (ART) 虚拟机并行运行。 Xamarin 向 Android.* 和 Java.* 命名空间提供 .NET 绑定。 Mono 执行环境通过托管可调用包装器 (MCW) 调入这些命名空间,并向 ART 提供 Android 可调用包装器 (ACW),这使两种环境可以相互调用代码。

有关详细信息,请参阅 Xamarin.Android 体系结构

Xamarin.iOS

Xamarin.iOS 体系结构关系图

Xamarin.iOS 应用程序完全预先 (AOT) 地从 C# 编译为本机 ARM 程序集代码。 Xamarin 使用选择器向托管 C# 公开 Objective-C,并使用注册器向 Objective-C 公开托管 C# 代码。 选择器和注册器共同称为“绑定”,使 Objective-C 和 C# 可以进行通信。

有关详细信息,请参阅 Xamarin.iOS 体系结构

Xamarin.Essentials

Xamarin.Essentials 是一个库,可为本机设备功能提供跨平台 API。 与 Xamarin 本身一样,Xamarin.Essentials 是一种简化本机功能访问过程的抽象。 Xamarin.Essentials 提供的功能的一些示例包括:

  • 设备信息
  • 文件系统
  • 加速计
  • 电话拨号程序
  • 文本到语音转换
  • 屏幕锁定

有关详细信息,请参阅 Xamarin.Essentials

Xamarin.Forms

Xamarin.Forms 是一个开放源代码 UI 框架。 通过 Xamarin.Forms,开发人员可从单个共享基本代码生成 Xamarin.iOS、Xamarin.Android 和 Windows 应用程序。 Xamarin.Forms 使开发人员可以在 C# 中通过代码隐藏在 XAML 中创建用户界面。 这些用户界面在每个平台上呈现为高性能本机控件。 Xamarin.Forms 提供的功能的一些示例包括:

  • XAML 用户界面语言
  • 数据绑定
  • 笔势
  • 效果
  • “样式”

有关详细信息,请参阅 Xamarin.Forms

入门

以下指南会帮助你使用 Xamarin 生成第一个应用:

相关视频

第 9 频道YouTube 上查找更多 Xamarin 视频。

关于我们 免责声明 联系我们
Copyright © 2021 爱学习网 浙ICP备18049359号 网站地图 Google地图