从2000年微软启动.NET战略时,我还是一位大学生,当年著名的黑客Miguel de Icaza , Miguel 为了寻找GNOME项目开发框架经过充分的调研启动了一个志存高远的项目:Mono,一个Microsoft .NET Framework的自由GNU/Linux实现,我在国外的Linux论坛上 循着Miguel的指引踏上了.net开发之路, 我开始接触.NET Framework的时候还是beta阶段,2002年2月13日微软发布了.NET 1.0 , 我也毕业工作半年时间,开始使用ASP.NET 1.0开发项目, 今天我已经伴随.NET 发展20年,在此.NET 20年之际有感而发写下这些感想。

在这20年间发生了巨大的变化,微软一直能够与时俱进,2000年的市值第二,2022年照样排名第二,这期间微软也是经历了起起伏伏,作为微软最重要的一个开发者平台产品一样经历了起伏,就像微软的股票一样:

这种图也反应了.NET的命运,从2000年到2014年微软让.NET Framework作为Windows的一部分,微软也站在开源的对立面,最经典的就是Steve Ballmer ,他当初曾将“开源”称作微软知识产权毒瘤。2014年之后微软换了CEO,全面拥抱Linux,.NET Core开源,收购Xamarin,构建起了全新的生态,微软的重心转移到了云,微软算是抓住了云计算时代,2017年微软市值已经增长到了5000亿美金,2022年已经是2.3万亿美金。从2014年开始的演变,支持多平台,并提供给各种操作系统,如Linux,Mac,iOS和Android等。它涵盖广泛的应用程序,从桌面、Web 应用程序、云、移动、游戏、IoT 到 AI。

Windows 这个操作系统, 主要是以桌面为中心的用途, 从某种意义上说, 是为了提高特定环境下的开发效率而开始的,在.NET第 20 年终于达到了"所有应用的统一平台"的高度。  虽然MAUI(不是GA)存在一些滞后,今年第二季度也会GA,随着.NET 6的发布,One.NET 愿景已经实现。

其实在 NET Framework发布之前,微软从 COM 时代起就一直梦想着多平台。微软可以算是一家坚韧不拔的公司, 经过20年的不懈努力,反复试验和试错,这其中也有不少是错误的,甚至现在可以感受到社会上的很多的软黑曾经是软粉,也许包容不下微软的坚韧不拔。经过各种反思和20年的时光, 现在最重要的是开发者, 以开放为目标, 经过深思熟虑,回归服务好开发者。

.NET Framework、. NET Core 和 Xamarin 的统一,.NET 6完成了统一 .NET愿景,统一了 SDK、类库和工具链,这些工具链以前是不同的,支持跨平台本机和 Web UI。愿景还包括云原生,Microsoft 计划为所有现代工作负载提供最佳解决方案。.NET 为所有开发人员提供了更多的选择。开发者使用.NET 上的工具和平台,无论他们选择什么,都很容易实现他们想要的。.NET 6 统一了类库和 SDK。除了发布新的 C# 10 和 F#6 外,它还支持 Apple M1 处理器。此外, 与 NET 5 不同,它还提供长期支持 (LTS),提供三年支持。

NET在每次升级时,性能都会成为焦点。比如 NET 6的 ASP.NET Core 网络应用程序比Node.js快10倍, gRpc 的.NET实现是性能最好的,超过了C++的实现。在 .NET 6 中,还专注于加快 Web 应用程序性能,降低资源的占用,换句话说就是对云原生的投资。

现在.NET 也是 OSS,并且更新像任何其他 OSS 一样频繁发布。然而,在实际操作中,了解版本升级周期更容易使用,因此时间表变得清晰, 作为一家企业公司,如果.NET 的未来计划被披露,那么就可以放心地投资.NET技术。从使用长期支持版本的同一版本的想法出发,很容易转向敏捷流程和思维方式,这些流程和思维将尽可能短的周期更新到新版本,而从安全应用程序开发的角度来看,现在最需要考虑的就是解决漏洞。

开源社区也有很多缺陷是因为工程运作上的问题,微软具有商业公司血统的管理科学更多融合到.NET 开源项目中去, 将来 开源、商业、学术将结合得更加完美。

.NET 程序员的现状是:"在被迫开发各种应用的情况下,我们必须选择针对性工具和框架,当前系统正在向云转移,基础设施和服务也在发生变化,开发现场变得越来越复杂。. NET 开发人员 可以使用称为宇宙第一的 Visual Studio 集成开发环境,可在各种目标上部署您喜爱的应用,从而保持高工作效率。

NET 6 还改进了对 "ASP.NET Core Blazor"的支持,以方便 C# 开发人员进行 Web 前端开发。Web 应用程序开发在服务器端和前端使用不同的语言和框架。前端 Web UI 基于基本的 JavaScript,通常使用框架(如Angular、React 和 Vue)进行开发。ASP.NET Core Blazor 的职责是使能够以 C# 等语言开发前端,而无需了解 JavaScript 框架 。

ASP.NET Core Blazor以大多数现代网络浏览器支持的WebAssembly 为技术基础。因此,在 C# 中编写的代码以本机性能作为 WebAssembly 运行。根据创建方法,您可以使其脱机运行,也可以将其作为 PWA(主动 Web 应用)安装在计算机上,并像本机应用程序一样运行。这非常像以前的 Silverlight 或 Flash 那样在插件上运行,不一样的地方是Blazor Wasm使用 Web 标准 WebAssembly。

