用编辑器占领世界!——对话微软杰出工程师Erich Gamma

从面向对象软件开发的指路明灯,到Visual Studio Code的技术负责人,微软杰出工程师Erich Gamma口中的微软开源又是怎么一回事?

ZD至顶网软件频道消息(赵东/文):在程序员圈,Erich Gamma可以说大牛级人物。20年前,Erich Gamma与 Richard Helm、Ralph Johnson 和 John Vlissides 合著了《设计模式:可复用面向对象软件的基础》一书,正是这本书被开发社区视为面向对象软件开发的指路明灯。

2011年,Erich Gamma 以杰出工程师(Distinguished Engineer)的身份加入微软 Visual Studio 团队。说到Distinguished Engineer,这个头衔的获得者基本上都是微软内部金字塔尖的技术大拿了,在整个微软也就十几位,.NET之父Anders Hejlsberg也是其中之一。

用编辑器占领世界!——对话微软杰出工程师Erich Gamma

微软杰出工程师Erich Gamma

事实上,在2011年Gamma加入微软前,也有很多企业向他伸出了橄榄枝,而Gamma接受微软的原因是一项挑战——在浏览器里构建集成开发环境(IDE in Browser),而这项挑战也在几年后为万千开发者提供了不一般的开发体验。

加入微软后,Gamma领导微软设立在瑞士苏黎世的一个开发实验室。微软的多个产品如 Visual Studio Online、Visual Studio Code、Azure Mobile Services、Azure Web Sites和 Office 365开发工具里都应用了由这个实验室开发出来的基于浏览器的开发套组件“Monaco”。

Visual Studio Code正是来自online editor Monaco,由typescript写就。作为一款免费的、轻量级的Web集成开发环境on Linux、Mac and Windows,圈里甚至戏称微软想用编辑器占领软件世界,重夺霸主地位。

Visual Studio Code要做一款具有包容性的编辑器

最新数据显示,Visual Studio的市场占有率已经达到35.6%,成为全球开发者最喜爱的开发工具,拥有最大规模的开发者社区。但是,在使用之前,开发者需要下载和安装好几个GB的Visual Studio安装包,并且即便只是写个“Hello World”应用,也需要大费周章地设置开发者环境。

“Visual Studio是全特性的IDE,更适合做解决方案开发的资深程序员的需要,但对更多地在Mac、Linux上做开发的年轻开发者来说,Visual Studio就显得太重了。”Gamma表示,“但Visual Studio Code就适合去做像File Base这类项目的开发。这种使用行为就像是打开笔记本去编辑一个文档,而Visual Studio Code就是让开发者拿来编辑代码的文档。”

“我们想要Visual Studio Code成为一个包容性的项目,无论开发人员想用哪种源代码编程,它都支持。”按照Gamma给出的定位,Visual Studio Code是以代码为中心的编辑器,并且更侧重于比较轻量级的开发。此外,Visual Studio Code还是一个跨平台跨语言的富编辑器,内置很多日常功能,支持海量开发语言、并排编辑、控制面板、智能函数参数、集成版本控制、信息预览、调试等。

而被Gamma一再提及的是,Visual Studio Code可以借助Intelligence Sense功能智能地帮助开发者分析代码是不是拼错了,以及协助开发者提升编程的效率。Gamma表示,如果是1000行代码的开发级别,这种优势可能并不是特别明显,但是如果是5000行、50000行代码的开发级别,这项功能将决定Visual Studio Code能够生产质量更好的代码,以及实现更低的维护成本。

从Visual Studio Code一窥微软的雄心

Gamma对于Visual Studio Code信心十足,这款编辑器对开源的友好度绝对可以虏获众多开发者的欢心。开发这款免费编辑器,微软想要做什么?

不可否认,此时的世界早已经不是微软称霸的世界了,大多数的服务器上跑的是Linux系统,越来越多的开源软件挤占了微软的市场份额,并且正在以变革者的身份进行着更多的创新。在企业用户眼中,开源软件已经从“不考虑”变成了“为什么不考虑”。

2014年微软新CEO上台,发表了“微软爱Linux”的宣言;同年底,微软公布了.NET开发框架开源计划,将这长期以来只能运行于Windows系统下的开发环境,通过GitHub开源,实现跨平台支持Mac OS X和Linux;随后,微软在Build 2016开发者大会上公布了一大批创新技术、开发工具和云服务,并收购Xamarin与Visual Studio进行整合微软紧锣密布地推出一系列大手笔技术变革,最终构建了从框架到工具完整的开源开发体系,实现真正的跨平台开发,逐步夯实微软开源的进程和基础。

