“这是我们第一次不能自主设定产品发布周期。”潘正磊回忆说,“发布日期是按照 Windows 8 的时间表定的。公司认识到移动设备和消费者触摸式设备的重要性,并为此打造了 Windows 8,对我们团队来说,这也是 Visual Studio 一个重大发布。”
Windows 8 的发布对业界所有人来说都是颠覆性的,但潘正磊很享受这一挑战。(Windows 8 和 Visual Studio 2012 发布后,她升任公司副总裁。)
“让 Visual Studio 和 Windows 8 同时发布是件非常复杂的事。我们必须支持 Windows 应用程序运行时、运行 Windows 应用商店等等,并按时发布新的 SDK。同时完成这一切是个非常有意思的经历。”
更快,更开放
这次与 Windows 8 共同发布的经历也影响 Visual Studio 新版本开发的决策。
首先是应对更快产品发布周期的需求。 “在此之前,我们大多每三年发布一个版本。”潘正磊说,“但 2012 年,我们希望加快节奏,几乎达到每个季度就有一次更新的频率。”
这些更新不仅仅是修复 bug,还必须加入重要的新功能。
“我们在团队内部真正开始了 DevOps(开发运维)的思维方式。” 潘正磊总结说。
第二个重大变化是 Visual Studio 最先成为切实拥抱开源的微软产品之一,这一变化现在微软随处可见。
“我们决定开源下一代编译器,当时的代号是 Roslyn。”她说,“2014 年的 Build 大会上我们宣布了这一消息,同年晚些时候,我们宣布了一个更大的开源项目—— .NET。这是两个至关重要的转折点。”
开源模式让 Visual Studio 团队真正了解他们的客户正在做什么,并让客户深度参与产品的开发,无论是 Xamarin 的移动开发更新,Azure 里基于云的解决方案,还是跨平台的 .NET Core 技术。
移动新战略
过去一年中,潘正磊经历了几次公司和产品层面的战略调整。而今的同事们都有着不同的背景和经验,并且公司对开源的积极态度也吸引着新一代的员工。
2005 年,还是大学生的 Mikayla Hutchinson 参加了谷歌编程之夏(Google Summer of Code),幸运地得到了 Miguel de Icaza(著名的自由软件主义者)对她所参与的开源项目的指导,并因此爱上了 C# 和 Miguel 领导的 Mono 项目。2007 年,参加完两届谷歌编程之夏后,她跟着 Miguel 加入了位于波士顿的 Ximian,后者隶属于 Novell。Mikayla 的工作是为 Linux 上的商业应用打造开发工具。
微软开发工程师 Mikayla Hutchinson
之后,她所属的团队遭 Novell(或说是其母公司 Attachmate)裁撤,于是 Miguel 和 Nat Friedman 创立了 Xamarin 继续 Mono 项目,并专注于移动端开发体验。他们雇回了 Ximian 的所有人员,包括 Mikayla。
Mono 是一个将 .NET 带到 Linux、UNIX 和类似 UNIX 系统的开源项目。尽管当时微软对这个项目没有正式表态,许多微软员工悄悄地为 Miguel 和新公司加油呐喊,并以各自力所能及的方式提供帮助。之后,Mono 毫无悬念地被带到了安卓和 iOS 两个主流移动平台。
刚开始,Mikayla 在 Xamarin 担任类似架构师的角色,奔忙于安卓和 iOS 的项目中。 “我帮助创建了一个激活系统,还参与过一个虚拟引擎项目,但最终没完成。”她回忆说。
大约两年前,她转做项目经理,参与过 Visual Studio 扩展、SDKs 和移动等多个项目。之后,Hutchinson 一直参与 Xamarin Studio for Mac 的开发,2016 年 Xamarin 被微软收购后,这个产品更名为 Visual Studio for Mac。
“去年,我们发布了 Xamarin Studio 的衍生版 Visual Studio for Mac,其中最大的改变是支持 ASP.NET Core Web 服务,现在开发者可以同时打造应用及其后端了。”她骄傲地说。
在微软拥抱开源前,将 .NET 技术移植到 Mono 工作量巨大。需要大量的工作。但随着 Roslyn 的出现和 .NET 更广泛的开源,Xamarin 已经取得了长足的进展。
“我们在被收购前就与一直与微软合作。” Mikayla 说,“从一开始,他们就一直支持我们的工作。”
Mikayla 和其他 Xamarin 成员仍然主要在他们波士顿的办公室工作(大约一半的团队成员是远程工作)。去年在产品中加入 ASP.NET Core Web 服务“本不在我们产品路线图上。”她说,“但现在我们拥有了一个更远大的愿景,成为一个更宏大故事的组成部分。”
这次收购也让 Xamarin 成员与之前一直交流的微软同事沟通起来更容易了。
“是啊,我现在可能会花更多的时间在电子邮件和会议上。”她承认,“但能和聪明的工程师和了不起的人共事本身就很有意义。我们正在做着以前无法办到的事情。”
Mikayla 回忆自己还在 Novell 的时候,微软因为还未公开支持开源,但这一切已是被遗忘的过去时了。
“开源已在微软内部扎下了根。” Mikayla 说,“大家的态度已经发生了很大的转变。比如,在 GitHub 上,人们可以看到很多 C# 开发的进展;我们在社区上公布语言设计会议纪要,开发者可以提交他们问题和想法,并与团队成员讨论。这是一个巨大的变化。”
对于 Xamarin 来说,加入微软同样带来了巨变:一旦在 Visual Studio 中加入新技术,用户基础就呈爆炸式增长,在 Windows 中增加 Xamarin Studio 功能就是一个很好的例子。
“去年一年真是不可思议。” Mikayla 说,“我们的用户数字爆棚。工作中最让我欣喜的一直是为开发者打造工具,并看到他们利用这些工具打造出色的产品。能接触、影响到这么多人真是太棒了。”
开放、透明
微软项目经理 Phillip Carter
与 Mikayla 的经历不同,年轻的项目经理 Phillip Carter 只了解一个完全开放、透明的微软。他的工作是撰写 F# 技术文档,并将其集成进 Visual Studio。
F#是 Phillip 在大学时最喜欢的编程语言,而他在大学里的开发经验都基于开源解决方案。2015 年 Phillip 加入了微软的 .NET 团队,当时的项目已经开源,所以微软之前对开源的态度他一无所知。
“对我来说,一切都是水到渠成。”他说。
当被问及是否有遇到老员工对采用开源方式解决问题不感冒的经历时,他回答说还没碰到过。
“我的每位同事都喜欢这种工作方式。”他补充道, “我们能直接与客户沟通,他们也能从我们的成功中受益。微软开发者和外部世界之间的障碍已经消除,产品因此也得到更大提升。”
真是这样吗?