原文:【Xamarin开发 Android 系列 2】VS2015跨平台开发的几种方式

在微软Build大会上,微软宣布在VS2015中支持三种方式进行跨平台的开发。

1. Xamarin

2. Cordova

3. C++

Xamarin 

官网 :http://xamarin.com/

Xamarin 是由早期的Mono项目演变而来,原本是在Linux上执行C#程序的一个开放原始码项目。后来陆续发表支持iOS的Mono Touch framework以及Mono For Android Framework。因此它在市场上并不是一个新的产品。2011年,原本在Novell的Mono项目团队独立成立一家公司,正式将名称改为Xamarin。

Cordova

官网 :http://cordova.apache.org/

Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。
Cordova支持如下移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。
C++
这个就不用介绍了,历史悠久的老牌编程语言。C语言的语法扩展升级,到后来的VC++ VC.NET Object-C 层出不穷,C#的底层 MSIL 也是基于C++,最终转化为可执行的汇编机器指令。
 
 
Xamarin 是一个商业项目,授权价格不菲。但是确实功能强大,更新比较快,活力前景明朗。
Cordova 开源项目,基于Phonegap的前身,貌似使用者较多。成本低廉。
 
个人更加倾向于商业项目的Xamarin,因为使用C#开发,而不是使用 Javascript开发,虽然Cordova也有 TypeScript的支持,但是,调试,开发IDE依然还是C#强大。
这里仅仅讨论的是功能的实现,没有考虑平台的性能。
论性能而言,当然 原声的性能最佳,其次应该是基于C++的方式,再其次,是 Xamarin Cordova 等调用API 转化的方式。
 
 
 

【Xamarin开发 Android 系列 2】VS2015跨平台开发的几种方式的更多相关文章

  1. 【Xamarin开发 Android 系列 3】循序渐进的学习顺序

    原文:[Xamarin开发 Android 系列 3]循序渐进的学习顺序 指定合理的学习步骤,将各个技术点进行强化.慢慢 的就从点到线 到面的飞跃,一切仅仅是时间问题,开始前,请记住,学习是最佳的投资 ...

  2. 【Xamarin开发 Android 系列 1】环境部署搭建

    原文:[Xamarin开发 Android 系列 1]环境部署搭建 开篇自然先扯一段,近几年移动互联网如果熊猫零食一样,蔓延迅速.楼主身为一个微软忠实的粉丝,无奈,老爹不给力.Silverlight开 ...

  3. 【Xamarin开发 Android 系列 13】 应用打包部署

    原文:[Xamarin开发 Android 系列 13] 应用打包部署 开始倒叙咯................ 先更新大宝部署吧,这个章节比较的Easy,童鞋们不用费脑筋.点解?从界面上填写几个参 ...

  4. 【Xamarin开发 Android 系列 7】 Android 结构基础(下)

    原文:[Xamarin开发 Android 系列 7] Android 结构基础(下) *******前期我们不打算进行太深入的东西,省的吓跑刚进门的,感觉门槛高,so,我们一开始就是跑马灯一样,向前 ...

  5. 【Xamarin开发 Android 系列 5】 Xamarin 的破解

    原文:[Xamarin开发 Android 系列 5] Xamarin 的破解 有关这个话题,十分敏感,公司开发还是支持下商业版权吧,毕竟一帮猴子辛辛苦苦没日没夜的干活,不说开宝马奔驰,吃饭还是必须的 ...

  6. 【Xamarin开发 Android 系列 6】 Android 结构基础(上)

    原文:[Xamarin开发 Android 系列 6] Android 结构基础(上) 前面大家已经熟悉了什么是Android,而且在 [Xamarin开发 Android 系列 4] Android ...

  7. 【Xamarin开发 Android 系列 4】 Android 基础知识

    原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android? Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Li ...

  8. Android开发之使用sqlite3工具操作数据库的两种方式

    使用 sqlite3 工具操作数据库的两种方式 请尊重他人的劳动成果,转载请注明出处:Android开发之使用sqlite3工具操作数据库的两种方式 http://blog.csdn.net/feng ...

  9. Xamarin for android:为button设置click事件的几种方法

    原文:Xamarin for android:为button设置click事件的几种方法 在Xamarin中一个最基础的事情,就是为一个button指定click事件处理方法,可是即使是这么一件事也有 ...

随机推荐

  1. 清除Eclipse和Myeclipse中的工作空间目录

    打开Eclipse或者Myeclipse后,选择功能菜单里的Windows->Preferences->, 弹出对话框后,选择General->Startup and Shutdow ...

  2. WebView支持特效,页面内跳转(转载!)

    webView = (WebView) findViewById(R.id.lottery_webview); webView.getSettings().setJavaScriptEnabled(t ...

  3. OC - 5.内存管理

    一.引用计数器 1> 栈和堆 栈 ① 主要存储局部变量 ② 内存自动回收 堆 ① 主要存储需要动态分配内存的变量 ② 需要手动回收内存,是OC内存管理的对象 2> 简介 作用 ① 表示对象 ...

  4. 05_天气查询_JAX-WS方式_客户端

    [客户端特点] 支持面向对象开发. 客户端功能调用webService,首先得知道WebService的地址. 一般情况下,只要知道了wsdl的地址,就可以知道WebService的地址. 我们上一篇 ...

  5. 暑假集训(1)第五弹 -----Rails(Uva514)

    PopPush城市有一座著名的火车站.这个国家到处都是丘陵.而这个火车站是建于上一个世纪.不幸的是,那时的资金有限.所以只能建立起一条路面铁轨.而且,这导致这个火车站在同一个时刻只能一个轨道投入使用, ...

  6. itoa : Convert integer to string

      Quote from:  http://www.cplusplus.com/reference/cstdlib/itoa/   function   Required header : <s ...

  7. oracle所在磁盘空间不足导致了数据库异常

    oracle所在磁盘空间不足导致了数据库异常.需要减小数据文件的大小来解决. 1.检查数据文件的名称和编号 select file#,name from v$datafile; 2.看哪个数据文件所占 ...

  8. MySQL的多实例

    一.准备工作     1.关闭mysql进程     # pkill     # service mysqld stop         2.从系统服务中删除mysqld     # chkconfi ...

  9. ubuntu logout 命令

    gnome-session-quit 点击打开链接http://askubuntu.com/questions/15795/how-can-you-log-out-via-the-terminal

  10. Ajax 异步 XMLHttpRequest

    1.GET方式             1.1设置参数             xhr.open("GET", "GetAreasByAjax.ashx?isAjax=1 ...