从 .NET 的开源到纳拉德时代的「新微软」

来源:百度文库 编辑:超级军网 时间:2024/05/01 16:21:02


    [核心提示] 「云优先」战略折射出的是微软从软件开发销售到提供服务盈利的转型。.NET 的开源是一个起点,放弃建立封闭式围墙的微软将更加走向开放。

近日,微软开了一个规模并不算大的开发者大会,然而,在这个会上微软却放出了一个足够重磅的消息:.NET 开发框架将开源。

一直以来,微软的 .NET 框架只能运行在 Windows 系统下,相关的开发环境不能在 Linux 和 Mac OS X 环境下运行,开源之后,这一切都会成为可能。

除此之外,微软还宣布向个人开发者提供免费的 Visual Studio Community 2013,增加了 Visual Studio 对 Android 与 iOS 的支持。

对 .NET 开源,增加 Visual Studio 的更多支持,微软的这些做法对开发者的意义在哪里,对微软自己又有怎样重要的意义?
.NET 对开发者意味着什么

.NET 架构在 12 年前由微软开发,当时 Java 编程变的更加容易,拥有更加现代的设计和自动内容管理,更重要的是拥有跨平台属性。微软的 .NET 正是微软用来与 Java 抗衡的重要武器。.NET 框架以采用系统虚拟机运行的编程平台,以通用语言运行库为基础,同时支持多种语言的开发。

对于开发者来说,最直接的好处是跨平台。

未来 .NET 开发者不必被微软束缚在 Windows 平台中,因为项目的开源,项目会被移植到其他平台,而微软官方也会继续为 .NET 项目不断提供技术和维护上的支持。也就是说未来 使用 Linux 以及 Mac 的开发者也一样可以开发基于 .NET 框架的应用。

而 Visual Studio 的跨平台支持,为开发者在其他平台增加了一个非常好的 IDE(集成开发环境),可以增强开发者在某些环节中的工作效率。通过 Visual Studio,甚至可以管理开发中从设计到开发再到测试维护的整个项目流程。

Visual Studio 2015 将原生支持交叉编译 Android 以及 iOS,内置的 Android 虚拟机可以用于高性能调试,而且效率比 Google 提供的还要高。也就是说 Visual Studio 将变成一个针对包括 Window 、Android 等多个平台的开发工具,既可以在多平台使用,也可以开发多平台上的应用。未来即便掌握了 Visual Studio 这一种开发工具的使用,开发者也能非常便捷的开发各个平台的应用。
微软为什么要这么做

事实上,这并不是微软这个靠出售软件作为主要收入的行业巨头第一次投身到开源事业中。

在 2012 年,微软就成立了「微软开放技术有限公司」,专注于参与开源项目以及开放标准工作组。在今年的 Microsoft Build 大会上,纳德拉更是表示喜欢「微软喜欢 Linux」,而 Linux 正是开源项目中最典型最成功的代表。

.NET 的开源意味着未来 .NET 会在服务器以及基于云的开发中获得优势,大部分服务器都运行着 Linux,.NET 的开源很有可能促成 .NET 与 Linux 的结合,Linux 与微软将不再会是竞争对手关系。.NET 不会继续扮演「Windows 下的 Java」这样尴尬的角色,在未来甚至有可能取代 Java 在服务器端的地位。

而这背后,则是微软未来最重要的项目之一——Azure,Azure 平台可以为使用任何编程语言和平台的开发者提供一套完善的从开发到管理的平台化服务。目前 Azure 平台已经吸纳了世界 500 强中 80% 的企业使用。

微软的「云优先」战略折射出的正是微软从以 Windows 主导的软件开发销售到提供服务盈利的转型,无论是 .NET 还是 Visual Studio 都不再需要围绕 Windows 建立一个微软式的围墙,开放,多平台的策略更符合微软全新的战略。唯有为用户或者开发者提供足够便利和有效的解决方式和足够多的用户数量,在最后的用户使用转化为服务订阅再转化为收入上才能有意义。开源 .NET 只是个起点。

http://www.linuxeden.com/html/news/20141114/156947.html

    [核心提示] 「云优先」战略折射出的是微软从软件开发销售到提供服务盈利的转型。.NET 的开源是一个起点,放弃建立封闭式围墙的微软将更加走向开放。

近日,微软开了一个规模并不算大的开发者大会,然而,在这个会上微软却放出了一个足够重磅的消息:.NET 开发框架将开源。

一直以来,微软的 .NET 框架只能运行在 Windows 系统下,相关的开发环境不能在 Linux 和 Mac OS X 环境下运行,开源之后,这一切都会成为可能。

除此之外,微软还宣布向个人开发者提供免费的 Visual Studio Community 2013,增加了 Visual Studio 对 Android 与 iOS 的支持。

对 .NET 开源,增加 Visual Studio 的更多支持,微软的这些做法对开发者的意义在哪里,对微软自己又有怎样重要的意义?
.NET 对开发者意味着什么

.NET 架构在 12 年前由微软开发,当时 Java 编程变的更加容易,拥有更加现代的设计和自动内容管理,更重要的是拥有跨平台属性。微软的 .NET 正是微软用来与 Java 抗衡的重要武器。.NET 框架以采用系统虚拟机运行的编程平台,以通用语言运行库为基础,同时支持多种语言的开发。

