Xamarin是mono项目的一个分支,但这里面最大的区别Xamarin是商业项目.mono做为跨平台的框架已得到越来越多的商业项目的肯定,令外界担心的版权问题\可靠性\稳定性也得到证实,使用mono最大的好处是可以使用其它平台众多的项目解决方案,而不必被限制在windows平台下贫乏而又昂贵的各种解决方案.本人花一个星期的时间对Xamarin进行了解,并且尝试对它的环境进行配置,测试.从而写出本文.


本人去了解Xamarin的主要目的是为了移动项目跨平台寻找更优的开发方案.Xamarin官方号称在android\iphone\ipad\mac\windows phone\windows 8已实现跨平台,并且实现跨平台可以重用90%的代码.

根据从mono的跨平台实现原理,了解到Xamarin也是采用gtk#作为ui层,但令人沮丧的是Xamarin下的ui层并不能跨平台,具体原因不理解是为什么,我猜大概还是因为某些人为的限制,因为gtk做为跨平台的UI层在技术层早已不是问题.

Xamarin提供了试用版本,但是在线安装的形式,只因采用这个国度的网络,,两天没安装成功只得放弃这种方式,好在有好心人整理了离线安装的方式,通过离线安装方式安装成功.但很多功能不能使用,需要破解,,,为了更多地了解这个软件,我无耻地用破解工具破解掉了Xamarin...

Xamarin带了Xamarin studio,但只能做android下的开发,这是我比较纳闷的一点.

Xamarin还提供了for vs2010  vs2012的插件,这个是比较吸引人的地方.但插件里面只有android\ios类型的项目,更多其它平台上的项目都没有.ios的项目的编译和调试需要xcode支持,则说明还需要一台mac的系统以及xcode环境,以及一个装在mac上的辅助软件Xamarin.ios,Xamarin.ios是运行在mac上的软件,用来负责编译和调试软件,并且把结果通过socket通信反应到IDE上.但官方并没有提供这个软件的下载或试用.是购买授权用户的特权.


因此我的进一步了解中断了,但我已决定是放弃Xamarin的时候了,,当前用它做跨平台的项目还不成熟,主要体现在以下几个方面


毕竟是新项目,用户少,可用资源少,遇到问题要么自己硬啃,要么等几天的时间让官方技术支持帮解决

  • 官方只提供了在线文档,在这个朝代访问国外网站的效率,你懂的.
  • Xamarin是商业项目,并不开源,因此无法预测到那框架哪个部分会有bug,一旦框架出现问题,只能坐等官方更新.
  • Xamarin的api更新总是要慢于智能手机系统提供商发布的api,说明你无法使用最新的api
  • Xamarin是商业软件,要花钱,即便是调研它的可行性都很难,除非花钱买授权后再调研,没人这么有钱,没人这么闲
  • 除了官方的说明,没看到有对android\ios\mac以外的开发资源与环境,这个是莫须有?