目前开发移动应用有三种模式: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

http://cordova.apache.org/

  • 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)的更多相关文章

  1. 使用 Cordova+Visual Studio 创建跨平台移动应用(1)

    1简介 本章节是关于Visual Studio Tools for Apache Cordova的,目前此产品只发布了预览版.Visual Studio for Apache Cordova帮助熟悉V ...

  2. 使用 Cordova+Visual Studio 创建跨平台移动应用(3)

    1 背景 本章节是关于Telerik AppBuilder for Visual Studio的. 目前(2014.12)为Telerik公司Telerik Platform的一部分,Telerik ...

  3. Visual Studio创建跨平台移动应用_02.Cordova Extension

    1简介 本章节是关于Visual Studio Tools for Apache Cordova的,目前此产品只发布了预览版.Visual Studio for Apache Cordova帮助熟悉V ...

  4. Visual Studio创建跨平台移动应用_01.Cordova&Xamarin

          目前开发移动应用有三种模式:Native.Hybird.Web,若要开发跨平台的移动应用,又希望与本地API交互,那么Hybird是一个非常好的选择.       作为一个.Net程序员, ...

  5. Visual Studio创建跨平台移动应用_03.AppBuilder Extension

    1 背景 本章节是关于Telerik AppBuilder for Visual Studio的. 目前(2014.12)为Telerik公司Telerik Platform的一部分,Telerik ...

  6. 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)

    原文出处:新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows) 这是我的文章备份  http://www.dotblogs.com.tw/ ...

  7. 使用Visual Studio创建简单的自己定义Web Part 部件属性

    使用Visual Studio创建简单的自己定义Web Part 部件属性 自己定义属性使用额外的选项和设置拓展你的Web part部件.本文主要解说怎样使用Visual Studio创建简单的自己定 ...

  8. 用Visual Studio创建集成了gtest的命令行工程

    gtest代码库中的sample代码 在gtest的代码库中,包含了10个sample的代码,覆盖了gtest的常见用法,sample的代码位于以下文件夹: gtest\samples 由于gtest ...

  9. 使用Visual Studio 创建新的Web Part项目

    使用Visual Studio 创建新的Web Part项目 Web Part是你将为SharePoint创建的最常见的对象之中的一个.它是平台构建的核心基块. 1. 管理员身份打开Visual St ...

随机推荐

  1. 用gradle管理android项目出现的问题以及解决方法

    1.项目结构 最好是全部在root 项目配置 一个settings.gradle 一个build.gradle 2.多项目依赖 http://www.gradle.org/docs/current/u ...

  2. HDU1176:免费馅饼(DP)

    Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁 ...

  3. nginx做下载限速

    nginx做下载限速-szszszsz-ChinaUnix博客 nginx做下载限速 2009-12-25 14:34:57 分类: 系统运维 nginx做下载服务器,在性能上满足需求.自带limit ...

  4. POJ1611 The Suspects (并查集)

    本文出自:http://blog.csdn.net/svitter 题意:0号学生染病,有n个学生,m个小组.和0号学生同组的学生染病,病能够传染. 输入格式:n,m 数量  学生编号1,2,3,4 ...

  5. uva11426(莫比乌斯反演)

    传送门:GCD Extreme (II) 题意:给定n(n<=4000000),求G G=0 for(int i=1;i<n;i++) for(int j=i+1;j<=n;j++) ...

  6. hdu5172(线段树)

    传送门:GTY's gay friends 题意:判断区间[l,r]内的数字是否符合1~len(r-l+1)的一个全排列. 分析:pos[i]记录数字i出现的最大位置,pre[i]记录在位置i的数字a ...

  7. 在CodeBlocks 开发环境中配置使用OpenCV (ubuntu系统)

    CodeBlocks是一个开放源代码的全功能的跨平台C/C++集成开发环境.CodeBlocks由纯粹的C++语言开发完毕,它使用了蓍名的图形界面库wxWidgets.对于追求完美的C++程序猿,再也 ...

  8. [ACM] poj 1258 Agri-Net (最小生成树)

    Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 37131   Accepted: 14998 Descri ...

  9. JAVA实现Shell排序

    Shell排序可以理解为插入排序的变种,它充分利用了插入排序的两个特点: (1). 当数据规模小的时候非常高效. (2). 当给定数据已经有序时的时间代价为O(N) 所以,Shell排序每次把数据分成 ...

  10. 蓝桥杯软件学院webserver,android