与此同时,微软关闭了MSN中文网站并借此将中国市场的发展重点从提供网络内容服务,转向为Windows 10设备提供软件和服务;对手机设备业务部门进行裁员……

这些信号意味着微软正在重新规划自身的业务架构,抛弃一切落后的,拥抱新鲜的熠熠生辉的技术和创新,在移动和云两个维度上发力,而开发者正是其中重要的一环,也是现阶段微软不断发力所极力争取的。

Gamma表示:“开源对微软并不是新鲜事物,只是方法和心态上发生了变化。”但是,Gamma也承认,对于微软这样的一个庞然大物来说,要从闭源走向开源,其实背后必须花费相当大的投入。

据介绍,在微软内部的开发中对开源技术的应用横跨多个不同的产品线,仅Visual Studio Code一个项目就至少用了1500个开源的元件。“我们内部对所有开源元件的使用情况都做了详细的记录,实现正向和反向的追踪,来帮助开发者和产品团队,让他们避免陷入到一些License问题里,或者在开源元件出问题时,可以很清楚地对相关产品进行迅速准确的修正。”

另外,Gamma也表示:“透过开源这样一个合作机制,我们把源代码放在Github上,跟另一个公司在产品研发上进行更为密切的合作。我们的工程团队也帮助某些公司去做黑客松,帮助他们运用微软的开源技术进行改进和创新。”去年,微软在Docker技术领域的贡献者中排名第一。

但是,问题是开源的积累并不是一蹴而就的,不管是开源技术和社区都需要足够时间进行积累、沉淀。而相对于优势明显的Visual Studio,.NET开源却并不那么顺利。业内甚至有一种说法,建议新入行的开发人员不要过早接触微软,否则会错失很多接触新技术的机会。现阶段,对于新的酷炫的技术,微软的开源社区总是显得慢半拍,并且在商用方面也还在不断摸索、填坑,而此时用完善的、优势明显的开发工具攻占开发者市场,也不失为一个好法子。

中国开发者对微软的意义

赢得开发者的欢心是微软开源以及推出一系列炫酷的开发工具的重要任务,而中国的开发者市场是在微软的心中也有着不一般的分量。

Gamma说,如果没有中国的开发者,Visual Studio Code的下载数会直接“掉下去”。“以往,我们都会定期查看Visual Studio Code在全球下载人数的变化趋势。今年二月,Visual Studio Code的成长趋势莫名其妙一下下降了很多,我当时非常着急,也很纳闷,不知道是什么原因导致的这种变化。”

不过,Gamma的上司微软全球资深副总裁潘正磊女士对此却不以为意,她给出的理由是,那个时间段正是中国的农历新年,而程序员也需要回家吃年夜饭了。这件小插曲甚至间接促成了今年六月初Gamma的首次中国行,说到这点,Gamma不由得还是抱怨了一下微软繁琐的行政手续,“来中国一次,实在是太难了!”

更重要的是,微软和越来越多的中国开发者保持着良好的合作关系。白鹭时代(Egret Technology)正是其中之一,这家公司在在Visual Studio Code上开发从Flash转换成HTM5的游戏开发工具和引擎,在全球已经获得4万多名开发者的认可,所开发的程序在超过5亿台移动终端上运行,而市面上每10款HTML5手机游戏中有7款就是基于它的开发工具。

除此之外,中国开发者对于.NET社区的贡献也越来越重要。越来越多的企业和开发人员使用微软.NET开源平台进行开发,网易游戏最新推出的移动游戏《绝代双骄OL》在开发过程中即得到了.NET Core的支持。这款游戏采用了同样是.NET基金会成员的Unity引擎开发前端(客户端),而通过.NET Core框架开发后端(服务器端)并顺畅运行在网易的Linux服务器上。

中国市场在微软的商业天平上的份量越来越重。6月1日,2016微软开发者峰会,Gamma首次以微软杰出工程师的身份来华。在峰会上,Gamma展示了Visual Studio Core的各项功能,甚至为了更好满足中国开发者的编程需求,Visual Studio Core支持中英文双语编程,编辑器会自动对一部分英语翻译成中文,用Gamma的话形容就是“非常酷”。

所以,不如期待一下,微软未来在开发者市场的努力带来的成效吧。

 
 

来源:ZD至顶网软件频道

0赞

好文章,需要你的鼓励

2016

06/13

14:01

分享

点赞

邮件订阅
白皮书