对于开发者来说,最直接的好处是跨平台。

未来 .NET 开发者不必被微软束缚在 Windows 平台中,因为项目的开源,项目会被移植到其他平台,而微软官方也会继续为 .NET 项目不断提供技术和维护上的支持。也就是说未来 使用 Linux 以及 Mac 的开发者也一样可以开发基于 .NET 框架的应用。

而 Visual Studio 的跨平台支持,为开发者在其他平台增加了一个非常好的 IDE(集成开发环境),可以增强开发者在某些环节中的工作效率。通过 Visual Studio,甚至可以管理开发中从设计到开发再到测试维护的整个项目流程。

Visual Studio 2015 将原生支持交叉编译 Android 以及 iOS,内置的 Android 虚拟机可以用于高性能调试,而且效率比 Google 提供的还要高。也就是说 Visual Studio 将变成一个针对包括 Window 、Android 等多个平台的开发工具,既可以在多平台使用,也可以开发多平台上的应用。未来即便掌握了 Visual Studio 这一种开发工具的使用,开发者也能非常便捷的开发各个平台的应用。
微软为什么要这么做

事实上,这并不是微软这个靠出售软件作为主要收入的行业巨头第一次投身到开源事业中。

在 2012 年,微软就成立了「微软开放技术有限公司」,专注于参与开源项目以及开放标准工作组。在今年的 Microsoft Build 大会上,纳德拉更是表示喜欢「微软喜欢 Linux」,而 Linux 正是开源项目中最典型最成功的代表。

.NET 的开源意味着未来 .NET 会在服务器以及基于云的开发中获得优势,大部分服务器都运行着 Linux,.NET 的开源很有可能促成 .NET 与 Linux 的结合,Linux 与微软将不再会是竞争对手关系。.NET 不会继续扮演「Windows 下的 Java」这样尴尬的角色,在未来甚至有可能取代 Java 在服务器端的地位。

而这背后,则是微软未来最重要的项目之一——Azure,Azure 平台可以为使用任何编程语言和平台的开发者提供一套完善的从开发到管理的平台化服务。目前 Azure 平台已经吸纳了世界 500 强中 80% 的企业使用。

微软的「云优先」战略折射出的正是微软从以 Windows 主导的软件开发销售到提供服务盈利的转型,无论是 .NET 还是 Visual Studio 都不再需要围绕 Windows 建立一个微软式的围墙,开放,多平台的策略更符合微软全新的战略。唯有为用户或者开发者提供足够便利和有效的解决方式和足够多的用户数量,在最后的用户使用转化为服务订阅再转化为收入上才能有意义。开源 .NET 只是个起点。

http://www.linuxeden.com/html/news/20141114/156947.html


如果巨硬用.NET重写一遍Visual Studio,理论上可以在多平台上跑,这个画面太美,想想都醉。。。
即使在Windows上用VS开发.NET,部署于Linux,也已经很好了。

