我对微软.NET开源的理解

我对微软.NET开源的理解

上周,微软宣布.NET开源,并把它扩展到Linux和Mac OS平台上面。

届时,微软已经宣布开源的数个开发技术,有ASP.NET Roslyn.NET编译器平台、.NET微框架、.NET Rx以及VB和C#程序语言。

那么,.NET开源的原因和目的何在呢?究竟是被其他开源社区攻占市场的无奈之举,还是突然看好开源,顺应潮流呢?

.NET开源让其只能在Windows系统上运行的不足消失了,它可以在更多更广的平台上发挥它的作用,无疑拓宽了微软的市场,让更多的Web服务器、服务导向架构以及云部署通过使用.NET构建框架,更加激烈地和Java框架竞争。

这样,开发人员开始拥有更多的选择,不会再因为系统平台的原因,仅仅学习某一特定的语言或框架。.NET和Linux、Mac OS的碰撞或许能给他们带来更多的灵感,无疑是一件值得高兴的事情。

但是,.NET的开源并不一定保证会让微软吸引大量的开发人员,因为.NET也只是众多语言中的一个而已,还有Java、PHP、Node.js、Ruby等其他语言。.NET的开源似乎让人觉得,越来越多的人远离.NET,如果依然固步自封,占据顶端位置的优势将不复存在,微软最后不得不做出这一选择,试图挽留开发人员。

无论如何,.NET开源都让人能够深入理解其底层的源代码,开发人员可以进行公开的修正与改写,这样有利于创新。

虽然服务器端的.NET技术得到了开源,但是客户端VS仍然太贵,对于小人物来说只能使用D版或者Express版的Community了。

微软慢慢增加开源的技术,看来以后不能讲微软和开源对立了,但是对于即将毕业的我,很多公司还是只招Java的有点小小郁闷。

PS:这里附带一篇文章《Microsoft Takes .NET Open Source And Cross-Platform》,原文链接 http://www.tuicool.com/articles/goto?id=3QnaUvB。下面是我的翻译~

到现在超过12年了,.NET框架一直是想为Windows开发Apps的开发人员使用的编程模型。但是在它让许多开发人员工具跨平台的努力中,微软今天宣布,从下一个版本开始,计划很快将.NET带到Mac和Linux,这样完全服务器端.NET变得开源(不是客户端.NET)。

微软公司开发部门副总裁S告诉我,大约600万开发人员在此框架基础上构建应用程序。“我们已经取得了广泛的成功”,他说。但是现在问题就来了,你如何带领.NET向前发展?今年早些时候,微软已经开源了.NET编译器,所以这次并不新鲜(尽管很多权威人士可能在同一句中看到“微软”和“开源”两个词时,仍然会再三考虑真实性)。

然而,查看微软近些年的历史,今天的宣布(开源.NET)并不完全算是重磅炸弹。例如,在今年的开发人员大会上,微软宣布.NET Foundation和组织也会接管这个项目。

不出所料,这个公司计划和支持Xamarin的Mono社区合作,其中Mono社区已经创建了基于C#的跨平台开源.NET框架。“我们将宣布这件事,并在接下来几个月里和Mono社区合作,”S告诉我,“我们在这方面和Xamarin朋友合作非常紧密”。

关于带领.NET跨平台和这个开源通告,S说,“我认为这对于.NET是一大步”。微软想要给.NET更广泛的平台,以及如何更好地这样做,如果不将它带到新平台的话。

微软云和企业组执行副总裁Scott在我几天前和他聊天时,也这样想。他还说,开发人员经常对微软说,虽然他们很爱.NET,但是因为它闭源而且只支持Windows,所以很多人都不用它。他告诉我,“星期三以后,所以不用.NET的原因都消失了~”。

S也说,他相信这将为微软伙伴提供许多新机遇。例如,今天Docker的业务发展与技术联盟领导Nick说,他认为“Docker开放平台的核心价值是应用程序可通过Docker 容器移植到任何基础架构。横跨所有主要操作系统平台的开源的.NET运行时意味着微软正逐步拓宽应用程序平台可移植性的概念。

微软计划使用.NET代码创建一个GitHub智囊团,以宣传造势。到底最终版本什么样子仍然有待观察,但是S希望,很快你就可以在微软Azure上Linux中的Docker容器运行一个.NET App。

为了保护开发人员,微软今天也宣布一项包含Mono项目和所有使用它的人的专利合同。

无论何时一个公司开源了某个项目,用户常常担心这意味着公司放弃它了。S和Scott都强调,这里情况是完全不同的。

Scott告诉我,“这完全不是终结,而是.NET充满希望地重生,以获得更多的开发人员”。

时间: 2024-10-12 20:53:11

我对微软.NET开源的理解的相关文章

微软成立开源子公司 红帽谨慎乐观

