Visual Studio创建跨平台移动应用_01.Cordova&Xamarin
目前开发移动应用有三种模式:Native、Hybird、Web,若要开发跨平台的移动应用,又希望与本地API交互,那么Hybird是一个非常好的选择。

作为一个.Net程序员,可以使用熟悉的IDE,Visual Studio来进行开发移动应用,目前已经有基于Visual Studio的扩展来帮助我们快速开发:
- Cordova(HTML/Javacript)
- Xamarin(.Net Framework)
请参考以下文章:
1 Cordova
Apache Cordova是通过HTML、CSS和Javascript来构建本地移动应用的平台。
Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。
Cordova支持移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。
1.1 参考资料
- Apache Cordova
- Apache Cordova for Visual Studio Extension
http://www.visualstudio.com/en-us/explore/dn841948#Fragment_Overview
- Telerik AppBuilder for Visual Studio Extension
http://www.telerik.com/platform#overview
1.2 Apache Cordova for Visual Studio Extension
在Visual Studio 2013 Update 4之后,可以使用一款名为MDA的Apache Cordova for Visual Studio Extensions,通过这款扩展,你能在Visual Studio上进行跨平台的开发、调试、发布,看看下面的图,智能提示、断点调试,是不是很熟悉呢。

1.3Telerik AppBuilder for Visual Studio Extension
AppBuilder是一款由Telerik公司开发维护的移动端开发框架,基于Cordova平台,通过这套框架,你能在几分钟之内就创建一款运行在Android、iOS和Windows Phone上的应用。
AppBuilder Extension for Visual Studio目前只支持:
- Visual Studio 2012
- Visual Studio 2013

2 Xamarin
获取Visual Studio 2013 Update 2或更新版本之后,能为Windows设备创建应用程序,新增了Windows Project和Windows Phone Project。你能用一个通用的应用程序项目模版为所有Windows设备编写应用程序。如果想为Android或iOS编写应用程序,需要安装Xamarin。你可以为Windows、Android和iOS设备建一个通用的解决方案,然后使用共享项目或可移植类库的方式共享代码。

你能够共享不同平台下的代码。包括业务逻辑、云端集成、数据库访问或其他.Net Framework编写的代码。在Windows和Windows Phone项目间你可以共享更多的代码。由于不同平台存在差异性,UI部分代码你无法共享。
2.1Windows 设备
Windows 8.1 和 Visual Studio 2013 Update 2发布后, 你能够为Windows phones, desktops, 和 tablets编写应用程序.
- Desktops :桌面应用程序
- Tablets :平板电脑应用程序

如果你要面对以上三个平台你可以考虑用一个通用的项目模版。这个项目模版包含Windows project (for desktops and tablets), Windows Phone project, 和 shared project. Shared projects 是 Visual Studio 2013 Update 2中新增的. 通过这个模版你能够更简单的编写的测试为Windows和Windows Phone设备编写的项目代码.
下图所示的解决方案包含三个项目(Windows Phone, Windows, and shared). 你可以通过Hub App (Universal Apps) 项目模版来创建这样一个解决方案.

目前这个通用的项目模版只支持C# 和 C++.
2.2 Android&iOS设备
安装Xamarin,你可以使用C#为Android和iOS设备开发应用程序。找到Android和iOS的项目模版,如下图所示。

这些模版将为原生的Android和iOS功能提供C#对象进行访问。你可以像编写Objective-C或Java那样来访问Android和iOS设备的本地API和本地用户控件。
你可以在同一个解决方案中为Android、iOS和Windows创建项目。下图展示了一个通用的项目模版,不同项目都可以共享shared project中的代码。

