\\\本文要点
\\
- 对移动应用而言,跨平台开发方式降低了开发和维护的代价。\\t
- Microsoft收购Xamarin,这使得那些专注于Microsoft技术的企业受益匪浅。\\t
- 自从Xamarin加入到Visual Studio中之后,其使用日益广泛。当然,这也要归因于它目前是开源和免费的。\\t
- Xamarin是“近乎原生”的。它将源代码编译为原生的iOS和Android。\\t
- Xamarin.Forms、Test Cloud和Xamarin University使Xamarin平台对开发人员更具吸引力。\
Xamarin曾是一种利基产品,售价昂贵。现在,它正逐渐成为一种广为使用的移动应用开发工具(参见链接给出幻灯片的第4张和第6张)。出于一些原因,Xamarin并不适用于某些类型的应用,其本身也存在着不少缺点。对此,本文将做详细的介绍。同时,Xamarin也是一种跨平台的开发工具。因此,我们还将在本文中权衡跨各种平台与原生开发上的一些优缺点。下面,我们首先简述Xamarin的推出及发展历史。
\\从Gnome、Mono到Ximian
\\Miguel de Icaza是Gnome项目的创始人,他同时也是一位开源项目冠军(Open Source Champion )。在他看来,要让开源项目得到大众的认可,必须使该项目与Microsoft、Novell等公司提供的商业软件毫无二致。出于此考虑,de Icaza于1999年开始和Nat Friedman合作。他们曾在1997年有过短暂的接触,那是在de Icaza的一次不成功的Microsoft面试期间。当时,de Icaza对Microsoft管理层指出,他们公司的软件应该走上开源之路。这次面试进展的并不顺利,但此后Friedman和de Icaza创立了Ximian项目,其中最主要的项目是Mono。Ximain于2003年被Novell收购,当时Novell正试图从Microsoft赢回它们日益萎缩的网络市场份额。此后,Novell于2011年被Attachmate收购,而Attachmate裁剪掉了Mono项目的大部分资源。
\\这在de Icaza和Friedman看来,无疑是一个机会。因此,他们着手创立了另一个初创项目,即Xamarin,针对开发用于移动应用开发的产品。他们的首个产品Xamarin.Mac在2012年发布,支持开发人员使用C#语言为Apple Mac编写应用并通过Apple Store销售。在2013年,他们发布了Xamarin 2.0,这款IDE产品的推出,使开发人员可以使用Microsoft Visual Studio开发用于iOS、Android和Windows的应用。但是该版本的一个主要缺点在于,Xamarin的许可费用在当时是非常昂贵的。
\\多年来,Microsfot一直关注着de Icaza的动向。在Microsoft看来,Xamarin就是公司真正需要的产品,因为Xamarin具有使用Visual Studio开发Android和iOS应用的能力。这样,Microsoft出手收购了Xamarin,并将Xamarin作为一种开源的IDE绑定到.NET中。这正是De Icaza多年前就希望Microsfot能去做的事情。
\\ \\图1 Xamarin的发展历史(图片来源:Craig Dunn的幻灯片)
\\跨平台开发的案例
\\移动应用开发主要有三种方式:原生的、跨平台的和混合的。本文将不会介绍混合解决方案,因为这种解决方案通常无法达到原生的或真正跨平台开发的质量和稳健性。
\\ \\