📜  Xamarin 简介 |用于移动应用程序开发和应用程序创建的软件

📅  最后修改于: 2021-10-20 10:22:38             🧑  作者: Mango

整个世界现在都被数十亿和数万亿的移动技术所包围,这是不可避免的。移动应用开发的主要份额被谷歌的安卓、苹果的 iOS 和微软的 Windows 占据。移动开发领域的每个新学习者或新手都会发现自己处于选择平台的困境中。他们实际上正在寻找一个平台来执行或实施测试应用程序,而不是它的目的。

Xamarin 是它的解决方案之一,它实际上用于跨平台移动应用程序开发,您可以在其中使用单个代码库构建 Android、iOS 和 Windows 本机应用程序。这个单一平台是 C#。使用 Xamarin 开发的应用程序的性能几乎与本机平台应用程序相似。

什么是 Xamarin?

Xamarin 是一家起源于 2011 年的软件公司,最近于 2016 年被微软收购。它为开发人员提供了可用于开发跨平台应用程序的全套工具。 Xamarin 工具可通过Visual Studio轻松下载。要在Windows上使用 Xamarin,您需要安装 Visual Studio,它可以是免费版本或高级许可证。之后,您需要使用 Xamarin 对其进行配置。

对于在 Windows 上的 Visual Studio 中安装 Xamarin,您可以查看文档
这里。

进一步的步骤是创建新的“跨平台应用程序”并开始着手处理。系统会要求您选择一些设置,Visual Studio 可能需要一些时间来设置您的项目。

Xamarin 的工作

Xamarin 已将 Android 和 iOS SDK 完全转换为 C#,以使开发人员更熟悉它。人们可以轻松地为两个平台使用相同的代码库,而无需一直记住不同语言的语法。此外,用户界面(UI)几乎保持不变。它必须为两个平台单独构建,然后必须受公共代码库的约束。

实际上有两种构建用户界面的方法。第一个是使用原始的本地方法来构建 UI。另一个结合了Xamarin.Forms的使用。如果选择这些表单而不是原生 UI 技术,这些表单可用于同时为不同平台构建 UI,并且几乎 100% 代码共享。
在完成所有 UI 工作之后,最具挑战性的阶段是将 UI 连接到代码库。这种连接可以再次使用两种代码共享方法来实现,它们是:
1.共享项目
2.可移植类库(PCL)

你可以在 Xamarinhelp.com 上了解有关这些的更多信息。

Xamarin.Forms

Xamarin 为开发人员提供了两种构建移动应用程序的方法。通过使用 Xamarin.iOS 和 Xamarin.Android(主要方法)或使用 Xamarin.Forms,它是一个用于简单应用程序和原型的框架。 Xamarin.Forms,Visual Studio 库有助于快速原型设计或构建具有少数平台特定功能的应用程序。这使得 Xamarin.Forms 成为考虑代码共享比自定义 UI 更重要的应用程序的最佳选择。开发人员无需为每个平台单独设计。使用 Xamarin.Forms,可以跨平台共享单个界面。使用 Xamarin.Forms 创建的 UI 的某些部分和使用本机 UI Toolkit 其余部分的应用程序也可以使用这种方法构建。

Xamarin 的特点

  • Xamarin 还支持可穿戴设备,例如Android WearApple Watch 。这些可穿戴设备在其本机应用程序中的功能可以通过从Xamarin 组件商店下载简单的插件来合并。
  • 流行的插件是跨平台的,例如 Text-to-Speech 和
    电池状态。 Xamarin 组件商店中也提供了特定于平台的插件,例如 Google Play 计费支持插件。
  • 基于 Xamarin 的跨平台应用程序可以轻松集成到大多数流行的后端平台,例如 Parse、Microsoft Azure 等。
  • Xamarin 中的应用程序索引允许这些应用程序出现在搜索结果中,这些应用程序在用户很少使用后通常会被遗忘。

Xamarin 的优缺点

优点:

  1. 与 Appcelerator Titanium 等其他解释性解决方案不同,Xamarin 使用单一语言(代码库)C# 来创建应用程序,这实际上使其成为构建具有本机外观的高性能应用程序的绝佳选择。
  2. Xamarin 有两个主要产品:Xamarin.iOS 和 Xamarin.Android。在 iOS 的情况下,源代码的编译是使用“提前编译”完成的,而在 Android 应用程序中,前者是使用即时编译方法执行的。但是,这两种情况都是自动化的,默认情况下可以有效地处理有关内存分配、垃圾收集和平台互操作性的问题。
  3. 由于 Xamarin 使用带有 .Net 框架的 C# 在所有移动平台上创建应用程序,因此 96% 的源代码可以重复使用,从而加快了开发过程。可以在 Visual Studio 中使用 Xamarin 构建所有应用程序,它现在已经完全取代了 Xamarin Studio。此外,Xamarin 也不需要在开发环境之间进行交换。
  4. 使用 Xamarin 构建的跨平台应用程序的性能接近原生。它的成就指标可以与 Android 的Java和 iOS 应用程序开发的 Objective-C 或 Swift 相比。此外,Xamarin 也在不断改进,使其完全成为本机平台应用程序的复制品。 Xamarin 测试云与 Xamarin 测试记录器工具相结合,允许开发人员在发布前运行自动化 UI 测试并检查与性能相关的问题,但需要支付额外费用。
  5. 由于 Xamarin 的跨平台应用程序,它简化了维护和更新。在对文件的源代码应用更改或更新时,修改将反映在 iOS 和 Android 应用程序中。但这仅适用于使用 Xamarin.Forms 或 Xamrion.iOS 和 Xamarin.Android 应用程序的业务逻辑、共享代码、.updates 的应用程序。

