Xamarin.Forms是一款高效的跨平台界面库,主要适用于移动应用开发者使用,兼容iOS, Android, Windows Phone等主流平台,拥有一次编码生成多平台界面的特色,可以大大地节省开发者的时间,提高开发效率。
功能特点
1、Decide page-by-page
非常适用于基于窗体的屏幕,您可以在同一个应用中,将Xamarin.Forms与Xamarin.iOS 、Xamarin.Android 所有的强大功能混合使用。
例如,使用Xamarin.Forms进行登陆和屏幕设置,使用Xamarin.iOS 和 Xamarin.Android 解决应用的其他部分。
2、随处嵌入自定义视图
页面不仅可以混合自定义的屏幕,您还可以将直接针对Xamarin.iOS和Xamarin.Android创建的自定义视图嵌入到其中。
3、通过共享服务调用平台API
您是否需要具有特定平台功能的Xamarin.Forms页面,例如查询相应加速计?如今我们支持快速、轻松地抽象化特定平台API,使您能尽可能地编写更多的共享性代码。
4、使用自定义控件扩展Xamarin.Forms
定义自己的控件、布局、页面和单元格
在Xamarin.Forms页面展示自己的特定平台控件。
划分控件类别并定义它们的操作。
5、创建纯XAML页面
使用简单的标记性语言定义视图、布局和绑定。
注意:Xamarin.Forms与当前XAML可视化设计器不兼容。
6、MVVM架构和数据绑定
MVVM架构用于清晰分离UI和程序逻辑。
双向的数据绑定自动同步控件和模型之间的数据。
具有启动小于10ms的、移动优化的依赖注入模式。
消息中心用于松耦合应用组件之间的消息传送。
7、设计优美的动画
包含用于创建复合效果的基本动画,如旋转、褪色和缩放。
低级动画API用于创建定制化,可回放的动画。
所有的操作都委托给特定平台的动画API(如iOS上的CoreAnimation),以进行性能优化。
使用异步/等待功能的动画都是可等待的,以实现开发者友好的排序操作。
使用说明
使用 Xamarin Forms
你可以通过C#硬编码方式去架构你的界面,还有你可以通过XAML方式去构建。
Xamarin Forms 能适配的界面
Pages (页面)

Layout(布局)

Controls(控件)

好来看看一个简单的例子,由于这篇文章只是初探,我只会把部分精彩的节录下来,大家可以下载代码细看。如果要探究就继续关注我的blog , 接下来会陆续有关于Xamarin Forms 的更深入文章。
1. 创建Xamarin.Forms 项目

这里需要说明一点,Xamarin Forms项目有两种模版一种是基于Share Project ,一种是基于PCL ,这里要看各自项目的需要,我默认选取PCL(关于两个模版的使用,我会在之后文章和大家说说)
2. 创建成功后,会生成包含CnBetaDemo.Shared,CnBetaDemo.iOS, CnBetaDemo.Android 三个项目(如果你用Visual Studio 创建你就会有CnBetaDemo.Windows Phone 的项目) 。 CnBetaDemo.Shared就是我们需要处理的共享逻辑层和Xamarin.Forms。其余两个就是我们所需要对应的平台。
3.依据MVVM 方式架构我们的CnBetaDemo.Shared , 这里不得不提到Xamarin 的原理 。Xamarin 是一个基于共享逻辑层的跨平台原生应用方案。

为何用MVVM 在我之前文章有所提及。(博客决定放到csdn,我会迁移后贴上地址)。之前一年的做法是把逻辑共享,现在可以把页面通过Xamarin.Forms进行构造即可,所以CnBetaDemo.Shared就成为了我们跨平台架构项目的核心代码层。
4. 简单看看ViewModel层 ,这里我以读取CnBeta RSS 为例 ,FeedViewModel 的一些主要代码:
主要通过async和await 的方式加载数据
5. 通过Xamarin Forms 构造View
这里需要创建一个简单的表单ListView, 和自定义Cell, 当然Xamarin Forms会依旧平台进行相应渲染生成原生的表单支持
6. 运行看看
