Visual Studio 2015 移动跨平台开发初体验
微软换了新 CEO 后变化很大,对我们团队最有利的消息就是 Visual Studio 2015 支持移动应用跨平台开发。
还记不记得很早之前,Xamarin 宣布与微软成为合作伙伴的消息。显然,Xamarin 得到了来自微软的大力支持,而微软则直接将 Xamain 融合进 Visual Studio 2015,以扭转它在移动领域的颓势。
也许你还担心这里面是否有大坑,是否还不够成熟,我现在还无法回答你,不过我相信微软和 Xamarin 会很快解决这些问题,尤其是微软,它有足够的动机去让 Visual Studio 2015 跨平台开发火起来。
所以,这只是时间的问题。
Visual Studio 跨平台开发,我认为非常的值得尝试,毕竟对于我们这个 .NET 起家的团队来说,去新组建 Android 和 iOS 开发团队的成本绝不少,而且团队这方面的技术积累也很薄弱。
如果你做过 .NET 和 Android 开发,那么看一下这个视频 https://xamarin.com/visual-studio,Wow,像不像 Windows Form 开发?终于可以解放生产力了!
Visual Studio 2015 支持几种方式开发跨平台移动应用:
- 使用 C# / F# 开发跨平台的 Android IOS WP 原生应用。
- 使用 Apache Cordova 框架开发基于 HTML 技术的跨平台应用。
- 使用 C++ 开发原生 Android 应用。
C# 开发跨平台
- 可以使用 C# 的几乎所有特性。
- 可以使用第三方 .NET 类库。
- 既可以分别为不同平台使用 Xamarin 提供的设计器设计原生 UI (所谓原生,就是使用的技术都是原汁原味的,只不过集成进了 Visual Studio 内)。
- 也可以使用 Xamarin 系统的方案,只需一份代码,就可构建跨平台的界面。
- 其它你想到的,现在几乎都可以做到,详见 Faq http://xamarin.com/faq。


实际体验了一下,因为 C# 更紧凑的语法加上 VS 的高度智能,比用 eclipse 开发效率高不少(eclipse 有些地方实在是太不智能了),项目的结构基本上和 Android Java 开发一致,从 Java 开发转过来会很顺利。
举个例子,我使用了 .NET 里的任务库开启一个异步线程,然后使用了第三方 JSON 库生成一段 JSON 后更新到界面上:

我感受到了纯粹的 C# 开发体验,没做过 Java 开发的人可知道上面的 C# 代码要是用等同的 Java 写得有多啰嗦。
iOS 方面,和 Android 的体验差不多,不过部署和调试,需要通过网络远程连接到 Mac 电脑上。
目前 Visual Studio 2015 的跨平台应用开发,是基于 Xamarin,因此你需要安装 Xamarin 套件(安装过程需要下载很多包,需FQ,网络不太好的朋友,可以下载我已经传到网盘上的离线包,自己一个一个安装 http://pan.baidu.com/s/1i328fRn )。
此外,Xamarin 也可以集成在 VS 2012 / 2013 中。
不过 Xamarin 是要收费的,虽然有免费版,但是有些限制,https://store.xamarin.com/。

不过,BUSINESS 那个算下来每个月 514 元 RMB,注册一个账户后可以免费试用 30 天,而且一个账户可以用在两台电脑上(514 元买两份 License ?待确认)。
如果这个真的够成熟的话,比起招 Android 和 iOS 两组开发人员,还是划算不少的,并且我们团队中随便一个会 .NET 的人学习几天就能上手了。
Apache Cordova 跨平台
目前还没有试过,既然是 Apache 的顶级项目,应该还是靠谱的,后续如果有研究,我会更新的。
以上,我觉得不错,打算后续做一些跨平台的复杂点的例子,到时候给个反馈。
Xamarin Faq:http://xamarin.com/faq
darklx
Visual Studio 2015 移动跨平台开发初体验的更多相关文章
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- visual studio for mac的安装初体验
微软2016 Connect 大会发布了visuo studio for mac的pre版本,由于工作原因,现在工作环境是mac,虽然开发现在是在用python,但一直关注着.net的发展,于是自己很 ...
- Visual Studio Code 学习.net core初体验
一,安装 最近在用 Visual Studio Code 学习.net core ,记录下学习的过程,首先去官网下载最新的.net core2.1安装包,有windows 和mac,根据自己的开发环境 ...
- 体验Visual Studio 2015 Windows Forms应用程序开发与维护
昨天到半夜还没有等到Visual Studio 2015的下载地址,实在熬不住就先休息了.北美地区的时区比北京时间要晚一些,今天早上到公司就看到Visual Studio 2015的下载地址,迅速的将 ...
- Visual Studio 2015官方汇总包括下载和视频
7月20日 23:30 Visual Studio 2015正式版正式发布,作为微软新一代开发利器,在全地球乃至全宇宙乃至全太阳系中最强大 且没有之一的IDE(上述描述来自微博用户评论)跨平台支持成 ...
- Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一)
基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于Visual Studio 安装 Xamarin 扩展的跨Android.iOS 和 Windows的 ...
- Visual Studio 2015 预览版 - 支持跨平台开发Android/iOS应用程序(内置安卓模拟器)
微软最近的惊人举动真多,对普通消费者Office 移动版宣布免费,对开发者也发布了完全免费的 VS2013 社区版! 不仅如此,就连 .Net 开发框架环境也竟然「开源」并且跨平台支持 Mac 及 L ...
- Visual Studio 2015 初体验
据微软介绍每次发布的新版本,都承载着为开发者提供最高效的Visual Studio开发体验的使命.Visual Studio 2015亦延续了这一趋势,为开发者带来了进一步的生产力创新,包括调试和诊断 ...
- Visual Studio 2015 和 Apache Cordova 跨平台开发入门
原文:Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一) 基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于V ...
随机推荐
- Shell特殊变量
$ 表示当前Shell进程的ID,即pid $echo $$ 运行结果 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数 ...
- 谈谈如何使用Netty开发实现高性能的RPC服务器
RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络,从远程计算机程序上请求服务,而不必了解底层网络技术的协议.说的再直白一点,就是客户端在不必知道 ...
- Socket聊天程序——初始设计
写在前面: 可能是临近期末了,各种课程设计接踵而来,最近在csdn上看到2个一样问答(问题A,问题B),那就是编写一个基于socket的聊天程序,正好最近刚用socket做了一些事,出于兴趣,自己抽了 ...
- inline-block元素间距问题的几种解决方案
不知道大家有没有碰到过设置了display:inline-block;的几个相邻元素之间有几px间距的问题,这里提供几种简单实用的解决方法,希望能够帮到大家! 方法1. 将<li>标签 ...
- ZKWeb网页框架1.1正式发布
发行日志 https://github.com/zkweb-framework/ZKWeb/blob/master/ReleaseNotes/ReleaseNote.1.1.md 主要改动 添加EFC ...
- Tableau未必最佳,国内BI也能突破重围!
如今,百度一下商业智能或BI工具,总能看到Tableau的身影.并不是Tableau的营销做得好,而是国内对于商业智能工具的认知和选择似乎都落在了Tableau身上.导致不管业内业外都对商业智能的概念 ...
- 【从零开始学BPM,Day1】工作流管理平台架构学习
[课程主题] 主题:5天,一起从零开始学习BPM [课程形式] 1.为期5天的短任务学习 2.每天观看一个视频,视频学习时间自由安排. [第一天课程] Step 1 软件下载:H3 BPM10.0全开 ...
- SQLite学习笔记(十)&&加密
随着移动互联网的发展,手机使用越来越广泛,sqlite作为手机端存储的一种解决方案,使用也非常普遍.但是sqlite本身安全特性却比较弱,比如不支持用户权限,只要能获取到数据库文件就能进行访问:另外也 ...
- 机器指令翻译成 JavaScript —— No.7 过渡语言
上一篇,我们决定使用 LLVM 来优化程序,并打算用 C 作为输入语言.现在我们来研究一下,将 6502 指令转换成 C 的可行性. 跳转支持 翻译成 C 语言,可比 JS 容易多了.因为 C 支持 ...
- AutoMapper(二)
返回总目录 首先,先创建一个控制台项目,引用AutoMapper程序集,创建三个类User,UserDto,UserMappingProfile,下面的知识点的演示都以此项目为基础,代码分别如下: n ...