如果巨硬用.NET重写一遍Visual Studio,理论上可以在多平台上跑,这个画面太美,想想都醉。。。
即使在Windows上用VS开发.NET,部署于Linux,也已经很好了。
当然这篇文章有的说法过于乐观,如“在未来甚至有可能取代 Java 在服务器端的地位”。
Java领域已深耕多年,从开发工具、框架到应用服务器,积累深厚,而巨硬提供的东西还是比较单一的。
不太确定IIS是否跨平台?要靠开源社区自己去编写.NET应用服务器么?
感觉这盘棋下得好大啊
太过乐观, 开源太晚了, 只能说原来用.net的一些管理软件, 以后部署到linux机器上会容易一些了
5楼说的对,太晚了。
如果巨硬用.NET重写一遍Visual Studio,理论上可以在多平台上跑,这个画面太美,想想都醉。。。
即使在Win ...
VS本来就是用.net/c#写的来自: Android客户端
兰韵 发表于 2014-11-14 12:41
VS本来就是用.net/c#写的
不知道你这VS指的是哪一部分,编译器连接器肯定不可能是.net写出来的,IDE的话,也是用C++写出来的,从devenv.exe需要MSVCR100.dll这个C运行时库就看出来了。
VS支持安卓了?
那么,微软的Lumia手机是不是也可以使用安卓呢?
leekkeek 发表于 2014-11-14 13:39
VS支持安卓了?
那么,微软的Lumia手机是不是也可以使用安卓呢?
可以用VS开发安卓应用啊,不是撸妹跑安卓。
,net非常的庞大,我估计也就是核心库开源吧,像wpf这类的扩展库未必会开源,另一个mono?
lynxliu2008 发表于 2014-11-14 14:39
,net非常的庞大,我估计也就是核心库开源吧,像wpf这类的扩展库未必会开源,另一个mono?
WPF跟Windows太相关了,应该不会开源。
巨硬在08年就开源了.NET Framework,但采用了自己的许可证。
这次除了改为MIT许可证,还开源了RyuJit VM(不知道是什么东东,CLR?)。
MS说开源就跟周流氓说从良一样好笑。
彦道 发表于 2014-12-6 12:55
MS说开源就跟周流氓说从良一样好笑。
这次很彻底了,用MIT许可证开源的
壮东风 发表于 2014-11-14 10:42
当然这篇文章有的说法过于乐观,如“在未来甚至有可能取代 Java 在服务器端的地位”。
Java领域已深耕多年 ...
.net现在有个优势,就是移动端的跨平台,ios、android、windows phone,xamarin一直在做的,现在和微软关系不错。
微软有个小算盘就是跨平台了,他的windows phone的应用数量也能跟得上
当然,开源的真正目的还是云计算,这是微软现在的重中之重,下一个增长点
平常道 发表于 2014-12-6 13:14
.net现在有个优势,就是移动端的跨平台,ios、android、windows phone,xamarin一直在做的,现在和微软关 ...
是不是学学Python就能写在各个平台上运行的程序了?
是不是学学Python就能写在各个平台上运行的程序了?
偶自学过一点点C++,可以勉强写个二叉树链表有向图深度遍历啥的
和谐电3D 发表于 2014-12-6 13:45
是不是学学Python就能写在各个平台上运行的程序了?
偶自学过一点点C++,可以勉强写个二叉树链表有向图深 ...
跨平台开发历来不是开发的重点关注对象,当然做到这一点会非常方便。
本体系生态链的壮大,才是最关键的。
算法、数据结构大多已经集成到各种容器中了,不必过于关心。
壮东风 发表于 2014-11-14 14:22
可以用VS开发安卓应用啊,不是撸妹跑安卓。
那么这个案桌的软件,可以在漏米垭上走喽
20141014 发表于 2014-12-6 14:12
那么这个案桌的软件,可以在漏米垭上走喽
撸妹只是硬件,巨硬愿意开放,就能跑安卓。
目前WP没有兼容安卓的可能。
壮东风 发表于 2014-12-6 20:52
撸妹只是硬件,巨硬愿意开放,就能跑安卓。
目前WP没有兼容安卓的可能。
谢谢。我问的是瘟都死,这漏米垭都是瘟都死的吧。
这是革java命的节奏,不过把握不好的话可能把自己的平台地位玩死
苏联小苹果 发表于 2014-12-7 10:22
这是革java命的节奏,不过把握不好的话可能把自己的平台地位玩死
跟Java体系下庞大的生态链相比,.NET的开源只能算起步,革命是谈不上的,扩大应用面应该是主要目的。
跟Java体系下庞大的生态链相比,.NET的开源只能算起步,革命是谈不上的,扩大应用面应该是主要目的。
微软宣布开源的同时说要开发把.net framework 支持linux等系统,.net 桌面端 移动端通通支持,跨语言跨平台,一次编写随处运行,java和net 比起来没优势,就看微软对其他平台的支持力度了,力度大,windows都有危险,力度小就逐步替代java
苏联小苹果 发表于 2014-12-7 13:36
微软宣布开源的同时说要开发把.net framework 支持linux等系统,.net 桌面端 移动端通通支持,跨语言跨平 ...
.NET framework相当于JDK,Java领域最大的积淀在于各种框架、开发库,没有转移到.NET平台的必要性。
巨硬这次开源力度很有限,只能保证一定范围的应用能运行起来,比较关键的组件如IIS,如果不开放的话,完全谈不上有什么实际的意义。
以前混过软件公司,在易学易用这个角度来说,dotnet有巨大的优势,当初所混的小软件公司就把不少java项目转到dotnet上。
对于软件开发生态而言,程序员才是最基础的啊
firevitt 发表于 2014-12-8 08:43
以前混过软件公司,在易学易用这个角度来说,dotnet有巨大的优势,当初所混的小软件公司就把不少java项目转 ...
目前而言,难易程度两者没多大差别,看看JavaEE最新的一些规范,想不出还能怎么更简单。。。
翻翻两个体系的代码,感觉互相抄来抄去的好多。。。
.NET优势在于VS非常完善,IIS内置于Windows Server,如果只写运行于Windows的程序,确实不必考虑太多,所以吸引了很多开发者。
但Java在工具、应用服务器等方面其实并不弱。
壮东风 发表于 2014-12-8 09:11
目前而言,难易程度两者没多大差别,看看JavaEE最新的一些规范,想不出还能怎么更简单。。。
翻翻两个体 ...
就是因为VS环境开发简单啊,一个程序员几天就上手能干活了。
JAVA需要培训的时间要多一点,而且对项目经理的要求也比较高,主要是数据库。软件公司那也是资本家的说。
应该说.net+SQLserver大大简化了开发难度。
firevitt 发表于 2014-12-8 10:35
就是因为VS环境开发简单啊,一个程序员几天就上手能干活了。
JAVA需要培训的时间要多一点,而且对项目经 ...
现在谁还为数据库烦恼。。。不是个事,Java也可以用SQLServer,而且在持久化层的支持下,数据库细节基本看不到了。
Java不仅有类似Eclipse、Netbeans等GUI开发工具,还有大量命令行工具,很多事情图形界面未必方便。