追时间

Yak shaving during web development, thoughts...from Jijie Chen

Build 2016:给开发者最好的 Windows 平台

在最近的 开发者大会(Build 2016上,微软面向开发者分享了一系列更新。对于一名开发者来说,整个三天的内容,可以说是惊喜连连,令人激动不已。可贵的是,微软的开发者大会现在一再强调的是任何平台免费这些满怀社区精神的特性。在了解完开发者大会的内容之后,我最直接的反应就是,Windows 平台将会成为比以往任何时候都更好的开发者的平台,同时 Windows Office 等平台还有大量新兴的、珍贵的机会出现。 

如果 遍视频 时间太久的话,那本文可以帮你了解其中特别值得关注的方面,请尽情分享这份开发者的盛宴吧。


Windows 里内置的 Ubuntu

Windows 10 年度更新中将会推送一个重要功能,即 Windows subsystem for Linux,它使得我们能够直接在 Windows 10 上运行用户态 Linux 程序。互联网企业多用 Linux 系列作为服务器操作系统,但我们开发人员日常的开发和工作环境却常常是 Windows。我们不得不一次次从操作系统兼容性的深坑里收拾好心情继续上路。实际上,Windows 将内置的是一个 Ubuntu 系统的核心部分,有了它内置在 Windows 中,开发工作一下子跨过山和大海了,不用切换环境就直接在 Windows 里完成开发工作。 


Windows subsystem for Linux 的原理是通过在操作系统直接实现 Linux 系统调用来工作的,并不是虚拟机,所以启动飞快,性能也有保障。这样一来,Windows 就变成了一个结合体:既拥有 Windows 原本的使用体验,又拥有了工程师所需的 Linux 环境和工具。这基本上意味着在 Windows 上直接完成整个开发工作——不再像以前一样在 Windows 上开发,再跑到 Linux 上跑测试;或者忍受 Linux 糟糕的 GUI 和网页字体的开发体验了。 

一边开着 Vim Python,一边还能不时瞟一眼 b 站的神吐槽,是不是有点小激动? 


Xamarin 与移动开发 DevOps 

Build 大会第二天,红衣教主Scott 宣布Xamarin 将集成进 Visual Studio ,并提供免费版。Xamarin 是先进的跨平台移动应用开发工具,能够使用统一的编程模型开发 iOS、Android 和 Windows UWP 应用程序。此前它一直是收费的,还挺贵的——二月刚被微软收购,在本次 Build 大会上,即宣布会集成进 Visual Studio,包括免费的社区版本。 

Visual Studio 2015 中已经支持了基于 Apache Cordova 开发 Hybrid 移动应用。但这两年,经过了著名的 Facebook HTML5 应用程序向原生应用的改写这样的不成功案例之后,社区越来越对 Hybrid 应用程序的兼容性、性能和安全性等方面存在一些疑虑,所以Hybrid 应用方案往往只在一些局部会适当加以运用。 

Xamarin "则是完全不同的工具,它是已被大量案例证明是可行的原生移动应用开发方式。运用 Xamarin 能够开发直接调用设备 API 的原生应用程序,它还提供了完整的界面设计器(包括故事板),并且这次还将带来运行在 Windows 上的 iOS 模拟器,这样就能做到完全就不用 Mac 就能开发 iOS 应用了。目前 Xamarin 在国内还没有受到大量的关注和运用,但随着其集成进免费的 Visual Studio 社区版,Xamarin 一定会成为移动开发的重要工具。 


另外,Xamarin 线上还提供了云测试服务,其中包含上千种机型的测试环境可用于运行自动化测试。而且这套线上服务将会与免费的 Visual Studio Online 服务集成,那样整个移动开发的 DevOps 也就齐活儿了。 

 

应用程序新方向:.NET Core UWP 应用程序平台

 .NET Core 要火,相信我。因为 .NET Core 是个新兴事物,它是微软新开发出来的新项目,它从一开始就是开源、跨平台的,它完全是基于社区协同开发的,代码就托管在 GitHub 上。具体来说,它是一个轻量级、模块化、向面云的新平台;与以往完整的 .NET 运行时不能直接兼容;直接使用最新版本的 C# 语言和工具链;汲取了完整的 .NET 运行上一些有名框架的重要特性,剔除了那些过时的、过度抽象的、与特定操作系统和软件绑定的特性。可以说,.NET Core是一个“脱胎换骨,重新做人”的新事物。 


社区中支持 .NET Core 的各种第三方工具也在快速地增长,已经有支持它的 Docker 镜像和 Yeoman生成器等工具,我们可以直接使用 Sublime Text 这样的编辑器来开发 .NET Core 应用程序,而且JetBrains 已经在为它开发平台IDE了。 

.NET Core 应用程序的结构与 Node.js 等典型的轻量级应用很类似,都是运行时+应用程序+第三方程序包 的形式,它的运行时只有 10 M 大小。本次 Build 2016 大会期间,微软在展示各种 Web 应用的 Demo 时都已经默认采用 .NET Core 了。 

Windows 平台上,微软展示了他们持续打造通用应用平台UWP)的动作,比如将提供从 Win32 应用程序向 UWP 应用的转换工具。开发 Windows 应用一直以来都有五花八门的技术,但现在 Windows 平台的终端除了 PC,其他类型的设备也多了起来。于是微软开始推介这样一个新的概念,希望开发者能够一次开发,到处运行,兼容性的部分交给 Windows 来解决。同样,微软现在公开展示的应用程序也尽量地改为了 UWP 应用程序,连上面提到的 Ubuntu 子系统中的 Bash 终端都以 UWP 应用程序的形式提供。 

.NET Core 这个没有历史包袱的新平台,加上 C# 这样优秀的编程语言,想不火都难;而 UWP 作为微软主推的应用程序模型,对于面向 Windows 用户的应用程序来说,是一个明确的方向。 


Office Edge 浏览器插件开发中的新机会

我已经很长一段时间没有关注 Office 开发了,但这次 Build 2016 中分享的关于跨平台的 Office 插件开发的消息还是令我耳目一新。总体来说,我认为 Office 插件是一个潜力无限,市场广阔的方向。 

以往我们可以使用 VBA Interop 等技术来开展 Office 相关的开发,但那些开发工作对开发人员的门槛较高,编程语言运行时方面的限制更让这些定制化应用很难跨平台。于是过去我们往往只在一些企业内部的需求中会考虑一些定制的 Office 开发。新的 Office 插件平台 现在允许开发人员使用熟悉的 Web 开发技术来实现、并提供了跨平台的开发、调试与发布能力——就像开发一个浏览器插件一样简单!另外,新的 Office 插件所跨的平台不光包括各种操作系统,还包括在线的 Office 365 iPad 等非桌面环境。 


Office 在全球有亿安装,其深度用户大多都是各类企业用户,对信息打磨、数据处理的需求十分丰富,而 Office 这套新的插件平台直接将所有 Office 用户与开发者分享。对开发者而言,这其中的机会将是不可斗量的。 

上面提到浏览器插件,其实以往开发 IE 的插件并不是一件简单的事,倒是 Chrome 浏览器的插件开发令人轻松了不少。是的,Office 的插件开发就像开发一个 Chrome 插件那样简单;还不止如此,Edge 浏览器最近也添加了对插件的支持,而 Edge 插件的开发机制不光与 Chrome 插件的开发一样简单,甚至大量 API 都能与 Chrome 浏览器 API兼容。Edge 作为 Windows 10 操作系统中的默认浏览器,其用户量也会稳步上升,因此它必然也是一个不可小觑的平台。 


除了上面的各个方面,微软还分享了一些其他工具和服务,例如用于构建智能对话机器人的 Bot 框架和智能识别的 Cognitive 服务等。这些工具切实地解决了很多难题, 提高了开发人员的效率。另外,我们看到微软在运用新的思路来打造已有平台、持续改善其产品的同时,也在努力降低开发应用程序的难度,同时给开发者创造了更多机会。 

微软在其 Visual Studio 网站上展示的服务思路是为任何开发者的任何应用程序打造的工具,从本次开发者大会分享的内容来看,着实诚意满满,各位开发者不应该错过 



注:本文首发雷锋网,如需转载或评论,请参阅原页面。

blog comments powered by Disqus