📜  Xamarin是什么

📅  最后修改于: 2021-01-11 16:02:33             🧑  作者: Mango

Xamarin介绍

Xamarin是一家成立于2011年的软件公司。Microsoft最近于2016年收购了Xamarin。Xamarin为开发人员提供了广泛的工具,可用于开发跨平台移动应用程序。

它是使用C#开发跨平台移动应用程序的框架。有多种框架可提供跨平台应用程序开发。他们使用HTML和JavaScript。在此框架的帮助下,我们可以使用JS库为移动应用程序开发网站之类的应用程序。网站包装在容器中,给人以本机应用程序的感觉。

Xamarin有所不同,因为它提供了单一语言的C#和运行时,可在三种移动平台(Android,iOS和Windows)上运行。通过Xamarin,我们开发了一个外观和感觉完全原生的移动应用程序。在Xamarin中,我们编写了一个C#代码库,该代码库可以访问本机SDK的所有功能。

要使用Visual Studio下载,可以轻松使用Xamarin工具。要在Windows上使用Xamarin,我们需要安装Visual Studio,它可以是免费版本,也可以是高级许可证。之后,我们需要对其进行配置。

Xamarin的安装

跨平台

对于手机,平板电脑和台式机应用程序,Xamarin提供了跨平台开发解决方案。

打开IDE,编写和测试应用程序并提交到应用程序商店,构建移动应用程序很容易。它涉及一个过程,该过程涉及前期设计,可用性测试,对数千个设备的QA测试,完整的Beta生命周期,然后以几种不同的方式进行部署。

当我们考虑如何构建Android和iOS应用程序时,许多人认为本地语言,objective-C,Swift,Java和Kotlin是唯一的选择。

Xamarin允许我们使用具有类库和运行时的C#语言进行开发,该类库和运行时可在包括ios,Windows和Android在内的所有许多平台上运行。

Xamarin结合了本机平台的所有功能,并添加了自己的一些强大功能,这些功能包括:

1)完整的SDK绑定: Xamarin包含Android和iOS上整个SDK的绑定。这些绑定是强类型的,这意味着它们易于导航和易于使用。 Xamarin在编译期间以及开发期间提供了强大的类型检查。它可以减少运行时错误并提高应用程序质量。

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)惊人的基类库: Xamarin应用程序使用.NET BCL。类的广泛集合,这些类具有全面而简化的功能,例如强大的XML,数据库,序列化,字符串,IO,网络支持等等。可以编译现有的C#代码以在应用程序中使用,该应用程序提供对成千上万个库的访问,这使我们能够执行BCL中未涵盖的事情。

5)现代集成开发环境(IDE): Xamarin在Windows上使用Visual Studio,在macOS上使用Visual Studio for Mac。这些都是现代的IDE。这些功能包括代码自动完成,复杂的项目和解决方案管理系统,全面的项目模板库,集成的源代码控制等功能。

6)移动跨平台支持: Xamarin为iOS,Android和Windows的三个主要移动平台提供了完善的跨平台支持。可以编写应用程序以共享多达90%的代码。移动库提供了一个统一的API,可以访问所有三个平台上的共享资源,因为它既减少了开发成本,也减少了移动开发人员的上市时间。它针对三个最受欢迎的移动平台。

Xamarin是功能最强大和最全面的功能集,它为应用程序开发人员填补了一个空白。他们希望使用现代语言和平台来开发跨平台的移动应用程序。

需要Xamarin

Xamarin结合了本机平台的所有功能,还包括其自身的功能。

  • Xamarin应用程序是使用C#开发的。 C#是一种现代语言,相对于Objective-C和Java有许多改进。
  • Xamarin提供了直接包含Objective-C,Java和C++库的功能。它使我们能够重用所有第三方代码库,它们是Java,Objective-C或C++。
  • Xamarin为三个主要的移动平台(Android,iOS和Windows)提供了跨平台支持。该应用程序可以共享其代码库的90%。
  • Xamarin减少了移动应用程序开发的时间和成本。
  • Xamarin提供了大量的类库。
  • Xamarin提供强大的编译时检查。这将导致更少的运行时错误和高质量的应用程序。

Xamarin的工作

Xamarin提供两种商业产品:Xamarin。 Android,Xamarin.iOS。两者都基于Mono(基于已发布的.NET ECMA标准的.NET框架的开源版本)构建。 MONO几乎与.NET框架一样长,并且可以在每个可以想象的平台上运行,包括Linux,Unix,FreeBSD和macOS。

Xamarin已将Android和iOS SDK完全转换为C#,以使开发人员熟悉它。我们可以轻松地在两个平台上使用相同的CodeBase,而无需一直记住不同语言的语法。并且用户界面保持不变。 Xamarin是为两个平台分别构建的,然后必须由共享代码库限制。这是创建用户界面的两种方法。第一个是使用原始的本机方法来构建UI。另一个是使用Xamarin.Forms 。如果通过本机UI技术选择这些格式,则可以立即使它们用于不同平台的UI,并具有100%的代码共享。当所有UI工作完成时,最具挑战性的阶段是将UI连接到代码库。可以使用以下两种代码共享方法再次实现此连接:

  • 共享项目
  • 便携式类库(PCL)。

