.Net 基金会和.NET平台创新

[原文发表地址] The .NET Foundation and .NET Platform Innovation

[原文发表时间] 2014-04-03 2:00 PM

自从12多年前.NET首次发布到现在,它一直是微软开发系统的基石。使用.NET的超过600万的专业开发人员已经建立了一些最重要的软件和解决方案,提供给今天的企业、应用程序和网站,同时18亿.NET跨设备的安装就可以创建一个用于生产应用程序开发的重要基础。

今天,我很高兴与大家分享.NET平台上的一些重要的更新,其中包括围绕.NET及.NET 基础的一系列重要的创新,以促进跨.NET系统的进一步创新。

.NET基金会

今天早些时候我们宣布了.net基金会的创立,这是一个独立的,用以围绕.NET开源技术集合的不断增长促进开放开发和协作的组织。.NET基金会将成为商业和社区开发的一个论坛,就像加强未来.NET系统的一组实践和流程。

正如最近我所强调的,我们已经看到开源软件有显著的增加,它组成了.NET开发系统的基础,这是Microsoft和在.NET社区的其他开发人员共同努力的结果。.NET基金会建立了这一趋势后,进一步帮助了.NET开放系统蓬勃发展。

.NET基金会将以其旗下的24个.NET开源项目开启,其中包括.NET编译器平台(“Roslyn”)和开源项目的ASP.NET家族,以及来自Xamarin的MimeKit和Mailkit库。

我们对.NET基金会的共同目标是:

开放 .NET的开发过程: .NET基金会为.NET平台带来在一个公共的保护伞下现有的以及新的相关开源项目,如ASP.NET ,实体框架和最近发布的.NET编译器平台(“Roslyn”)。.NET基金会将帮助建立并以此为标准向前发展,因此越来越多的.NET组件和类库可以从一个开放的透明过程和友好地参与中受益。

鼓励客户,合作伙伴和更广泛的社区参与: .NET基金会通过其董事会成员或者直接通过单独的开发者来促进团体的参与和直接代码贡献,通过开放而透明的管理模式来加强. NET的未来发展。

通过一个充满活力的合作伙伴系统和开源社区来推动创新: .NET基金会将鼓励商业合作伙伴和开源开发人员构建解决方案,利用该平台的开放性为.NET 开发人员提供额外的创新。这包括扩展.NET到其他平台,扩展Visual Studio创建新的经验,提供额外的工具并以新的功能扩展框架和类库。

.NET基金会体现了开放.NET系统的一个重要承诺,我所期待的是我们能够通过基金会一起交付。

.NET创新

在过去的12年里,.NET平台已经交付许多个重大创新横跨运行时,语言,类库和工具。从像语言集成查询这样的项目,到丰富的ASP.NET框架以及最近针对异步编程的异步/等待功能,.NET已经成为了生产应用程序开发行业中的领导先平台。

今天,我们有机会公布下一批的.NET平台中令人兴奋的创新,从核心运行时的功能去运行域,去启用新的开发人员生产工具。同时,这一波的.NET创新代表了.NET平台重要的下一步。

.NET编译器平台 - "Roslyn"** (预览)

.NET Compiler Platform项目,被称为"Roslyn",包括下一个版本的C#和VB编译器,以及编译器即服务的API,它提供丰富的IDE集成,并开放编译器给各种集成开发者。

今天,通过微软开放技术,.NET编译器平台发布为开放的源代码,并且开发团队正在致力于CodePlex。开源编译器平台将使更广泛的开发者协助该项目的发展,并将.NET编译器集成到各种各样的项目中去。

在发布的.NET编译器平台预览版中还包含了一些新的IDE功能,突出了新的平台上可能的东西。

不只是Visual Studio受益于开源.NET编译器平台。今天在//build/,Xamarin的Miguel de Icaza展示了.NET编译器平台运行在苹果笔记本上时是如何用来为Xamarin工作室提供丰富的C#智能感知体验的。

开源.NET编译器平台和C#和VB编译器为将要围绕.NET构建的工具和服务开辟了无数新的机会。

C #和VB语言创新(预览)