Visual Studio创建跨平台移动应用_01.Cordova&Xamarin的更多相关文章
- Visual Studio创建跨平台移动应用_02.Cordova Extension
1简介 本章节是关于Visual Studio Tools for Apache Cordova的,目前此产品只发布了预览版.Visual Studio for Apache Cordova帮助熟悉V ...
- 使用 Cordova+Visual Studio 创建跨平台移动应用(1)
1简介 本章节是关于Visual Studio Tools for Apache Cordova的,目前此产品只发布了预览版.Visual Studio for Apache Cordova帮助熟悉V ...
- 使用 Cordova+Visual Studio 创建跨平台移动应用(2)
目前开发移动应用有三种模式:Native.Hybird.Web,若要开发跨平台的移动应用,又希望与本地API交互,那么Hybird是一个非常好的选择. 作为一个.Net程序员,可以使用熟悉 ...
- 使用 Cordova+Visual Studio 创建跨平台移动应用(3)
1 背景 本章节是关于Telerik AppBuilder for Visual Studio的. 目前(2014.12)为Telerik公司Telerik Platform的一部分,Telerik ...
- Visual Studio创建跨平台移动应用_03.AppBuilder Extension
1 背景 本章节是关于Telerik AppBuilder for Visual Studio的. 目前(2014.12)为Telerik公司Telerik Platform的一部分,Telerik ...
- 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)
原文出处:新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows) 这是我的文章备份 http://www.dotblogs.com.tw/ ...
- 使用Visual Studio创建简单的自己定义Web Part 部件属性
使用Visual Studio创建简单的自己定义Web Part 部件属性 自己定义属性使用额外的选项和设置拓展你的Web part部件.本文主要解说怎样使用Visual Studio创建简单的自己定 ...
- 用Visual Studio创建集成了gtest的命令行工程
gtest代码库中的sample代码 在gtest的代码库中,包含了10个sample的代码,覆盖了gtest的常见用法,sample的代码位于以下文件夹: gtest\samples 由于gtest ...
- 使用Visual Studio 创建新的Web Part项目
使用Visual Studio 创建新的Web Part项目 Web Part是你将为SharePoint创建的最常见的对象之中的一个.它是平台构建的核心基块. 1. 管理员身份打开Visual St ...
随机推荐
- JQ滑动导航菜单的实现
前言:不多说直接看效果!!! 这样的菜单我们在一般的网站上见到的也比较多,有比较好的用户体验! 原理:这个很重要,任何的特效只要原理搞明白了,实现起来都是很容易的!这个特效的原理很简单,菜单的样式 ...
- JDK5-静态导入
import static 1. 导入一个类内所有静态成员 import static java.lang.Math.*; public class StaticImport { public sta ...
- Camera2Raw
This sample demonstrates how to use the Camera2 API to capture RAW camera buffers and save them as D ...
- 体验Impress.js
用腻了ppt,prezi的风格看起来更酷一点儿,无意中得知有Impress.js这么一个H5版的prezi,nice,值得一试. 关于Impress.js,网上教程很多,但说实话就跟教小朋友一样,一步 ...
- Linux磁盘管理:lvcreate 常用命令
查看当前LV及PV信息: [root@rusky ~]# hostnamectl Static hostname: localhost.localdomain Transient hostname: ...
- Android应用程序开发之图片操作(一)——Bitmap,surfaceview,imageview,Canvas
Android应用程序开发之图片操作(一)——Bitmap,surfaceview,imageview,Canvas 1,Bitmap对象的获取 首先说一下Bitmap,Bitmap是Androi ...
- Camera类
Camera类 使用 Camera 类可从连接到运行 Flash Player 的计算机的摄像头中 捕获视频. 使用 Video 类可在本地监视视频. 使用 NetConnection 和 NetS ...
- 突然想写点东西,关于web新人的。采用问答方式
我自己是会计专业,转行自学web的,学习有一两年了,也还是新人一个,只不过不是那种超级“新”的,所以有什么话说得不对,请轻喷.欢迎大家来和我交流. 1.我能不能转行学web? 能不能学web这个不是别 ...
- C#中创建线程,创建带参数的线程
线程操作主要用到Thread类,他是定义在System.Threading.dll下.使用时需要添加这一个引用.该类提供给我们四个重载的构造函 构造函数定义: 无参数委托 [SecuritySafeC ...
- Sqlite 错误码
#define SQLITE_OK 0 /* 成功 | Successful result */ /* 错误码开始 */ #define SQLITE_ERROR 1 /* SQL错误 或 丢失数据库 ...