Xamarin的功能

  • Xamarin支持可穿戴设备,例如Android Wear和Apple Watch。从XamarinCo组件存储中下载简单的插件,即可将这些可穿戴设备的功能包含在其本机应用程序中。
  • 流行的插件是跨平台的,例如文本到语音转换和电池状态。 Xamarin组件商店中也提供了特定于平台的插件,例如Google Play计费支持插件。
  • 基于Xamarin的跨平台应用程序可以轻松地与大多数流行的后端平台结合,例如Parse,Microsoft Azure等。
  • Xamarin中的应用程序索引允许这些应用程序出现在搜索结果中,这些结果通常在用户使用了几次后就被忘记了。

Xamarin移动应用程序开发提供了一个可跨多个操作系统和设备运行的,可考虑的跨平台解决方案。自发布以来,Xamarin被用作强大的跨平台应用程序开发平台,可帮助为所有设备系统构建单个应用程序。但是,Xamarin App Development既有优点也有缺点:

Xamarin的优点

1)快速的应用开发周期

Xamarin App Development平台最关键的部分是它包含可重用的代码,其中90%的代码可被回收以用于在各种平台上开发应用程序。编码基于C#语言和.Net库。由于开发人员可以重用大部分Xamarin原始代码来跨不同平台创建应用程序。由于简化了不同操作系统之间的代码共享,因此用户缩短了产品开发生命周期。

2)实际应用

任何应用程序的解决方案都是本机设计。那时Xamarin及其独特的方法应运而生。 Xamarin Studio提供了本机UI的优势,对特定设备功能的访问以及最重要的是本机性能。在不同平台之间共享代码是一件容易的事,这有助于我们缩短开发生命周期。

3)共享应用逻辑

除了本机UI,Xamarin的最强大功能是共享的应用逻辑,这使其成为最有用,最可用的跨平台开发工具。 UI层下面的应用程序逻辑(例如输入验证,Web服务调用,数据库交互和后端企业集成)在C#中进行了一次编码。开发人员可以在各种操作系统之间共享75%的代码。这样可以节省在应用程序中进行记录的时间,并且出现错误的机会更少。

4)API整合

Xamarin绑定了相同的API和UI控件,这些API和UI控件用于以各自的平台特定语言来构建iOS,Android和Mac应用程序。对于Windows开发,带有Microsoft Visual Studio的Xamarin提供Windows Phone和Windows应用程序。使用可移植类库(PCL)和适当的应用程序体系结构在iOS,Android和Windows之间共享代码。有了Xamarin,支持永远存在。这些独特的绑定技术使我们能够在设备操作系统中提供对新功能的支持。单击相应的平台链接以获取其针对iOS 8和Android L(具有可穿戴支持)的最新支持包。

5)Xamarin组件商店

Xamarin相信协作和组件共享。开发人员可以从免费的或付费的主机组件中进行选择,该组件包括UI控件,跨平台库以及仅需几行代码即可为应用程序提供的第三方Web服务。组件存储区建立在Xamarin Studio和Xamarin的Visual Studio扩展中。

6)C#的优势

C#是一种简单,现代,通用,类型安全,纯面向对象的编程语言。作为面向对象的,它是C++的现代版本,它允许将简单的数据类型作为对象。 C#的类型安全性有助于防止类型错误。其简化的语法允许使用指针和标头。命名空间和引用运算符由句点代替。 C#是用于跨平台开发的出色编程语言。

Xamarin的缺点

1)不可避免的软件开销

尽管事实如此,Xamarin移动应用程序开发通过为所有平台创建单个应用程序节省了时间。另一方面,它还涉及所使用的不同设备的目标OS环境之间的代码和引用的链接,.Net框架表明,这增加了启动和下载应用程序所花费的时间。

2)UI开发的耗时性质

时间成为Xamarin平台上UI开发中必不可少的东西。 Xamarin提供了在设备平台目标上重用代码的功能。创建核心UI的可移植版本非常困难。这就是为什么Xamarin App Development专家会为一个独立的平台彻底执行部分编码的过程,这是一个耗时的过程。

3)App文件大小问题

随着消耗更多时间,Xamarin由于使用Xamarin核心库的常规用法以及使用错误的应用程序文件大小的应用程序商店的功能而占用了更多的空间来存储应用程序文件大小。存储区中的大小余量可能在3MB到15MB之间。

结论

Xamarin也被称为跨平台应用程序开发之王。所有这些功能的丰富性和由此带来的好处指向跨平台的本机应用程序。除了Xamarin的优势外,它还拥有一个由70,000名不断增长的开发人员组成的社区,他们不断地合作和增强该软件。