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