微软发文庆祝 .NET 诞生 20 周年纪念日!

技术编辑:MissD丨发自 思否编辑部

公众号:SegmentFault


刚刚过去的“情人节”里,.NET 团队为庆祝 .NET 社区诞生 20 周年而举办了一场盛大的活动。没错!.NET 于 2002 年 2 月 13 日与 Visual-Studio 一起推出,本月终于迎来了 20 周年纪念日。

317af69973a836939aae7782a82571e3.png

2 月 13 日,微软官方专门在社区博客中发文对.NET 诞生 20 周年表达了庆祝。文中,微软对.NET 过去 20 年的发展历程作了回顾,对近年来的所取得的进展及重大时间节点做了盘点分析,同时也对接下来社区的发展计划做了展望。

微软在博文中表示,值此.NET(及 Visual-Studio )问世 20 周年之际,他们诚邀广大开发者及网友参加 2 月 14 日上午 9:00 在 www.dot 上举办的特别庆祝活动,期待在 Twitter 的#dotNETLovesMe 话题下能看待大家分享的故事。

.NET 20 年:

微软凭此成“互联网时代”弄潮先锋

据 StavePoad 开发者调查数据显示,.NET 作为一款 20 年前推出的平台,曾 2019、2020、2021 连续三年登顶“开发者最喜爱的框架”榜,这非常让人惊讶,就连 CNCF(全称 Cloud Native Computing Foundation 云原生计算基金会)也不得不承认这一点。如今,已有超过 500 万的开发者使用 .NET 社区。

据悉,.NET 是自 2017 年以来 GitHub 上发展速度最快的 30 个开源项目之一,这也从侧面表明了所有人每天都在积极改进平台。当然,社区的贡献也对绩效产生了直接影响,比如多年来.NET 一直领先于 TechEmpower 性能基准。该社区也在 NuGet 上构建了数十万个软件包、数千个组件和工具以及数百.NET 生态系统合作伙伴,以此吸引全球用户与.NET 共同成长。

261acfffc5ddd471fd22c05425225d33.png
20e72c6b85722704ea197b2aed614d04.png

多年来,微软一直坚守其深厚的开发者根基,不断为全球用户带来创新。上世纪 90年代,微软凭借 Basic 解释器和 MS-DOS 成为了领先的个人计算机操作系统的系统供应商。有了庞大的开发工具组合,就会有许多不同的工具和语言来构建多种应用程序。而每种工具都擅长解决不同的问题,但应用程序很难跨它们进行通信,尤其是跨机器边界。

后来随着互联网的兴起,世界开始看到了一种更容易共享信息的方式。技术开始朝着通过互联网进行通信的分布式系统的方向转型,而.NET 恰好就是为这场互联网革命而生的:多种语言、one runtime 以及一组兼容的库和 API。可以说,“正是.NET 的出现才让微软站在了迎接“互联网时代”转型的最前沿”。

即使是面对微软的新一次重大变革 —— 开源,.NET 也依旧处于领先地位。早在2012 年,微软已经完全开源了 ASP.NET MVC 网络框架,并接受捐款,这也是当时微软最早的大型开源项目之一。

e2c73d3a7beec2cb97cc7a373d1346f2.png
0f9b53dac5a0b95d6204055d6b4eee88.png
986fc7226026507bbd089dd1085a90e7.png
e4d54232661a3955457072a888f6121b.png

2014 年,微软开始在 GitHub 构建一个跨平台、开源的.NET,并在 2016 年的 Red Hat DevNation 大会上发布了第一个版本,演示了其在 Red Hat Enterprise Linux 上运行,这在早期也是个创新之举。

当然,.NET 不仅仅适用于 Windows 平台,如今微软方面已经与 Red Hat 和 IBM 等公司建立了强有力的合作伙伴关系,以实现新目标。此外,微软 .NET 还与其他商业发行版和社区发行版建立了不少合作。

展望未来:.NET 7 将至

2021 年 11 月,微软刚刚释出了 .NET 6 版本,并全力推进 .NET 7(事实上.Net 7 预览版1 将于本周发布)。即便是现在的.NET 6,也会拥有一套统一的基础库和 SDK,不仅简化了开发体验,在 C#10 上进行了投资,且提供了最低限度的 API,可通过“热重载”实现高生产率等。

