5个原因。网络开发者应该尝试Xamarin


如果你是一个已经准备好进入移动世界的. NET开发人员,Xamarin就是你的工具!
Xamarin是一个开源框架,允许开发人员用一种语言为安卓、iOS和Windows Phone创建移动应用程序:C#。这很好,因为你不必花时间学习本地平台语言,如Java、Swift或Objective-C。相反,你可以打开Visual Studio(或在Mac或Linux中的Xamrin工作室),设置Xamrin,并开始用C#编写你的跨平台应用程序!

应用程序不仅看起来是本地的,而且它们的行为也是如此。这是因为C#代码被编译成本机代码,所以您的应用程序感觉和运行起来就像是用本机技术开发的一样。有许多著名的公司(想想Slack、Pinterest和JetBlue)正在使用Xamarin作为他们的移动开发平台。

在本文中,我将向您介绍使用Xamarin的主要好处,以及为什么您应该在下一个移动项目中考虑它。

本机用户界面、本机应用编程接口和本机性能

Xamarin应用程序被编译为本机代码,并在目标设备上本机运行。这比你用运行时解释的代码支持的应用程序所能实现的要好得多,即使在性能至关重要的游戏中也是如此。

应用程序界面也是用本机用户界面控件编译的。这意味着您在Xamarin应用程序上获得的用户体验与您在使用本机技术开发的应用程序上获得的用户体验是一样的。像滑动或滚动这样的动作会感觉流畅自然。

Xamarin还允许您与大多数底层平台应用编程接口进行交互。它为您提供了几乎所有本机软件开发工具包的强类型绑定,无论是在iOS还是安卓系统中。它还允许您调用基于本机技术(Java、Objective-C甚至C/C++)编写的库,这样您就可以在应用程序中重用已经编写的关于这些技术的代码。使用Xamarin,您可以实现的目标没有技术障碍!
Xamarin

Xamarin。本地用户界面的表单

Xamarin.Forms是一个工具包,它允许开发人员构建可以在安卓、iOS和视窗手机上共享的本地用户界面,而无需成为每个平台细节的专家。Xamarin。表单允许您重用几乎所有的代码:您只为所有平台编写一个接口。您可以用C#或XAML创建界面页面。在您的应用程序中,每个页面代表一个屏幕。您可以使用各种各样的用户控件来随意定制您的界面。然后,在运行时,页面被映射到平台特定的本地用户控件。这意味着界面将具有每个平台的本地“外观和感觉”。

当您需要添加特定于平台的功能(即使用特定于平台的应用编程接口或交互)时,您可以使用Xamarin。安卓或Xamarin.iOS来调整用Xamarin创建的界面。形成并满足这些需求。

与Visual Studio轻松集成

如果你是一个. NET开发人员,很可能你选择的集成开发环境是Visual Studio。为Visual Studio设置Xamarin非常简单:下载Visual Studio包并运行安装程序。这将设置和配置所有您需要的东西,以便在Visual Studio上使用Xamarin进行开发。

Xamarin还为您提供了安卓和iOS界面设计工具。这些工作方式非常类似于窗口窗体设计器:它们允许您通过在设备屏幕的可视表示上拖放控件来构建应用程序界面。它真的简单而有效!

您还可以在Visual Studio中启动和调试您的应用程序,甚至是iOS应用程序!有一个视窗操作系统模拟器(看看吧here)。当然,在使用Xamarin时,您可以使用Visual Studio的所有功能,如快捷方式、智能感知等。

跨所有平台的C#

如果你像我一样是一个C#爱好者,你会很高兴知道你可以在你的Xamarin应用程序中使用它令人敬畏的特性,比如一流的函数、动力学、LINQ、泛型、类型推断和异步/等待,以保持你的应用程序的响应。

C#代码可以在所有平台上重用。您可以编写您的业务逻辑、数据库层、通用函数,甚至用户界面(使用Xamarin。表单),并在每个平台上重用它们。此外,您可以使用您熟悉的现有库,如SQLite.NET和牛顿森

Xamarin中的共享代码

正如我之前提到的,使用Xamarin,您可以跨所有平台共享代码。有两种方法,Portable Class LibrariesShared Projects

便携式类库

在常规的库项目中,生成的动态链接库只在为其创建的特定平台上工作,但是使用动态链接库,您可以为您的代码选择运行平台的组合,并在单个项目中编写代码,该代码既可以在每个特定平台的项目中引用,也可以被其他库或应用程序使用。

最近,Xamarin增加了对消费PCL的支持.NET Standard libraries。。网络标准是一个规范。NET应用编程接口。. NET运行时(包括。NET Core和ASP.NET Core平台),并有望成为下一代印刷电路板。这允许开发人员创建可跨不同平台使用的PCLs。NET运行时使用相同的一组应用程序接口。

两者。NET标准库和PCL是为了相同的目的而创建的,但是它们有一些不同。PCL概要文件由现有平台的交集定义,每个概要文件代表一个不同的微软平台。另一方面。网络标准库是平台无关的。

今天,你不能创造。但是它的功能很快就会出现!

无论你是否在使用。NET Standard或PCLs,拥有一个集中的代码的好处是,如果你必须对你的代码进行修改或重构,你可以在一个地方完成,它不仅会影响你正在修改的可编程逻辑控制器,还会影响特定于平台的项目。

共享项目

与可编程逻辑控制器相反,共享项目没有输出。相反,代码被编译到引用它的每个项目中。为了编写平台特定的功能,共享项目允许您包含编译器指令,例如#if __ANDROID__,它将根据项目目标平台启用或禁用部分代码。

两种选择都有优点和缺点,所以请查看official documentation看看哪一个最适合你的应用。

需要更多理由吗?

Xamarin一直积极主动地与最新的平台版本保持同步。它有一个很大的社区,网上有很多可用的文档,那么你还在等什么呢?开始学习!

我提到过它是免费的和开放源码的吗?谢谢,微软!

如果您准备好在Visual Studio上尝试Xamarin,Nate Barbettini will get you started in this recent tutorial。要了解有关Xamarin的更多信息,请查看以下资源: