Visual Studio 2015 速递(4)——高级特性之移动开发
系列文章
Visual Studio 2015速递(1)——C#6.0新特性怎么用
Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力)
Visual Studio 2015速递(3)——ASP.NET 新特性
说是VS2015的高级特性,其实也高级不到哪里,看起来确实“高大上”,正如BUILD2015上演示的那样,你真的可以只用VS2015就可以“通吃”各种移动设备应用了,当然,是有条件的“通吃”,微软给了一系列的解决方案,来辅助完成这一目标。
首先我们来说说近几年很火的混合应用(Hybrid Apps),其中杰出之作是Apache Cordova,虽然任然有不少人确信移动应用还是本地(Native)的好,但是不可否认的是,随着摩尔定律的推进,电子设备的升级越来越快,而本地应用和混合应用的性能差异也越来越小,此时,混合应用的高效就体现出来了,甚至不需要太大的改动,你就可以很容易的把之前网站上写好的单页面应用(SPA)直接搬过来,发布和升级。VS2015针对此类混合应用提供了Visual Studio Tools for Apache Cordova,以前曾经叫做VS多设备混合应用(Multi-Device Hybrid Apps for Visual Studio),微软增强了以前CTP时的各种features,同时增加几项新功能,改名(微软一贯改名政策 :) )之后包含在VS2015里了。
之前的CTP的功能就不在赘述,这里说说新鲜的吧。
- 通过模拟器或者Mac实机远程部署和调试iOS应用,个人感觉有点鸡肋,还得要苹果设备,但是不可否认的是VS向前迈进了一大步,从此算是一脚踏入了正在的跨平台。
- 改进的插件管理,可以更方便的从git或者文件系统安装自定义插件了。
- 改进的config.xml设计器,增加了根据平台来设定各自不动的配置了,这一点非常有用,举个例子来说吧,要开发一个签到应用吧,在iOS上,硬件是没有太大差异的,可选的只有摄像头(扫码),但是android世界可就丰富多彩了(也可以说是千奇百怪),你可以用摄像头(扫码),还可以NFC等等丰富外设,因此引入许多不同设置,在Cordova通过config.xml来管理,看着巨长的xml文件,不由得心里发憷。

- 支持调试更多的设备,Android支持4.4/4.3、或者通过jsHybugger支持早期设备;iOS则支持6/7/8;Windows Store支持8.1(悲催的wp7是不支持的,lumia早期设备偷偷哭吧)

接下来端出来的是另一个Android社区非常头疼的问题,众所周知,ADT和Android Studio的模拟器是基于QMENU的,在Windows上开发那就一个酸爽啊,一个小应用,几杯咖啡的时间还在部署中呢,后来Android出了Intel版的模拟器,从官方文档看性能大步提升,但是,你需要先安装HAXM,兴冲冲的上网下载,然后蹦出来一个错误提示:硬件不支持,怎么回事?原来需要CPU虚拟化支持,另外,这里是关键,不能有Hyper-V,但是VS开发移动设备默认就给你装上了,瞬间觉得这个世界满满都是邪恶啊!
因此,VS2015自己出了这么一个Android模拟器,你没有猜错,微软如是说了,有了它,你再也不会在切换模拟器的时候出现Hyper-V冲突了!然后告诉你支持了很多传感器模拟,支持旋转屏幕,支持触摸,支持网络模拟等等,关键的是,支持从Jellybean(API 17)起到Lollipop 5.1(API 22)的所有镜像,特色的是支持拖拽安装apk,还有,在Windows上,你可以单独安装这个包并使用这些模拟器,以替代ADT等自带的QMENU(记得国内有个团队做了基于virtualbox的android模拟器,好像叫genymotion,个人觉得不错,如果不嫌麻烦,可以对比一下试试)。
第三个出场的是Visual Studio Tools for Universal Windows App Development,微软自从2014年提出Universal Apps概念之后,一直在推这个微软的新界面编程的概念,实际上这不是一个新东西,基本上可以说是WPF的精简提炼,Silverlight的扩展补充,后台利用Portable Class Library作为桥梁,加上微软默默在底层做的一系列的封装。VS2015的这个新工具是为了实现微软更好的生态系统而努力的必然产物,本来微软的产品线就很复杂,排除掉目前最赚钱的云和办公软件系列,就只有操作系统和开发工具了,但这一块不是“王婆卖瓜”式的自夸就能成功的,还需要忠实的合作伙伴和虔诚的追随者,这些都需要一个能让合作伙伴和追随者能赚钱的良好生态环境。
然后是微软绑定的各种第三方开发工具,比如最近两年热火的Xamarin,微软也是不遗余力的推广开来,其口号则是冲着Hybrid App来的——使用C#开发跨平台的本地应用!

