Xamarin简介

##Xamarin简介##
Xamarin 是由早期的Mono项目演变而来，原本是在Linux上执行C#程序的一个开放原始码项目。后来陆续发表支持iOS的Mono Touch framework以及Mono For Android Framework。因此它在市场上并不是一个新的产品。2011年，原本在Novell的Mono项目团队独立成立一家公司，正式将名称改为Xamarin。
Xamarin是一个行动App开发平台，提供跨平台开发能力，开发人员透过Xamarin开发工具与程序语言，即可开发出iOS、Android 与Windows 等平台的原生(Native) App 应用程序，不须个别使用各平台的开发工具与程序语言，不只是「write-once, run everywhere」的跨平台解决方案，更可达到 「write your code once, and present native UIs on each platform.」之跨平台开发能力。由于Xamarin可直接产生各平台之原生App应用程序，相较于其他跨平台方案，藉由Xamarin所开发出来的App应用程序，更能发挥出各行动平台的功能与特性，且具有最佳的执行效能。


##原理说明##
Xamarin是市场上少数提供原生解决方案的跨平台行动开发工具， 原生应用程序应该包含以下特性：
使用标准的用户界面并符合各个行动平台的设计准则。
搭配装置硬件以提供优化的效能。
能够完整存取装置硬件上的功能。
Xamarin将原生(Native)的 IOS及Android API转换为C# 函式库供使用者使用，开发人员可使用C#撰写程序，并呼叫原生平台(IOS, Android)的API，且透过良好的设计，可以在不同平台共享部份程序代码。开发人员可透过Xamarin编译程序，直接将程序编译为ARM的执行档，并进行各平台的封装。编译封装完成的App由于不经过中间转译，直接编译为原生的二进制执行文件，因此具有好的运作效能