从零开始学Xamarin.Forms(1) 概述

从零开始学Xamarin.Forms(一) 概述
    Xamarin 读 “ˈmərin”,是一个基于开源项目mono的能够使用C#开发的收费的跨平台(iOS、Android、Windows Phone、Mac)解决方案。
从零开始学Xamarin.Forms(1)  概述
从零开始学Xamarin.Forms(1)  概述
从零开始学Xamarin.Forms(1)  概述
    1.原理
        Xamarin.iOS:
            也就是之前的 MonoTouch(Mono for iOS),使⽤静态编译(Ahead-Of-Time)⽅式将C#代码编译为 ARM⼆进制代码。 
        Xamarin.Android:
            即之前的MonoDroid(Mono for Android) ,是将C# 代码编译成IL封装到MonoVM+JIT.
        
    2.优劣势
        在Xamarin2.0下开发跨平台应用,最多是逻辑层和数据访问层的代码可以共用,而最花费时间的界面搭建则需要针对不同的平台进行订制。当时Xamarin的优势是C#开发人员不需要再学习java和Objective-C了,缺点是需要了解各个平台界面的API,实际能节省下来的工作量并不多。
        幸运的是Xamarin3.0带来了Xamarin.Forms,界面部分也能共享一套代码了。真正能够达到“write your code once, and present native UIs on each platform.”(一次编写,在各平台使用原生控件展现)的效果。这也是Xamarin最吸引我的地方。目前****为Xamarin在中国大陆的代理,正在开展一些相应的培训。

        当然,有优势肯定也有劣势。目前Xamarin.Forms的版本为1.2.2 Prerelease 2 版,bug相当多(但更新较快),提供的控件不多,最基本的Radio Button和CheckBox没有(官方解释:这两个不是每个平台都有的控件),需要自己重写Renderer。在Android平台上,使用Xamarin.Forms开发稍微复杂些的应用,启动速度较慢,让人不得不为它设计一个启动界面。还有就是Xamarin的中文文档几乎没有,其中大部分资料来自台湾。****上的论坛才20条帖子...目前有问题比较靠谱的解决方法是在它的官方论坛或者加QQ群:385020493提问。

    3.开发环境
        Xamarin可以在Windows和Mac上进行开发:
        Windows:    Xamarin Studio 或 Xamarin for Visual Studio(2010 -2013) Plugin
                Mac:    Xamarin Studio