Xamarin的技术全解析

本文主要阐述Xamarin的是什么,它能做什么以及它是如何跨平台的只


1。什么是Xamarin的

Xamarin的是一个跨平台的移动开发工具,由Mono发展而来。开发人员可以使用c#为iOS、Android, Mac以及Windows Phone开发原生应用只

Xamarin的跨平台开发思路是:使用c#来完成所有平台共用的,和平台无关的程序逻辑部分,由于各个平台的UI和交互不同,再使用由Xamarin封装好的c# API来访问和操控原生的控件,分别进行不同平台的UI开发。

,

如下图:

 Xamarin的技术全解析

,

,

2。Xamarin的能做什么

Xamarin的主要由Xamarin.iOS, Xamarin.Android以及Xamarin的。形式组成,主要功能也有着三部分组成:

,

2.1使用Xamarin的。iOS来构建iOS原生应用

下面会使用Mac OS X上的Xamarin的工作室来演示如何构建iOS应用:

——打开Xamarin的工作室

——新建一个项目,选择iOS应用程序——单一视图应用

,  Xamarin的技术全解析

——点击下一步,输入应用程序名称,例如:FirstXamariniOS,一路点击下一步,工程创建完成。

下面是生成的iOS工程结构截图:

 Xamarin的技术全解析

,

如果有Xcode使用经验的话会发现,这个Xamarin的iOS工程的项目结构与Xcode的结构很类似,都包含了AppDelegate类,默认的ViewController以及主要故事板文件,基本的类名称都是一致的。

,

打开主要。故事板文件,可以从工具箱上拖拽一些原生控件到视图控制器上,与Xcode中使用方式一致,但是有一些功能没有Xcode强大,比如设置视图的自动布局等等,如下图:

 Xamarin的技术全解析

,

运行上面的工程,就可以在模拟器中查看效果了。

,

从上面来看来说使用Xamarin进行iOS编程需要有一定的iOS应用程序开发知识,需要熟悉iOS界面框架(Cocoa Touch)等等,即便使用Xamarin的开发应用,也绕不过原生底层的这些东西只

,

2.2使用Xamarin的。Android来构建Android原生应用

下面会使用Mac OS X上的Xamarin的工作室来演示如何构建iOS应用:

——打开Xamarin的工作室

——新建一个项目,选择Android——应用程序——Android应用

,  Xamarin的技术全解析

——点击下一步,输入应用程序名称,例如:FirstXamarinAndroid,一路点击下一步,工程创建完成。

下面是生成的Android工程结构截图:

,  Xamarin的技术全解析

如果有Eclipse进行Android编程经验的话会发现,这个Xamarin的Android工程的项目结构与Eclipse的结构很类似,都包含了默认的MainActivity以及布局文件,基本的类名称都是一致的只

打开主要。axml文件,可以从工具箱上拖拽一些原生控件到视图控制器上,与Eclipse的体验类似,也可以通过编辑XML的方式更改界面只

同样从上面来看来说使用Xamarin进行Android编程需要有一定的安卓应用开发知识,需要熟悉Android UI框架等等,原生底层的东西还是需要熟悉的只

,

2.3使用Xamarin的。形式来构建跨平台的应用

Xamarin的。形式是一个创建跨平台用户界面的库,通过Xamarin的。形式可以一次编码生成基于各个移动平台(iOS、Android、Windows Phone)的应用界面。

,

Xamarin.Forms提供了更高层次的一层界面组件抽象,这些组件在进行最终呈现的时候,会以原生控件的方式表现出来,也就是说每一个Xmarin.Forms的控件最终会有多个平台的原生呈现逻辑,如下图中,Xamarin的。形式的条目控件,对应的原生呈现为:

,  Xamarin的技术全解析

使用Xamarin.Forms构建跨平台应用的一个缺陷就是只能使用Xamarin的。形式包中的控件,会有一些限制。

如果先了解更多关于如何使用Xamarin.Forms构建跨平台应用,请参见文章:Xamarin的。形式入门——使用Xamarin的。形式来创建跨平台的用户界面。

,

3。Xamarin的实现原理Xamarin的

3.1。Android实现原理

Xamarin的技术全解析