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 ...
随机推荐
- TypeScript: Angular 2 的秘密武器(译)
本文整理自Dan Wahlin在ng-conf上的talk.原视频地址: https://www.youtube.com/watch?v=e3djIqAGqZo 开场白 开场白主要分为三部分: 感谢了 ...
- NET Core-TagHelper实现分页标签
这里将要和大家分享的是学习总结使用TagHelper实现分页标签,之前分享过一篇使用HtmlHelper扩展了一个分页写法地址可以点击这里http://www.cnblogs.com/wangrudo ...
- angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用
今天我们要讲的是ng2的路由系统. 例子
- IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比(deep dive)
首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔者认为他们相当一部分没有分清所写的驱动时的驱动模型,是基于device tree, 还是基于传统的Platf ...
- <译>通过PowerShell工具跨多台服务器执行SQL脚本
有时候,当我们并没有合适的第三方工具(大部分需要付费)去管理多台数据库服务器,那么如何做最省力.省心呢?!Powershell一个强大的工具,可以很方便帮到我们处理日常的数据库维护工作 .简单的几步搞 ...
- 前端性能优化的另一种方式——HTTP2.0
最近在读一本书叫<web性能权威指南>谷歌公司高性能团队核心成员的权威之作. 一直听说HTTP2.0,对此也仅仅是耳闻,没有具体研读过,这次正好有两个篇章,分别讲HTTP1.1和HTTP2 ...
- 趣说游戏AI开发:曼哈顿街角的A*算法
0x00 前言 请叫我标题党!请叫我标题党!请叫我标题党!因为下面的文字既不发生在美国曼哈顿,也不是一个讲述美国梦的故事.相反,这可能只是一篇没有那么枯燥的关于算法的文章.A星算法,这个在游戏寻路开发 ...
- stringstream的基本用法
原帖地址:https://zhidao.baidu.com/question/580048330.htmlstringstream是字符串流.它将流与存储在内存中的string对象绑定起来.在多种数据 ...
- photoshop:无法完成请求 因为暂存盘已满
今天photoshop打开一个问题,提醒:无法完成请求因为暂存盘已满 不用担心这个问题很好解决可能是你做的图比较大并不需要清理C盘空间 选择:编辑→首选项→暂存盘 设置第一暂存盘为D盘或E盘 总之 第 ...
- Centos 7.0 安装Mono 3.4 和 Jexus 5.6
2013-07-26 写过一篇<CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4>,CentOS 7在CentOS 6的基础上有很大的调整,本文是这篇文章的更新,主要介 ...