缺点:

  1. Xamarin 为最新的平台更新提供稍微延迟的支持。显然,第三方工具不可能立即为最新的 iOS 和 Android 版本提供支持。尽管 Xamarin 声称在其发布的同一天提供对最新版本的支持,但可能会有轻微的延迟。
  2. 毫无疑问,Xamarin 社区比 iOS 和 Android 社区小得多。因此,很难找到经验丰富的 Xamarin 开发人员。尽管在 Microsoft 的支持下,这每天都在增长。从各种来源的统计数据来看,Xamarin 社区仅占全球移动开发社区的 10%。即使有这么多的工程师,Xamarin 也为他们提供了广泛的支持。作为专门的教育平台,Xamarin 大学为该技术的新手提供资源和实践培训。
  3. Xamarin 开发人员和消费者只能使用平台提供的组件和一些 .Net 开源资源。但是原生开发结合了开源技术的广泛使用。尽管 Xamarin 组件提供了数以千计的自定义 UI 控件、各种图表、图形、主题等,只需点击几下即可包含在应用程序中,但数量是 Android 和 iOS 的开源库无法比拟的。
  4. 即使 Xamarin 对两个平台都使用单个代码库 C#,但开发人员在使用 Xamarin.iOS 和 Xamarin.Android 时,仍然需要编写一些特定于平台的代码层。因此,它需要具备原生技术的基础知识,例如 Android 的Java/Kotlin 和 iOS 的 Objective-C/Swift。但是,这不适用于 Xamarin.Forms。
  5. Xamarin 不适合具有重图形的应用程序,因为您只能共享逻辑代码,但 UI 代码主要是特定于平台的,这实际上使得在 Xamarin 中创建游戏、丰富的自定义 UI 或复杂动画毫无价值。
  6. Xamarin 应用程序相对比原生应用程序大。实际上,本机应用程序仅占 Xamarin 应用程序大小的一半。例如,一个简单的“你好,世界!!”适用于 Android 的应用程序可能需要 16 MB 的内存。关联库、内容、Mono 运行时和基类库 (BCL) 程序集利用了最大空间。
  7. 将第三方库和工具与基于 Xamrin 平台构建的应用程序集成时存在兼容性问题。尽管有 Xamarin 组件商店,但在某些情况下,开发人员可能需要平台未提供的特定功能或集成到他自己的应用程序中。

Xamarin 产品

软件公司 Xamarin 附带了许多产品变体。下面列出了其中的一些。

  • Xamarin 平台:Xamarin 2.0 于 2013 年 2 月发布。此后,使用 Xamarin.Android 和 Xamarin.iOS 开发原生 Android、iOS 和 Windows 应用程序成为可能,并与 Visual Studio 或 Xamarin Studio 结合。开发人员跨设备平台共享和重用相同的 C# 代码。

  • Xamarin.Forms :它是在 Xamarin 3 中引入的,允许开发人员执行快速原型设计或构建具有少量平台特定功能的应用程序。

  • Xamarin 测试云:它使开发人员可以在云中真实的、不易损坏的设备上测试以任何语言编写的移动应用程序。使用基于对象的 UI 测试模拟真实用户交互。

  • Xamarin for Visual Studio :Xamarin 为 Microsoft Visual Studio 提供加载项,使开发人员可以使用代码编译和 IntelliSense 在 IDE 中构建 Android、iOS 和 Windows 应用程序。

  • Xamarin Studio :它于 2013 年 2 月发布,当时它是唯一用于在 Windows 和 Mac OS 上开发移动应用程序的 IDE。作为基于开源项目的 Xamarin 2.0 的一部分。

  • Xamarin.Mac :它允许使用 C# 和 .Net 开发完全原生的 Mac 应用程序。 Xamarin.Mac 与 Xamarin.iOS 和 Xamarin.Android 合并,可以让开发人员跨 Android iOS 和 Mac OS 共享高达 90% 的本机代码。

  • .Net Mobility Scanner :它允许开发人员观察他们的 .Net 代码有多少可以在其他操作系统上运行,尤其是 Android、iOS、Windows Phone 和 Windows Store。

  • RoboVM :Xamarin 为Java开发人员平台收购了瑞典 RoboVM。它使开发人员能够使用完全原生的 UI 为 iOS 和 Android 构建Java应用程序,
    和本土表演。

您可以在此处了解更多相关信息。

Xamarin 大学:如果您想探索更多 Xamarin 并觉得它是您未来的技术领域,您可以在 https://university.xamarin.com/ 上了解更多信息。这是一所在线大学,提供在线讲座,并为学生互动和 Xamarin 专家的指导提供单独的专栏。