微软的跨平台战略
微软在过去的一年多中时间中发生了令整个IT行业感到惊叹的变化。这一切始于Ballmer的退位和Nadella的决心,更始于早已在微软各个基层部门蠢蠢欲动的二次创业。
以开发工具团队来说,他们很早就开源了ASP.NETMVC开发框架,并从那以后连续开源了后续全部新的开发框架,例如WebAPI和SignalR,例如OWIN组件Katana,并且和开源社区如Mono保持着良好的互动。
而其他团队,例如Hyper-V,则同样与Linux内核社区有积极互动。
图一:微软CEONadella先生表示MicrosoftLovesLinux
因此当Nadella先生在年10月表态MicrosoftLovesLinux时,长期的微软观察家应该并不会表现出太多惊讶,因为这真的只是个水到渠成的过程。
以ASP.NET为例,业界的公司早已或多或少的使用了Linux或者基于Linux平台的解决方案。因此如果微软提供ASP.NET跨平台开发和部署支持,那么此前完全采用Linux的公司可以直接在现有平台上部署网站,从而节约购买Windows授权的费用。混合使用Linux和Windows的公司则有机会重新调整平台间的相对规模,达成成本控制目标。
除去公司内部计算平台,在多种主流公有云平台上,采用Linux虚拟机为主的解决方案也非常普遍,成本低廉,同时适合各种级别的公司和个人来部署网站应用。
因此只要微软ASP.NET技术能够支持跨平台开发部署,那么就能立即进入一个全新的市场领域。
.NETCore5和ASP.NET5
为了达成跨平台目标,微软开发工具部门在发布了.NET4.5和ASP.NET4.5之后花了相当长的时间来构架下一代网站开发技术。在这个超过两年的漫长过程中,以下几个目标逐渐清晰,
采用新思路来重新设计框架基础。这方面向node.js学习不少。
采用全新技术,主要是Roslyn。
脱离.NETFramework的束缚实现跨平台。
结果就是我们现在已经看到的ASP.NET5。
图二:ASP.NET5
为了使得ASP.NET5运行在新平台上,.NET团队也借此机会开发了全新的运行环境,也就是.NETCore5。
.NETCore5完全开源,整个开发过程和全部代码都可以在GitHub上面找到。它的API参考资料可以在下面找到,