最为控件领域领先的葡萄城控件为此提供了Xamarin开发的工具包,叫做Xuni,其中包括了著名的FlexChart和FlexGrid等一些列明星产品,感兴趣的可以点击链接:http://www.gcpowertools.com.cn/products/xuni.htm 获得更多详细信息。

Visual Studio 2015 速递(4)——高级特性之移动开发的更多相关文章
- Visual Studio 2015速递(4)——高级特性之移动开发
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- Visual Studio 2015速递(3)——ASP.NET 新特性
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- Visual Studio 2015速递(1)——C#6.0新特性怎么用
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力)
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- 用Visual Studio 2015 编写 MASM 汇编程序(二)从头开发一个Win32汇编程序
一,建立一个VC的控制台类型的空工程: 1,从VS菜单中选择“文件”->“新建”->“项目”. 2,在新建项目中选择:“Visual c++”->"Win32"- ...
- 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正式企业(Enterprise)版
“7月20日 23:30 Visual Studio 2015正式版正式发布,作为微软新一代开发利器,在全地球乃至全宇宙乃至全太阳系中最强大 且没有之一的IDE(上述描述来自微博用户评论)跨平台支持成 ...
- 让JavaScript在Visual Studio 2015中编辑得更easy
微软公布的Visual Studio 2015展示了该公司对于让该开发工具更好的支持主流的开发语言的工作.微软项目经理Jordan Matthiesen已经具体列出了一些具体处理JavaScript开 ...
随机推荐
- 解决MVC中JSON字符长度超出限制的异常
解决MVC中JSON字符长度超出限制的异常 解决方法如下: <configuration> <system.web.extensions> <scripting> ...
- Windows XP发行12周年,我正步入中年,你已垂暮
2001年10月25日,Windows XP正式全球上市!作为Windows 2000的升级版本,XP拥有大量新的功能:新的用户界面.防火墙整合等,这些都大大的增强了系统的易用性和安全性.而微软将于2 ...
- SharePoint 2013开发入门探索(二)- 列表操作
我们如何用代码对SharePoint列表做些例如增删改查的操作呢?如果您的程序可以部署到服务器上,就可以使用 服务器对象模型,因为服务器对象模型提供的功能最多,限制最少:否则可能要选择客户对象模型等其 ...
- Zip压缩和解压缩
这个功能完全依靠一个第三方的类,ICSharpCode.SharpZipLib.dll,只是在网上搜了大半天,都没有关于这个类的详细解释,搜索的demo也是各种错误,感觉作者完全没有跑过,就那么贸贸然 ...
- socket网络间通信初识
NSOperation: 1. 指定同一时间最大执行的操作数 queue.max…… 2. 设定队列中的任务时间的依赖关系 task1 依赖于 task2: task2 —> task1 3. ...
- css3简单的图片轮播
<style> @-webkit-keyframes move{ %{left:0px;} %{left:-500px;} } #wrap{ width:500px; height:100 ...
- js queue dequeue clearQueue stop
一.queue( [queueName ], newQueue ) 操作欲执行队列方法 第一个参数是队列名称,不写的话默认是fx 第二个参数可以是一个函数数组,存放所有队列函数,也可以是一个回掉函 ...
- SQL一致性错误修复SQL
USE master; ); SET @databasename = 'BenlaiTask'; ALTER DATABASE BenlaiTask SET SINGLE_USER WITH ROLL ...
- Python 学习---------Day3
第七章 字符串单双引号字符串是一样的用转义序列代表特殊字节字符串抑制转义myfile=open(r'C:\new\text.dat','w')三重引号编写多行字符串块字符串更大的编码集std(u'sp ...
- 天气预报API(三):免费接口测试(“旧编码”)
说明 我以参考文章为引子,自己测试并扩展,努力寻找更多的气象API... 本文所有测试均以青岛为例. 本文所列接口城市代码(cityid)参数都使用的 "旧编码": 全国城市代码列 ...