纵观全球,能担当起最出色的软件巨头称号的,恐怕也只有微软(Microsoft)这家公司了,他不同于谷歌等知名互联网公司的是,后者的崛起是依托于互联网,而前者更多的是专注于软件。互联网和软件公司之间本没有孰优孰劣,但是年轻的谷歌,毕竟缺少一些积淀,相比之下微软在系统和软件方面耕耘多年,早已拥有强大的实力与生态。所以无论从哪个方面来说,微软都是一流的。微软在历史中或许并非完美无缺的,但现在的他,已经在慢慢改变,从拥抱开源,天价收购GitHub中就可以看出。一家伟大的企业,正在以一个全新的姿态来欢迎他的客户,还有开发者。
.NET CORE
不止一次有人问我,你为什么会选择C#这门编程语言?现在已经很少有人愿意用这门语言了。
我不否认,从历史的角度来看,在互联网转向移动互联网的过程中,C# .Net 真的是丢失了一大片的领地。这里面其中或许有一部分是不可抗拒的历史潮流因素,或许也有一部分是微软自己的闭源思想。但是如果用日薄西山来形容.Net的话,也是言过其实了。
首先,我想说明的一点是,C#并没有正在走向灭亡,它尽管在国内社区日渐没落,但并不反映这门语言已经式微。相反,在国外,随着.net core的开源和跨平台,它的社区越来越活跃,.net的跨平台工作也获得了前所未有的关注度。
很多人喜欢用Java的崛起来否定C#,这其实也是没必要的,每门语言都有自身的长处。存在的即是合理的,C#既然有它的生存空间,说明它就能填补其他某些语言无法填补的空白。作为一名C# .Net的坚定拥护者,我很高兴使用这门语言,我很喜爱这门语言,并愿意让更多人去认识和使用它。
在2000年,.Net才开始出现,比起Java,迟了整整5年,起初或许确实是为了模仿Java而出现的一门面向对象的编程语言。尽管最初对标的是Java,但经过几年的发展,C#也有它自己独有的特色。它吸取了别人的长处,同时也避免了一些短处,从而成为了一门更为优雅,也更为年轻,更为高效的语言。
.Net曾经也有过一段辉煌的历史,在21世纪初,随着Windows桌面软件和Web互联网应用的兴起,.Net和Asp.Net曾经一度成为众多开发者的首选,它高效,简单易学。甚至在那时候软件开发就已经变得十分容易,拖动控件,可视化编程,有很多即使是多年以后的今天也依然觉得很牛的前瞻功能。
.Net Core这个跨平台框架的开源工作是从2014年底开始启动,并在2016年6月27日开始发布第一版。它的发布给社区带来了很大的反响,就像是原本平静的湖面中投下了一颗石头。尽管很多人在质疑微软的举动已经为时太晚,是不得已的体现。
犹记得当初.Net Core 1.0刚发布时,我盯着一份纯英文的文档在孜孜不倦的啃读的情景。一晃三年时间过去了,我不再年轻,.Net Core也日趋成熟,微软已经用行动像那些质疑者证明,对于开源它是认真的,.Net Core确实在越变越好。随着2,3年的时间的发展,它的功能越来越强大,性能越来越好。相对应的,社区也越来越完善。
Github
微软这艘巨轮重新回到了万众期待的主航道。
18年开源界最为轰动的事情就是微软天价收购Github了,要知道GitHub是开源性质的社区,虽然在互联网界口碑很好,技术、甚至为世界软件行业飞速发展作出了超一流的贡献,但是它是非盈利性质的,一年营收也只有2亿美元左右。GitHub面临了一个矛盾,自身所创造的价值不能很好的在盈利方面体现出来,所以它需要寻找一个出路。GitHub的技术是无价的,它的平台已经足够庞大,影响力极强,尽管吸金能力弱,但他的一切都不是仅仅用金钱就能够衡量的。
然而这些,在微软眼里,有了一个价格--75亿美金!
在15年的时候,GitHub的估值只有25亿美金左右。所以当直到微软官方公开收购GitHub的计划的时候,外界的普遍都认为微软会开价在50亿美金左右。 后来这个结果出乎了所有人的意料。在收购GitHub这件事情上面,微软实在是太慷慨了。开价比业界普遍认为的价格还高了整整50%!
很多人开始质疑,这个昔日开源界的毒瘤,对待GitHub是否真心实意?毕竟微软曾运用自身优势在打压开源,甚至一度成为开源界的撒旦般存在。
时间会证明一切。
其实从一早开始,微软就是GitHub中最大的贡献者了。microsoft账户下面的开源仓库就有2600多个,鼎鼎大名的开源项目就有.Net Foundation,Visual Studio Code,Typescript,Windows Terminal,还有Windows calculator。很多人曾对微软的闭源做派嗤之以鼻,但它一旦开源起来,哪一个项目不是真香?哪一个项目不是同类中顶尖的存在?
其实好的收购就是一个志趣相投的合作伙伴,以高昂的价目承认了自身的价值。个人认为GitHub寻找到了一个最好的出路。微软正在不断战胜质疑者,它宣布了GitHub可以保持原有的团队独立运营,而且还免费开放了个人私有代码仓库。许多人曾认为GitHub已经做的足够好了,但我相信,它会在微软的带领下变得越来越好。
Azure
Azure是在亚马逊AWS之后的世界第二大云服务平台,并正在以惊人的速度在疯狂增长。我虽然接触Azure的时间并不长,但被它所深深吸引。
与以往不同的是,作为微软旗下的一款云服务,它不再大力倡导自身的Windows服务器或者是.Net平台,SQL Server。而是以一种更加开放的态度,接收了一切。不论你是哪个平台,哪种开发语言,喜爱哪种存储技术,你都能在Azure上面找到适合自身的云服务。
Azure DevOps(曾经的vsts),是一个基于云的持续集成与开发的平台,你的团队不论大小,不论身处何方,都可以在这个平台上面开发,测试。持续集成,持续交付。这对于现在的软件版本快速迭代的时代,拥有很大的意义。
我是一个云服务使用者,我目前使用的主力是国内的腾讯云,也关注过阿里云。
这里我要说一句公道话。
我所认知的腾讯云和阿里云,前两者更像是一个终端平台,举例来说,你开发完成,才能将你的产品发布到上面。至于你是如何开发,项目过程中具体的需求变化,测试出来的问题,都不能在上面体现出来。Azure则可以囊括了整个开发流程。国内的云还有一个弊病,云服务之间耦合度不够,有很多相同服务甚至分开计费,不像Azure可以统一管理你的流量通道,统一管理你的存储服务。Azure还有一个优势,他的服务支持更加的完善(腾讯云的无服务器云函数到目前为止都不支持.Net Core),项目文档更新更快速。
总之我认为,国内云服务的成长仍然还需要一定的时间。拥有完整生态闭环的Azure仍然是大部分企业用户的最优选择之一。当然,对于经费不太足的个人用户,则可以用我们的实际行动,支持国产。
最后。
海纳百川,有容乃大。微软不仅仅在代码上喜爱上了开源,在思想上也是如此。他已经在这片平静的湖面投下了一块名为Open的石头,尽管暂时激起的水花不大,但它所产生的涟漪正在慢慢扩散,最终,所有在湖中的人,都将感受到。