ASP.NET Core Blazor可以将 DLL 下载到 Web 浏览器,并在 WebAssembly上运行。由于它完全在客户端运行,因此无需服务器组件即可脱机运行,但下载大小较大。相反,它提供了一种在 Blazor 服务器上运行程序并使用称为 SignalR 的技术进行渲染的方法。这需要持久连接,UI 延迟高,但启动速度快,并且具有在较旧的 Web 浏览器和瘦客户端上可用的优点。

最后号召大家一起来参与.NET 20周年庆活动,可以使用下列模板制作一个微信视频,发到自己的视频号里,加入活动“ dotnet20周年”:

你好,我是xxx , 我是 xxxx年开始接触.NET的,我的第一个项目是xxxx , 因为xxxx 原因我选择了.NET ,新一代的.NET 我最喜欢它的XXX功能,希望.NET 在中国有Xxx的发展!.NET 20周年生日快乐 。

相关参考:

  • .NET官方网站:https://dotnet.microsoft.com/zh-cn/

.NET 20周年软件趋势随想相关推荐

  1. Visual Studio 20周年软件趋势随想

    从2002年开始,.net让开发人员能快速构建和部署应用程序,便捷的开发windows和web服务器应用,同时著名的hacker Miguel de Icaza ,Miguel 为了GNOME项目启动 ...

  2. 【历史上的今天】2 月 13 日:晶体管之父出生;.Net 面世 20 周年;《敏捷软件开发宣言》诞生

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 2 月 13 日,在 2001 年的今天,跨国科技公司谷歌(Google)进行了其历史上的第一次收购 ...

  3. Apache 软件基金会欢庆20周年:由社区驱动发展的“Apache 之道”

    腾讯开源恭祝 Apache 软件基金会持续健康发展,愿 Apache 之道驱动中国开源企业形成以社区为基础的开放开发模式. 本文来源于:开源社 文章翻译:Ted Liu & 徐红伟 | 编辑: ...

  4. 微软亚研院20周年独家撰文:数据智能的现在与未来

    文:微软亚洲研究院软件分析组 来源:雷锋网 摘要:今年是微软亚洲研究院(MSRA)20周年,站在这个大节点上,MSRA副院长张冬梅以及她的团队写了这篇有关数据智能的文章,对该领域的发展和未来进行梳理. ...

  5. 甲骨文携手各界共庆Java 20周年

    本文讲的是 :   甲骨文携手各界共庆Java 20周年 , [IT168信息化]可曾记得你用Java写的第一句话"Hello World"?你的第一本Java书籍的封面?你调试的 ...

  6. 献礼20周年! 互联网研发管理现状主题分享

    摘要 Key:Trip.com,携程,携程PMO,携程技术,敏捷开发,PMO,PMI,PMP,Scrum,Agile PMI年度项目管理大会于2019年10月26~27日在上海国际会议中心召开,携程旅 ...

  7. FFmpeg迎来20周年生日!凭一己之力养活全球无数播放器!

    近日,开源编解码库项目FFmpeg迎来20周年生日. 2000.12.20-2020.12.20 可能很多人对于FFmpeg不是特别了解,那么以下几个名字是否大家或多或少都用过呢? 暴风影音.PotP ...

  8. 一起来庆祝 .NET 20 周年!

    你知道吗?.NET 将要迎来 20 周年, 在 20 年前的 2002 年, 微软公布了下一代的软件.服务的愿景和路线,2 月 13 日,Visual Studio .NET 推出,.NET 开发平台 ...

  9. 20周年献礼:Visual Studio 2017正式版3月7日发布

    微软透露 Visual Studio 2017 的开发工作已经接近尾声,即将进入 RTM 阶段.现在,微软正式宣布,Visual Studio 2017 正式版将于 3 月 7 日正式发布!值得一提的 ...

最新文章

  1. VS2017项目打包为exe和setup
  2. opengl入门资料
  3. 【cropper】介绍:JavaScript图片裁切
  4. 灵魂拷问!细数Android开发者的艰辛历程,成功入职阿里
  5. 常用的mysql sql_mode
  6. WebSocket API使用篇检测浏览器是否支持WebSocket(4)
  7. Focal Loss 分类问题 pytorch实现代码(简单实现)
  8. php背景图片透明度,css如何使用opacity属性给背景图片加透明度(代码)
  9. Shell脚本实现模拟并发及并发数控制
  10. dos初始操作和全屏方法
  11. Educational Codeforces Round 67
  12. c语言保留三位小数用float,float保留三位小数
  13. office转pdf和图片实现在线预览
  14. FPGA时钟倍频,分频
  15. svn 重新定位版本库
  16. 无盘服务器0x00000124,知识分享电脑故障0x00000124导致蓝屏的原因和解决思路-电脑蓝屏原因...
  17. 等级保护二、三、四级内容及对比
  18. 关于Rtp封包方式之一的 FU-A分包方式
  19. 根据ip地址获取城市名的几种方法
  20. Spring Boot 菜鸟教程 异常 集锦

热门文章

  1. 《权威指南》笔记 - 8.7 函数属性、方法、构造函数
  2. 利用决策树学习基金持仓并识别公司风格类型
  3. 王换招计算机组成与设计课件,计算机基础知识(课件)..ppt
  4. 基于Android的理财app开发,基于Android的个人理财系统的设计与实现.doc
  5. php微信退款 v3版,微信支付-JSAPI支付V3-查询退款
  6. Gym101142G Gangsters in Central City
  7. golang1.15.6 版本 map 源码笔记
  8. 仿微信打开红包旋转动画
  9. 数商云:搭建B2B撮合交易平台,以“三新”战略驱动化工企业利润高增长
  10. bzoj5020[THUWC 2017]在美妙的数学王国中畅游(LCT)