简介
简单来说,Xamarin提供了使用C#完成ios,android和Windows Phone三个移动平台开发的可能性
Xamarin包括Xamarin.Andriod、Xamarin.IOS、Xamarin.Forms等
官方文档翻译
当考虑如何构建iOS和Android应用程序时,许多人认为本机语言Objective-C,Swift和Java是唯一的选择。但是,在过去的几年里,出现了一个全新的移动应用平台生态系统。
Xamarin在这个领域是独一无二的,通过在iOS,Android和Windows Phone(Windows Phone的本地语言已经是C#)的所有三个移动平台上提供单一语言(C#,类库和运行时),同时仍编译native,即使对于要求苛刻的游戏也足够高性能的应用程序。
这些平台中的每一个都有不同的功能集,每个平台的编写本地应用程序的能力都不相同 - 也就是说,编译为本机代码的应用程序,以及与底层Java子系统交互的流畅程度。例如,某些平台只允许使用html和javascript构建应用程序,而有些平台只能使用C / C ++代码。一些平台甚至不使用本地控制工具包。
Xamarin的独特之处在于它结合了本地平台的所有功能,并增加了许多自己的强大功能,其中包括:
1.底层SDK的完整绑定 - Xamarin包含iOS和Android中几乎所有底层平台SDK的绑定。另外,这些绑定是强类型的,这意味着它们易于导航和使用,并且在开发过程中提供可靠的编译时类型检查。这导致更少的运行时错误和更高质量的应用程序。
2.Objective-C,Java,C和C ++ Interop - Xamarin提供了直接调用Objective-C,Java,C和C ++库的功能,使您可以使用已经创建的大量第三方代码。这使您可以利用Objective-C,Java或C / C ++编写的现有iOS和Android库。另外,Xamarin提供了绑定项目,允许您使用声明性语法轻松绑定本地Objective-C和Java库。
3.现代语言结构 - Xamarin应用程序是用C#编写的,现代语言包括对Objective-C和Java的重大改进,如动态语言特性,功能结构(如Lambda,LINQ,并行编程功能,复杂的泛型等等)。
4.令人惊叹的基础类库(BCL) - Xamarin应用程序使用.NET BCL,这是一个庞大的具有强大的XML,数据库,序列化,IO,字符串和网络支持等功能的类的集合。此外,现有的C#代码可以被编译用于一个应用程序,它可以访问成千上万的库,这将使您可以执行BCL中尚未涵盖的内容。
现代集成开发环境(IDE) - Xamarin在Windows上使用Mac OS X和Visual Studio上的Visual Studio for Mac。这些都是现代IDE,包括代码自动完成功能,复杂的项目和解决方案管理系统,全面的项目模板库,集成的源代码控制等等。
5.移动跨平台支持 - Xamarin为iOS,Android和Windows Phone三大移动平台提供先进的跨平台支持。可以编写应用程序来共享其代码的90%,而我们的Xamarin.Mobile库提供了一个统一的API来访问所有三个平台上的公共资源。这可以显着降低移动开发人员的开发成本和上市时间,目标是三个最受欢迎的移动平台。
由于Xamarin强大而全面的功能集,为希望使用现代语言和平台开发跨平台移动应用程序的应用程序开发人员填补了空白。