包括在今天的.NET编译平台的预览版本中的C#和VB编译器涵盖了新功能的早期样子,这些样子正在被考虑加入C#和VB语言的下一个主要版本。如主构造函数,自动属性初始值这些功能,并以一种更精简的方式使用静态特性广泛的帮助开发人员表达常用代码模式。

    1: // Using static class
    2: usingSystem.Console;
    3: // Primary constructor
    4: class Point(double x, double y)
    5: {
    6:     // Auto-property initializers and getter-only auto-properties
    7:     public double X { get; } = x;
    8:     public double Y { get; } = y;
    9:     public voidPrintMe()
   10:     {
   11:         WriteLine("{0}, {1}", X, Y);
   12:     }
   13: }

.NET本地(预览

对于.NET平台,C#和.NET的开发人员的生产力一直是一个核心的价值主张。使用.NET Native,我们可以结合生产力,生成二进制文件的功能和符合本地代码的性能这三者。

.NET Native是.NET的一个预编译器,它充分利用了我们的C++编译器的优化功能,以提供启动时间,内存使用情况和应用程序的总体性能的改进。今天预览版发布可以让开发人员针对X64和ARM的Windows Store应用尝试这个新的编译技术。

阅读更多有关.NET Native的信息在on the .NET blog

下一代JIT和SIMD (预览)

关于.NET核心,我们一直致力于下一代.NET的 JIT和CLR。今天,我们发布了这个新的.NET的JIT编译器(代号“RyuJIT”)的 third preview release ,给应用程序启动和性能提供显著的好处,并对于应用程序开发人员透明。

今天的预览也是第一次启用新的开发场景,如提供新的.NET的API,可以利用SIMD(单指令,多数据)在现代处理器的SSE2和AVX指令集的支持。在这个例子中,紧密循环的浮点运算被向量化,显著提高了整体吞吐量。

    1: Vector<float> reals = vx;
    2: Vector<float>imags = vy;
    3: do
    4: {
    5:    // This work will be vectorized using hardware SIMD instructions
    6:    reals = reals * reals - imags * imags + vx;
    7:    imags = reals * imags + reals * imags + vy;
    8:    // … do more work …
    9: } while (!done);

SIMD API 使用 on NuGet

Xamarin合作伙伴

去年十一月,我们宣布了与Xamarin的合作关系,使C#和Visual Studio开发人员的目标定位于其他的的移动设备,包括iOS和Android。

通过使用.NET移植类库,开发人员可以轻松地共享类库以及应用程序逻辑,横跨他们的设备应用程序与他们的后端实现。

Visual Studio和.NET 为致力于Windows系列设备的应用程序开发者提供了出色的开发人员生产力。利用Xamarin,开发者可以对iOS和Android拥有同样的生产力。

.NET的移动服务

Azure移动服务提供了一个易于使用的移动后端,作为服务连接到微软Azure。上个月,Scott Guthrie公布了.NET的预览版对移动服务支持的可用性,我们把这当作又一次进步。

利用.NET的移动服务,您得到简单的Azure托管的数据存储的API连接,其为自定义表格操作结合了灵活的ASP.NET Web API。

项目"Orleans" (预览

基于在微软研究院开始的工作,"Orleans"是一个基于行动者的云计算编程模型,它提供了一个简洁的方法来构建分布式高级计算应用程序,而不需要学习和运用复杂的并发或其它扩展模式。Orleans被设计为在云中使用,并已被广泛使用在Microsoft Azure。

了解更多关于Orleans的信息参看the .NET Blog

结论

.NET是一个世界领先的开发平台,又是微软和世界各地数以百万计的开发人员都在使用的关键技术。.NET基金会在微软和其他组织对.NET平台的投资帮助下,环绕.NET开源技术集合的不断增长来促进开放开发和协作。今天所预览的下一波.NET的创新代表了.NET平台演变中巨大的一步。

而这仅仅是个开始,.NET的创新管道正全速向.net的下一个版本前进,增加了可帮助您创建下一代跨Windows Server和Azure应用程序的功能,以及桌面和设备。

致敬!