使用 Cordova+Visual Studio 创建跨平台移动应用(2)
目前开发移动应用有三种模式: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中的代码。

使用 Cordova+Visual Studio 创建跨平台移动应用(2)的更多相关文章
- 使用 Cordova+Visual Studio 创建跨平台移动应用(1)
1简介 本章节是关于Visual Studio Tools for Apache Cordova的,目前此产品只发布了预览版.Visual Studio for Apache Cordova帮助熟悉V ...
- 使用 Cordova+Visual Studio 创建跨平台移动应用(3)
1 背景 本章节是关于Telerik AppBuilder for Visual Studio的. 目前(2014.12)为Telerik公司Telerik Platform的一部分,Telerik ...
- Visual Studio创建跨平台移动应用_02.Cordova Extension
1简介 本章节是关于Visual Studio Tools for Apache Cordova的,目前此产品只发布了预览版.Visual Studio for Apache Cordova帮助熟悉V ...
- Visual Studio创建跨平台移动应用_01.Cordova&Xamarin
目前开发移动应用有三种模式:Native.Hybird.Web,若要开发跨平台的移动应用,又希望与本地API交互,那么Hybird是一个非常好的选择. 作为一个.Net程序员, ...
- 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 ...
随机推荐
- dvtm: 平铺式终端管理器 — LinuxTOY
dvtm: 平铺式终端管理器 — LinuxTOY LinuxTOY 是一个致力于提供 Linux 相关资讯的专题站点.如果您发现了好用好玩的 Linux 东东并愿意发扬自由.分享的精神,可以点击顶部 ...
- sql使用存储过程和交易
在过去的一年.学习数据库的时候学校有存储过程.永远只是知道一些理论,我不知道怎么用.时隔一年,最终找到怎样使用存储过程了. 在机房收费系统中.有些操作.须要多次运行sql语句,多次运行完毕才算是完毕这 ...
- java设计模式_单例
public class Singleton { public static void main(String[] args) throws Exception { System.out.printl ...
- Java学习之道:空指针错误求解救????????????
运行下面这个主方法红色代码的地方就报如下错: https://api.weibo.com/2/users/show.json?access_token=2.00szM9cCc4R_EC6ebcf150 ...
- 中国科学院信息project研究所 第四研究室实习生/应届生招聘
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU2hpWmhpeGlu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...
- atitit.java方法属性赋值and BeanUtils 1.6.1 .copyProperty的bug
atitit.java分配给属性值方法and BeanUtils 1.6.1 .copyProperty的bug 1. core.setProperty(o, "materialId&quo ...
- 后台使用oracle前台使用easyui分页机制
前台easyui 的datagrid中设置分页属性: pagination:true,//显示分页 pagePosition:'bottom',//分页栏位置 both 上下 bottom.top p ...
- Android:主题(Theme)
1.主题和样式的区别主要区别在 主题不能作用于单个View组建,主题应该对整个应用中的所有Activity起作用或者对指定的Activity起作用. 主题定义的格式应该是改变窗口的外观格式,例如窗口变 ...
- ecshop首页调用指定分类的所有产品(指定一级调二级)
第一种方法 第一 在/includes/lib_goods.php下增加如下代码,用过网上的直接换掉就可以 function index_get_cat_id_goods_best_list($cat ...
- UVa 103 - Stacking Boxes (LIS,打印路径)
链接:UVa 103 题意:给n维图形,它们的边长是{d1,d2,d3...dn}, 对于两个n维图形,求满足当中一个的全部边长 依照随意顺序都一一相应小于还有一个的边长,这种最长序列的个数,而且打 ...