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

Visual Studio创建跨平台移动应用_01.Cordova&Xamarin的更多相关文章

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

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

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

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

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

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

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

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

  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. Swift 算法实战之路:基本语法与技巧

    Swift是苹果新推出的编程语言,也是苹果首个开源语言.相比于原来的Objective-C,Swift要更轻便和灵活.笔者最近使用Swift实践了大量的算法(绝大部分是硅谷各大公司的面试题),将心得体 ...

  2. Gson解析json数据(转)

    一. www.json.org这是JSON的官方网站. 首先,我,我们需要在code.google.com/p/google-gson/downloads/list下载JSON的jar包,解析后把gs ...

  3. 【iOS控制器跳转时,NavigationBar有阴影动画闪过的解决办法】

    如题,push控制器时,由于默认的控制器view是黑色,push到这个控制器时,navigationBar(默认是透明效果)后面有一个黑色阴影一闪而过,解决办法将navigationBar设为图片填充 ...

  4. Django Errors Archive

    记录使用 Django 开发中遇到的问题,备用 1. 版本要选好,最好安装上 pip,可以省很多麻烦 2. 如果使用 Postgresql,选 8.1 之后的版本,免去 Retruning 之类的错误 ...

  5. 2015 Multi-University Training Contest 5

    #include <iostream> //1002 #include<set> #include<stdio.h> using namespace std; co ...

  6. c - 递归年龄

    /* 题目:有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁.问第 4 个人岁数,他说比第3 个人大 2 岁.问第三个人,又说比第 2 人大两.问第 2 个人,说比第一个人大两岁. ...

  7. JavaScript--赋值表达式(typeof-delete-void)

    typeof运算符 typeof是一个一元运算符,操作数可以使任意类型,返回值为操作数类型的一个字符串 一.数字类型,如typeof(1),返回的值就是number.当然这个是常规数字,对于非常规的数 ...

  8. c++面试(二)

    1.宏参数的连接 #define CONS(a,b) (int)(a##e##b) CONS(2,3) =>2e3 =2000 2.const int b=10; int c=20; const ...

  9. springmvc问题汇总

    1.  IncompatibleClassChangeError in spring mvc Failed to read candidate component class.......       ...

  10. PHP删除Solr文档

    <?php $options = array ( 'hostname' => 'localhost', 'port' => '8080', 'path'=>'solr/help ...