fca9c44b58e5768fe2773f52818bc981.png

微软透露,.NET 多平台应用程序用户界面(.NET MAUI)很快就会发布。NET MAUI 将允许用户使用单一代码库为 Windows、macOS、iOS 和 Android 构建本机应用程序。现在关注的是质量和漏洞,所以微软方面现在正在尝试预览版本,也期待到时候用户给于反馈。

最后,微软感慨称:“.NET 在过去 20 年里取得了长足的进步,但改变开发者生活的最初愿景仍然成立。你可以为任何操作系统构建任何类型的应用程序,性能卓越。从高吞吐量、云计算规模的服务到最小的微控制器,.NET社区已经使这个平台及其大型生态系统取得了巨大成功,所以在此对所有开发者用及户们表示感谢”。

d797f7cb975796c468194ae0c8778bd8.png

如果你对微软于 2 月 14 日在 www.dot 上播出的庆祝节目感兴趣,不妨查看查看Twitter 上的#dotNETLovesMe 话题以了解所有信息。如果您有对该话题的想法,也欢迎在评论区交流互动。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/291321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java代码实现四舍五入_Java中四舍五入实现方法

Java中四舍五入实现方法Java有四舍五入函数–Math.round,通过一个例子看看他的用法:[java] view plaincopypackage math;public class MathRoundTest {/*** Math类中提供了三个与取整有关的方法:ceil,floor,round,* 这些方法的作用于它们的英…

【动态规划】[Uva11270]Tiling Dominoes

这道题就是连通性状态压缩DP&#xff0c;复习了一下。 #include <cstdio> #include <iostream> #include <cstring> #include <map> using namespace std; long long dp[11][11][(1<<11)1][2], n, m; long long dfs(int x, int y, int md, int r…

LeetCode之Find All Numbers Disappeared in an Array

1、题目 Given an array of integers where 1 ≤ a[i] ≤ n (n size of array), some elements appear twice and others appear once. Find all the elements of [1, n] inclusive that do not appear in this array. Could you do it without extra space and in O(n) runti…

根据文件扩展名得到文件对应该类型Icon方法

2019独角兽企业重金招聘Python工程师标准>>> 根据文件扩展名得到文件对应该类型Icon方法 package com.fleety.util; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; import java.awt.GraphicsDevice; import java.…

Asp-Net-Core开发笔记:在docker部署时遇到一个小坑

哦吼之前刚说了尝试了使用docker来部署AspNetCore应用&#xff08;Asp.Net Core部署&#xff1a;早知道&#xff0c;还是docker!以及一点碎碎念&#xff09;&#xff0c;结果这才刚上班就遇到问题了 …我这项目用的数据库是Oracle&#xff0c;之前直接运行没啥问题&#xff0c;…

lasso特征选择python_转:结合Scikit-learn介绍几种常用的特征选择方法-2

4.2 平均精确率减少 Mean decrease accuracy另一种常用的特征选择方法就是直接度量每个特征对模型精确率的影响。主要思路是打乱每个特征的特征值顺序&#xff0c;并且度量顺序变动对模型的精确率的影响。很明显&#xff0c;对于不重要的变量来说&#xff0c;打乱顺序对模型的精…

shell中条件判断if中的-z到-d的意思

shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个目录则为真。 [ -e FILE ] 如果 FILE 存在则为真。…

Mac Generating Pods project Abort trap: 6

为什么80%的码农都做不了架构师&#xff1f;>>> 为项目添加cocoapods如果产生此种错误时,主要有以下几点原因: 1,cocoapods版本过低: 打开终端在终端输入:pod --version,目前最新版本是1.2.0(2017年3月),如果发现版本过低,则可以在终端输入以下命令:gem install co…

svn 服务器搭建

2019独角兽企业重金招聘Python工程师标准>>> Svn搭建 1. Linux 搭建 YUM 服务器 [rootlocalhost conf]# yum install -y subversion 2.验证安装版本&#xff1a; [rootlocalhost conf]# svnserve –version 3.创建SVN 版本库 [rootlocalhost conf]# mkdir /v…

Android之提示can‘t execute: Permission denied解决办法

1、问题 在手机里面执行文件的时候提示 cant execute: Permission denied 一开始以为是没有root权限&#xff0c;自己傻逼了&#xff0c;错误意思是&#xff0c;不能执行&#xff0c;权限定义&#xff0c; 2、解决办法 chmod 777 file 给文件可执行就可以。 一般把文件放到…

C# 使用 ValueTasks

C# 7 带有更灵活的 await 关键字&#xff1b;它现在可以等待任何提供 GetAwaiter 方法的对象。一种可用于等待的新类型是 ValueTask。与 Task 类相反&#xff0c;ValueTask 是一个结构。这具有性能优势&#xff0c;因为 ValueTask 在堆上没有对象。与异步方法调用相比&#xff…

LeetCode之Reverse String II

1、题目 Given a string and an integer k, you need to reverse the first k characters for every 2k characters counting from the start of the string. If there are less than k characters left, reverse all of them. If there are less than 2k but greater than or …

Electron - 创建跨平台的桌面客户的应用程序

Electron 框架的前身是 Atom Shell&#xff0c;可以让你写使用 JavaScript&#xff0c;HTML 和 CSS 构建跨平台的桌面应用程序。它是基于io.js 和 Chromium 开源项目&#xff0c;并用于在 Atom 编辑器中。Electron 是开源的&#xff0c;由 GitHub 维护&#xff0c;有一个活跃的…

Cognos TM1_10.1.1服务端配置

场景&#xff1a;本文继Cognos TM1_10.1.1服务端安装 之后&#xff0c;简单的说一下本人对简单配置的拙见,确保服务端在安装过程一切正常&#xff0c;成功安装。 1&#xff1a;进入TM的Cognos Configuration 2&#xff1a;如下图&#xff0c;选中环境&#xff0c;这里可以看出…

java黄油刀_一篇文章玩转ButterKnife,让代码更简洁

前言话说&#xff0c;Android开发的兄弟们都知道&#xff0c;每次初始化控件&#xff0c;设置相应的事件&#xff0c;写的那点过程多而且恶心。我们先一块回顾下不堪的曾经~那些年&#xff0c;我们是这样初始化控件&#xff1a;// 每次的习惯上来写一个initView()方法tvContent…

图片加载框架Picasso - 源码分析

简书&#xff1a;图片加载框架Picasso &#xff0d; 源码分析 前一篇文章讲了Picasso的详细用法&#xff0c;Picasso 是一个强大的图片加载缓存框架&#xff0c;一个非常优秀的开源库&#xff0c;学习一个优秀的开源库&#xff0c;,我们不仅仅是学习它的用法&#xff0c;停留在…

Bit Manipulation —— 位运算

1、介绍 Bit Manipulation(位运算)&#xff1a; 一共五种运算&#xff1a;与&#xff0c;或&#xff0c;异或&#xff0c;左移&#xff0c;右移。2、算法题目一般使用总结&#xff1a; &#xff08;1&#xff09;n & &#xff08;n-1&#xff09;能够消灭n中最右侧的一个1。…

jQuery 表单选择器

jQuery 代码&#xff1a; <script type"text/javaScript"> $(document).ready(function(){ $("#form1 input:enabled").val("这里变化了");//改变表单内可用<input> 元素 $("#form1 input:disabled").val("这里也变了…

nodejs的内存管理,垃圾回收机制

2019独角兽企业重金招聘Python工程师标准>>> 要点记录&#xff1a; 1、网页js、命令行工具&#xff0c;快进快出的&#xff0c;即时内存泄露&#xff0c;无内存管理必要! 2、服务器端nodejs和其他正规语言一样存在内存泄露。 3、nodejs基于谷歌v8js引擎&#xff…

java实体中文字段_java - Spring JPA实体类是否可以包含不在数据库表中的非数据库字段 - SO中文参考 - www.soinside.com...

我在SpringBoot中使用Spring JPA和Spring Data Rest。我有一个称为用户的数据库表和该表的实体。我没有此应用程序的控制器。EntityTable(name "USER")public class User implements Serializable {IdGeneratedValue(strategy GenerationType.IDENTITY)Basic(optio…