热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于.net:NET-20周年软件趋势随想

从2000年微软启动.NET策略时,我还是一位大学生,当年驰名的黑客MigueldeIcaza,Miguel为了寻找GNOME我的项目开发框架通过充沛的调研启动了一个志存高远的我的项目:Mono,一个Microsoft.NETFramework的自在GNULinux实现,我在国外的Linux论坛上循着Miguel的指引踏上了.net开发之路,我开始接触.NETFra

从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年照样排名第二,这期间微软也是经验了起起伏伏,作为微软最重要的一个开发者平台产品一样经验了起伏,就像微软的股票一样。

从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 浏览器和瘦客户端上可用的长处。


推荐阅读
  • VSCode快速查看函数定义和代码追踪方法详解
    本文详细介绍了在VSCode中快速查看函数定义和代码追踪的方法,包括跳转到定义位置的三种方式和返回跳转前的位置的快捷键。同时,还介绍了代码追踪插件的使用以及对符号跳转的不足之处。文章指出,直接跳转到定义和实现的位置对于程序员来说非常重要,但需要语言本身的支持。以TypeScript为例,按下F12即可跳转到函数的定义处。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • 本文介绍了django中视图函数的使用方法,包括如何接收Web请求并返回Web响应,以及如何处理GET请求和POST请求。同时还介绍了urls.py和views.py文件的配置方式。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 本文介绍了Java集合库的使用方法,包括如何方便地重复使用集合以及下溯造型的应用。通过使用集合库,可以方便地取用各种集合,并将其插入到自己的程序中。为了使集合能够重复使用,Java提供了一种通用类型,即Object类型。通过添加指向集合的对象句柄,可以实现对集合的重复使用。然而,由于集合只能容纳Object类型,当向集合中添加对象句柄时,会丢失其身份或标识信息。为了恢复其本来面貌,可以使用下溯造型。本文还介绍了Java 1.2集合库的特点和优势。 ... [详细]
author-avatar
荷丹满
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有