关于Linux的学习,请参考书籍<Linux就该这么学> 微软是在上周作出将成立一个开源技术子公司声明,据悉新的公司将由微软高管 Jean Paoli 担任公司总裁,公司会在发展中逐步推进和成立互通性战略团队.新成立的公司希望推动开源社区的建设和标准的制订,同时也借此桥接微软和非微软的技术.对此,红帽公司今天发布一篇谨慎而乐观的声明作出回应:首先,我们对微软在上周宣布成立微软开放技术全资子公司,以推动开源互通性.开放标准以及开源社区的举动表示欢迎. 1. 消费者和开发者将是开源最大赢家开源以及

微软与开源干货对比篇_PHP和 ASP.NET在 Session实现和管理机制上差异

微软与开源干货对比篇_PHP和 ASP.NET在 Session实现和管理机制上差异 前言:由于开发人员要靠工具吃饭,可能和开发工具.语言.环境呆的时间比和老婆孩子亲人在一起的时间还多,所以每个人或多或少对自己吃饭的工具在感性上带有宗教情结,在理性上又受屁股决定大脑利益左右,这种比较一般都容易遭人争议, 这些比较不带任何偏见和感情色彩,主要是自己工作中记录在有道云笔记的经验日记主要是给I自己学习备查用,写得多了就有参考价值分享出来给需要的人参考,如果有任何争议本人不作辩解.这只代表本人自己的理解

java不可能转化成exe的理由——微软如果开源

我只是作一个猜想,理由如下: 我们知道,我们所使用的高级语言,所写成的程序,需要经过一步步的编译,最终得到二进制码文件,放到操作系统上执行.然而不同的操作系统,会有不同的原语.jvm可以跨平台,是因为不同的操作系统上有不同的jvm,并且所需要的源代码,却是相同的. 我们都知道,运行在jvm上的是.java编译过来的.class文件.要想转化成.exe的可执行文件,按照我们的常理来推测,或许从.class文件开始往.exe转化.或许直接从.java开始转化不是更好吗?那么得有一个专门解释.java

微软向开源又迈进了一大步:Checked C

导读 微软开源了 Checked C ,这是一个 C 语言的扩展版本,可以用于解决 C 语言中的一系列安全相关的隐患.正如其名字所示,Checked C 为 C 语言增加了检查,这个检查可以帮助开发者检查常见的编程错误,比如缓存区侵占buffer overruns.内存访问越界.不正确的类型转换等.这些编程错误往往是造成许多重大安全漏洞的根本原因,比如破壳漏洞Shellshock.心脏出血漏洞Heartbleed.沙虫Sandworm等. Checked C 通过修改控制指针来解决这些问题,指针

喜大本\\ u0026普,微软的开源

词汇表--喜大本\\ u0026普:爱过.有趣的游戏,庆祝.奔走相告.简而言之<reload=1">微软宣布.NET开发环境开源>是个好消息. 前言及历史回想 就我个人来说.这十来年都对微软没什么好感,折腾.net的经验也已经是至少12年前的事情了.距离上一次吐槽.net也已经过去快十年(2005年)了,之后根本都懒得谈它,可是这一次不同,开源终归是一件好事--尽管基本也是与我无关. 但既然開始了这篇扯淡.总还是要扯下去的,谈点个人看法. simp主席说得是,微软来晚了,如今就

微软宣布开源.NET框架 支持Linux与Mac OS X

11月13日消息,微软周三宣布了.NET开发框架开源计划,让.NET应用未来可以在Linux上和Mac OS X上运行. 据报道,微软表示,在未来几个月内,还将开放.任你博NET核心Runtime和.NET核心框架的其余部分. 根据微软的计划,下一次发布.NET开发框架时,整个服务器开发环境,从ASP.NET 5下至Common Language Runtime和Base Class Libraries,都将实现开源. 微软还推出了拥有全功能的Visual Studio 2013社交版,可免费用

阿里云和微软共同开源的 OAM 对 Kubernetes 开发人员意味着什么?

上周,微软和阿里巴巴共同推出了开放应用模型(OAM),用于定义部署在任何地方的应用模型的一种规范.Rudr是Microsoft基于Kubernetes环境的OAM标准实现. 我用了一个周末来了解OAM试图解决的问题,为此我还以Rudr为基础重构了一些我喜欢的基础微服务的应用程序.本文和以下教程将帮助普通的Kubernetes用户了解OAM背后的动机. 众所周知,Kubernetes是一个复杂的平台,包含许多活动组件.在编排和部署简单的两层Web应用程序时,需要涉及到创建Storage Class

微软Microsoft开源历程与相关资源

2001 Open source is bad for business, saysMicrosoft Linux is a cancer 2005 Enterprise Library 1.0 released! 2006 AJAXControlToolkitreleased 2007 MicrosoftWill Support ODF If It Doesn't 'Restrict Choice AmongFormats' 2009 Microsoft ASP.NET MVC 1.0 is

微软 改变 开源【几个站点】

codeplex切换到目前的主流开源中心https://github.com/microsoft 几个核心技术的站点https://github.com/Microsoft/dotnethttps://github.com/aspnethttps://github.com/microsoft/vscode 基础站点https://opensource.microsoft.com/https://open.microsoft.com/ 本地化翻译https://www.transifex.com/