初探Xamarin
Xamarin是一个基于mono的商业项目,收费,而且贼贵。官网地址是:http://xamarin.com/
就我个人理解,收费的Xamarin提供一个for visual studio 2010/2012的插件,从而使得可以在VS上开发Android/IOS项目。
对于需要跨平台开发的项目,相信可以重用一部分的逻辑代码,例如,保证某些算法或者处理逻辑是一致的。
然而,相对于优点来说,不足也是很明显的。
1, UI层不能跨平台,不同平台下的项目还是需要搭建不同的UI
2, IOS的项目的编译和调试需要Xcode支持。需要一台额外的mac系统以及Xcode环境,以及一个装在mac上的辅助软件Xamarin.ios。Xamarin.ios是运行在mac上的软件,用来负责编译和调试软件,并且把结果通过socket通信反应到IDE上。比起单纯使用XCode开发,还变得累赘了
3, IOS上貌似没有那种“所见即所得”的UI的编辑器
4, Xamarin API比原生的更新要慢,无法使用到最新的原生API。比如说,安装 Xamarin for android不兼容较新的Java7,强制要求安装Java6;Android模拟器最新的版本是API15
5, Android的代码跟用Eclipse编写的时候比较,无论是方法名属性名等都有一定的改变,虽然说跟C#的代码编写风格一致了,不过对于“参考”已有代码而言带来了不便
6, 网上其他观点:Xamarin用户少,资源少,遇到问题只有硬啃,要么缴纳昂贵的费用就可以让官方技术支持;Xamarin是商业项目,不开源,因此无法预测框架哪个部分会有bug,一旦出现bug,只能坐等官方更新

图1:新版本的Java不被支持

图2:最新的Android只支持到API15
初探Xamarin的更多相关文章
- 老司机学Xamarin系列总目录
Xamarin开发环境及开发框架初探 Xamarin Forms开发框架二探 (Prism vs MvvmCross) Xamarin Forms开发框架之MvvmCross插件精选 Xamarin开 ...
- Xamarin.Forms 初探
什么是 Xamarin Forms ? Xamarin Forms 是一个高效创建跨平台用户界面的库 .通过Xamarin Forms 能够一次编码生成基于主流移动平台(iOS, Android, W ...
- 老司机学新平台 - Xamarin开发环境及开发框架初探
随着被微软收购,最近一年间,Xamarin的火爆程度与日俱增.免费.更好的VS2015集成.更好的模拟器,甚至,在windows上运行和调试iOS平台程序,让我这样接触了十几年.NET平台的老司机,即 ...
- React Native初探
前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在上面做任何想做的事情. P ...
- 老司机学新平台 - Xamarin Forms开发框架二探 (Prism vs MvvmCross)
在上一篇Xamarin开发环境及开发框架初探中,曾简单提到MvvmCross这个Xamarin下的开发框架.最近又评估了一些别的,发现老牌Mvvm框架Prism现在也支持Xamarin Forms了, ...
- 【转】Xamarin Forms 介绍
特此声明,本篇博文转自:http://blog.csdn.net/kinfey/article/details/29621381 什么是 Xamarin Forms ? Xamarin Forms 是 ...
- 【Xamarin挖墙脚系列:Mono项目的图标为啥叫Mono】
因为发起人大Boss :Miguel de lcaza 是西班牙人,喜欢猴子.................就跟Hadoop的创始人的闺女喜欢大象一样...................... 历 ...
- HTML5+MUI+HBuilder 之初探情人
07,08年那会儿正当Java火爆,C/C++仍是广泛运用的一门语言的时候,所以 我的大学都献给了C/C++和Java.当诺基亚的倒闭成为按键机时代衰落的标志时,移动APP的开发也如破堤之洪,爆炸式的 ...
- [Xamarin]我的Xamarin填坑之旅(一)
一想到明天是星期五,不对,是今天,心里就很激动,毕竟明天没课.激动之余,来写一篇博客,记录一下最近踏坑Xamarin开发校园助手APP的一些事儿.也许更像是一篇流水账. 在扯Xamarin之前,有必要 ...
随机推荐
- span标签之间的空隙
出现的问题: 在html中,当有两个以及两个以上的span标签并列的时候,如果任意两个span之间换行书写的话,那么他们在页面上展现的时候往往会有空隙 解决的办法有两个: 1.将两个span标签写在同 ...
- seafile修改
---恢复内容开始--- [root@seafile yunpan]# vim /yunpan/installed/seahub/seahub/templates/footer.html ---恢复内 ...
- 【MySQL】MySQL锁和隔离级别浅析一
<MySQL技术内幕InnoDB存储引擎>第一版中对于MySQL的InnoDB引擎锁进行了部分说明,第二版有部分内容更新. 与MySQL自身MyISAM.MSSQL及其他平台BD锁的对比: ...
- java实验报告三 敏捷开发与XP
20145306 java 实验三 实验报告 实验内容 1.git下载结对同学的代码 2.修改结对同学的代码 3.实现代码重构 实验步骤 新建存储空间 git下载代码 将修改后的代码上传 上传结果 重 ...
- spring+hibernate--直接修改数据库,再通过hibernate查询数据不变
这个问题已经很多天了,一直没有时间解决,不过还好是自己的项目,没什么影响. 刚好今天没事,想好好解决一下这个问题. hibernate主要配置如下: <property name="h ...
- boost::asio 使用实例
#include <iostream> #include <boost/asio.hpp> using namespace std; using namespace boost ...
- Print a PeopleSoft Page with JavaScript
1. You will need a Long character field to hold the HTML string. You can use the delivered field HT ...
- WindowsApi 解压缩文件
.解压方法 转载自http://www.2cto.com/kf/201204/128704.html "C#解压.zip文件,网上一搜一大堆方法,有使用System.IO.Compressi ...
- ViewGroup 和 View 事件传递及处理小谈
前言 在自定义组件的时候少不了会去处理一些事件相关的东西,关于事件这块网上有很多文章,有说的对的也有说的不对的,我在理解的时候也有过一段时间的迷惑,现在把自己理解的东西写下来,给有相同疑问的朋友提供些 ...
- 为hbase新增节点
为hbase增加新的节点,首先要为hadoop增加新新街点.因为我的做法是将datanode和regionserver放到一台物理机上.因此大体流程是: 1.克隆已经存在的regionserver虚拟 ...