本文主要阐述Xamarin的是什么,它能做什么以及它是如何跨平台的只
1。什么是Xamarin的
Xamarin的是一个跨平台的移动开发工具,由Mono发展而来。开发人员可以使用c#为iOS、Android, Mac以及Windows Phone开发原生应用只
Xamarin的跨平台开发思路是:使用c#来完成所有平台共用的,和平台无关的程序逻辑部分,由于各个平台的UI和交互不同,再使用由Xamarin封装好的c# API来访问和操控原生的控件,分别进行不同平台的UI开发。
,
如下图:
,
,
2。Xamarin的能做什么
Xamarin的主要由Xamarin.iOS, Xamarin.Android以及Xamarin的。形式组成,主要功能也有着三部分组成:
,
2.1使用Xamarin的。iOS来构建iOS原生应用
下面会使用Mac OS X上的Xamarin的工作室来演示如何构建iOS应用:
——打开Xamarin的工作室
——新建一个项目,选择iOS应用程序——单一视图应用
,
——点击下一步,输入应用程序名称,例如:FirstXamariniOS,一路点击下一步,工程创建完成。
下面是生成的iOS工程结构截图:
,
如果有Xcode使用经验的话会发现,这个Xamarin的iOS工程的项目结构与Xcode的结构很类似,都包含了AppDelegate类,默认的ViewController以及主要故事板文件,基本的类名称都是一致的。
,
打开主要。故事板文件,可以从工具箱上拖拽一些原生控件到视图控制器上,与Xcode中使用方式一致,但是有一些功能没有Xcode强大,比如设置视图的自动布局等等,如下图:
,
运行上面的工程,就可以在模拟器中查看效果了。
,
从上面来看来说使用Xamarin进行iOS编程需要有一定的iOS应用程序开发知识,需要熟悉iOS界面框架(Cocoa Touch)等等,即便使用Xamarin的开发应用,也绕不过原生底层的这些东西只
,
2.2使用Xamarin的。Android来构建Android原生应用
下面会使用Mac OS X上的Xamarin的工作室来演示如何构建iOS应用:
——打开Xamarin的工作室
——新建一个项目,选择Android——应用程序——Android应用
,
——点击下一步,输入应用程序名称,例如:FirstXamarinAndroid,一路点击下一步,工程创建完成。
下面是生成的Android工程结构截图:
,
如果有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.Forms构建跨平台应用的一个缺陷就是只能使用Xamarin的。形式包中的控件,会有一些限制。
如果先了解更多关于如何使用Xamarin.Forms构建跨平台应用,请参见文章:Xamarin的。形式入门——使用Xamarin的。形式来创建跨平台的用户界面。
,