【Xamarin挖墙脚系列:Xamarin的核心】
Xamarin 包含两个商业产品 :Xamarin.IOS, Xamarin.Android。他们都是通过开源的基于.Net的Mono项目构建的。Mono是一个跨平台的.net 运行时,所有基于.net开发的应用,都可以运行在安装Mono的系统上。
Mono可以部署在 Windows Linux Unix MAC OSX。。。
在IOS开发中,Xamarin是通过AOT的编译方式,在程序发布时,进行预编译,并且直接将代码转化成为原生的程序集语言代码。
在Android中,Xamarin则是将代码生成了中间语言,IL,在程序运行的时候,将IL转化为原生的字节码语言。(在Xamarin的企业版中,使用NDK的方式,进行直接忽略IL的过程,进行原生代码级别的开发)
不管是 IOS的开发,开始Android的开发,Xamarin的应用都通过运行时,进行如:内存分配 垃圾回收 底层交互等。
上面的两个程序集就是Xamarin的核心dll。这两个程序集中,包含了对应的发布版本的对应的SDK的完全的包装映射。每当IOS 或者Android的新的版本发布的时候,都会有对应的包装程序集被发布。
MonoTouch.dll---包含了对应版本的IOS发布的SDK的绑定影射
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoTouch
Mono.Android.dll---包含了对应的Android的发布的SDK版本的影射
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid