微软换了新 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 移动跨平台开发初体验的更多相关文章

  1. visual studio 2015 搭建python开发环境,python入门到精通[三]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...

  2. visual studio for mac的安装初体验

    微软2016 Connect 大会发布了visuo studio for mac的pre版本,由于工作原因,现在工作环境是mac,虽然开发现在是在用python,但一直关注着.net的发展,于是自己很 ...

  3. Visual Studio Code 学习.net core初体验

    一,安装 最近在用 Visual Studio Code 学习.net core ,记录下学习的过程,首先去官网下载最新的.net core2.1安装包,有windows 和mac,根据自己的开发环境 ...

  4. 体验Visual Studio 2015 Windows Forms应用程序开发与维护

    昨天到半夜还没有等到Visual Studio 2015的下载地址,实在熬不住就先休息了.北美地区的时区比北京时间要晚一些,今天早上到公司就看到Visual Studio 2015的下载地址,迅速的将 ...

  5. Visual Studio 2015官方汇总包括下载和视频

     7月20日 23:30 Visual Studio 2015正式版正式发布,作为微软新一代开发利器,在全地球乃至全宇宙乃至全太阳系中最强大 且没有之一的IDE(上述描述来自微博用户评论)跨平台支持成 ...

  6. Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一)

    基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于Visual Studio 安装 Xamarin 扩展的跨Android.iOS 和 Windows的 ...

  7. Visual Studio 2015 预览版 - 支持跨平台开发Android/iOS应用程序(内置安卓模拟器)

    微软最近的惊人举动真多,对普通消费者Office 移动版宣布免费,对开发者也发布了完全免费的 VS2013 社区版! 不仅如此,就连 .Net 开发框架环境也竟然「开源」并且跨平台支持 Mac 及 L ...

  8. Visual Studio 2015 初体验

    据微软介绍每次发布的新版本,都承载着为开发者提供最高效的Visual Studio开发体验的使命.Visual Studio 2015亦延续了这一趋势,为开发者带来了进一步的生产力创新,包括调试和诊断 ...

  9. Visual Studio 2015 和 Apache Cordova 跨平台开发入门

    原文:Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一) 基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于V ...

随机推荐

  1. 避免重复造轮子的UI自动化测试框架开发

    一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...

  2. IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法

    直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...

  3. 基于spring注解AOP的异常处理

    一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...

  4. web全栈开发之网站开发二(弹出式登录注册框前端实现-类腾讯)

    这次给大家分享的是目前很多网站中流行的弹出式登录框,如下面的腾讯网登录界面,采用弹出式登录的好处是大大提升了网站的用户体验和交互性,用户不用重新跳转到指定的页面就能登录,非常方便 先来个演示地址 要实 ...

  5. Laravel Composer and ServiceProvider

    Composer and: 创建自定义类库时,按命名空间把文件夹结构组织好 composer.json>autoload>classmap>psr-4 composer dump-a ...

  6. MVC5 网站开发之九 网站设置

    网站配置一般用来保存网站的一些设置,写在配置文件中比写在数据库中要合适一下,因为配置文件本身带有缓存,随网站启动读入缓存中,速度更快,而保存在数据库中要单独为一条记录创建一个表,结构不够清晰,而且读写 ...

  7. 理解nodejs模块的scope

    描述 原文档地址:https://docs.npmjs.com/misc/scope 所有npm模块都有name,有的模块的name还有scope.scope的命名规则和name差不多,同样不能有ur ...

  8. PHP-----文件系统的交互

    本文讲解php中于文件交互中所使用的函数 代码示例 <html> <head> <title> File Detail </title> </he ...

  9. ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存

    ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存 part 1:给我点时间,允许我感慨一下2016年 正好有时间,总结一下最近使用的一些技术,也算是为2016年画上一个完 ...

  10. [干货来袭]C#6.0新特性

    微软昨天发布了新的VS 2015 ..随之而来的还有很多很多东西... .NET新版本 ASP.NET新版本...等等..太多..实在没消化.. 分享一下也是昨天发布的新的C#6.0的部分新特性吧.. ...