各位老铁们,大家好,今天由我来为大家分享Microsoft 如何让我重拾对C 和.NET 的旧爱,以及的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
但从那时起,发生了很多变化,微软真正改变了游戏规则,将ASP.NET 从强制使用变成了即使是最顽固的时髦开发人员的可行选择。雇主也需要使用它来满足需求。
大约5 年前,当我第一次学习C# 时,我认为它是有史以来最好的编程语言。但我的兴奋并没有持续多久,很快我就发现他有很多缺点。我很早就开始学习ASP.NET Core,几乎是在它第一次公开发布的时候。当微软宣布将实现ASP.NET Core跨平台时,我对ASP.NET Core和C#的兴趣又被提起了。
因此,当时微软系统的问题不在于他们的技术、性能或大多数其他指标。问题是它仅限于Windows这个专有平台,你必须使用需要付费的微软专有技术,例如Windows Server和IIS来部署你的应用程序。这意味着您的服务的运行成本比大多数其他技术堆栈(甚至C# 最大的竞争对手Java)要高得多。即使这个成本对于每年产生大量收入的大型企业来说,与支付的开发人员工资相比也算不了什么。但对于早期初创公司或试图开发一些副业的开发人员来说,它仍然有点昂贵。
与微软的架构相关的另一个坏问题是他们的技术太旧了,并且有很多旧的、丑陋的和不一致的API,这使得整个架构看起来很臃肿。
随着新版本.NET Core、ASP.NET Core 和C# 的推出,微软真正改变了游戏规则。 C#已经是业界最常用的语言之一,但微软采取的随波逐流的做法确实保住了自己的地位,并帮助它得到了广泛的使用。如果你是新手,我先解释一下:NET Core 是微软几年前发布的一个新框架,它解决了之前的所有缺点。它是跨平台的、高性能的、优雅的,最重要的是,它是开源的。没有人想到微软会发布任何可以在Windows 以外的平台上运行的产品。没有人想到微软的整个开发平台可以运行在Linux或者苹果的Mac OS X上。
微软.net core开发体系
微软的架构有点复杂。可以参考虫虫之前的文章《微软.NET家族介绍》。您可以关注虫虫,或者搜索文章名称,轻松找到。以下是主要人物简介:
C# 语言
说到ECMA,我们跑题了。我们常说Javascript其实是一个约定俗成的名字,但是这个名字是有问题的。 JS的真实名称是ECMAScript(ECMA262)。早期,JS 仍归Netscape 所有。当时,为了利用Java语言的流行,它被称为Javascript。然而,这个名字被SUN注册为商标。不过,SUN仍然是一家非常正宗的公司,没有追究法律的责任,所以这个名字就延续了下来。直到Netscape 将其捐赠给ECMA 后,它才真正被称为ECMAScript,但这个名字很顺利,并且一直延续下去。但后来SUN被Oracle收购了,而Java、mysql和Javascript都是Oracle的商标,所以现在如果公司不注意在某些业务场合使用Javascript,就会出现版权纠纷。毕竟Oracle已经起诉Google数十亿美元,而且也有Javascript开发者收到了Oracle律师的来信,他们的应用程序使用了这个名字,所以作为一个附带话题,我想提醒大家。
.NET 框架
这是一个通用的应用程序开发框架。它可用于创建从桌面应用程序到移动应用程序再到Web 应用程序的所有内容。但它只能运行在微软的Windows平台上。
.NET.NET Core
这是跨平台.NET 的新版本,适用于大多数主要平台和其他非Microsoft Windows 平台。这应该是下一代.NET框架
ASP.NET Core
这是一个基于.NET Core 框架构建的Web 应用程序框架。这是之前的ASP.NET 的继承者。 ASP.NET仅支持在windows IIS下运行。
看完了主角的介绍,我们来深入了解一下微软基于.NET.NET Core的新技术体系。这些技术体系让我爱上了C#和.NET Core。
特性
从外面看,整个新的.NET Core生态系统可能看起来像一只披着喜羊羊外衣的灰狼,对于那些没有做过太多研究的人来说,很容易认为它只是旧版本的.NET Framework 。一个穿着新婚纱的老人的版本。但事实并非如此,微软一直在努力推动新的开源战略。微软声称.NET Core与其前身的区别在于微软添加的新功能。最大的特点是新技术体系是跨平台的。跨平台的实现并不像我们过去看到的其他一些语言那么简单,他们基于跨平台的思维重新构建了整个架构。这也使得可以使用最新的应用程序打包系统,例如容器和Docker。他们还开发了一些不错的工具,还允许您基于.NET Core 进行跨平台开发,这是微软以前从未做过的。
另一个主要功能是消除对IIS(微软自己的Web 服务器)的依赖。微软创建了一个新的无依赖嵌入式Web服务器Kestrel,它不仅没有任何依赖,而且允许开发人员将其嵌入到应用程序中,而无需安装额外的运行时环境,为部署创造了更大的灵活性。性别。然而,并不是所有.NET Core 都带来了。更多功能可以参考微软官方的Microsoft .NET Core Guide系列。
整体架构的注入血液不仅限于.NET Core,C#也不断更新,添加了许多有用的功能。值得一提的是,诸如元组、Async/await、本地函数等,让C#中的开发更加便捷高效。
性能
开始使用.NET Core 的另一个重要原因是性能改进。当谈到流行的通用编程语言之间的性能比较时,微软再次成为首选。性能在开发社区中是一个敏感的话题,因为系统和工具只有优化应用程序的性能才能帮助您实现这一目标,而将剩下的事情留给编码人员来处理。然而,开发系统可以做的是鼓励和强制执行性能最佳实践,并优化常见的使用上下文,以在更大范围内最大化性能,而这正是微软最擅长的。
C# 本身就是一种令人惊叹的语言,并且具有许多内置功能,可让您调整应用程序的性能,但.NET Core 团队不断努力优化大量内置API 以获得最佳性能。即使是早期版本的ASP.NET Core 在TechEmpower 基准测试中也表现出色。有许多公司利用.NET Core 中提供的性能优化来最大限度地提高效率的例子。 Microsoft 最近发布了最新版本的.NET Core 2.1,并带来了巨大的性能改进。自新框架发布以来,开发团队一直在推动性能优化。
多功能性
我再次拿起微软系统的最大原因是多功能性。因为它是开源的、跨平台的,所以我可以在不离开系统的情况下用一个技术栈构建几乎所有的东西,并进行全栈开发。您可以使用UWP 构建桌面应用程序、使用Xamarin(现已成为Microsoft 的一部分)开发跨平台移动应用程序、使用ASP.NET Core 进行Web 开发、使用SignalR 发布实时应用程序等等。我所有的工作都是通过正确的工作、完成正确的任务来完成的,这样我仍然可以在使用我最了解和最喜欢的语言、工具和API 的同时完成这一切。当然,如果所有这些都是免费的那就最好了。
工具
我想说工具是.NET 生态系统目前所做的最好的事情之一。您有多种方法可以在多个平台上进行开发。如果您喜欢使用IDE,那么Microsoft 的主要IDE Visual Studio 是首屈一指的。对于那些更喜欢对其工具有更多控制并且不需要IDE 提供的工具的人来说,Microsoft 的开源Visual Studio Code 是他们的代码编辑器和命令行工具,可让您构建、测试和开发应用程序,是一个完整的IDE。 VS Code还拥有大量的第三方扩展,可以帮助你更好的开发,提高你的开发体验。
微软还撤回了Visual Studio for Mac,它与Windows 版本不同,但它是一个完整的软件包,可以让你在Mac OS 上的微软新开发系统下进行开发。如果您使用的是Linux,或者只是想要一个非Microsoft 产品的IDE,您可以选择Jetbrains 的产品。他们发布了一个名为Rider 的IDE,非常棒,是我在Mac 上的主要开发工具。
Rider 支持三大平台:Windows、Linux 和Mac OS。 Microsoft 的Intellisense 自动完成系统是我在所有主要开发堆栈上找到的最佳解决方案,并且通过添加Jetbrains ReSharper 等工具,没有比这更高效的开发平台了。我的主要开发机器是MacBook,我非常喜欢Jetbrains Rider 或VSCode 的工作流程。
微软长期以来在开发工具上投入了时间和工程,这意味着他们拥有稳定的开发系统、经验丰富、知识渊博的工程团队以及多年积累的信任。新的.NET Core开辟了更大的市场,并展示了大公司可以做什么以及他们可以多快地转型。现任首席执行官萨提亚·纳德拉(Satya Nadella) 上任后,开始推动公司的工程和开发部门做出所有这些重大变革,凭借他的工程背景,到目前为止,改革似乎取得了成功。 C# 和.NET Core 可能是微软长期以来在开发方面做得最好的东西,当然还有Typescript,系统外最流行的JS 替代品之一。伟大的程序员Anders Helsberg 也发明了一些有用的东西(Delphi、net、J++、C#、F#)。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/146496.html
用户评论
爱情的过失
以前我对C#都是有点敷衍的态度,学到就能用,从来没有认真钻研过。看了这篇文章,被微软的新技术和方向深深吸引了,感觉自己之前真的错过了好多好东西!
有15位网友表示赞同!
白恍
现在越来越多的主流框架都基于.NET Core,C#也逐渐成为一种跨平台的语言。微软确实在不断地发展和更新这个生态系统,我也一直在尝试学习新技术,这篇文章让我更加坚定走这条路线!
有18位网友表示赞同!
醉婉笙歌
不得不承认,这篇博文写的真不错,能把我之前对C#和.NET的一些刻板印象颠覆了,现在我对它们很有期待!希望微软未来还能不断推出更多优秀的工具和技术。
有9位网友表示赞同!
空巷
我一直觉得C#有点过于成熟,缺乏一些新兴技术的创新性。但看完这篇文章,我开始感受到微软在为传统技术注入新活力,特别是针对人工智能和云计算领域的应用,我觉得确实很有潜力!
有13位网友表示赞同!
安陌醉生
我对.NET一直保持着不错的兴趣,但最近几年感觉没啥更新了。看了这篇文章后我才明白,原来微软都在默默地布局和发展,这篇文章简直是我的救命稻草啊!终于有人跟我说我还没落伍!
有6位网友表示赞同!
怅惘
作为一名资深开发者,我觉得这篇博文对于我们来说有些过于泛化,缺乏具体的案例和技术分析。我希望作者能提供更深入的解读,让我们能够更好地理解微软在C#和.NET方面的策略和规划。
有10位网友表示赞同!
执笔画眉
感觉这篇文章有点营销味儿,过度美化了C#和.NET的技术优势,没看到太多实际应用场景。我希望作者能够更多地展示具体的项目案例,以及这些技术如何帮助企业解决实际问题。
有9位网友表示赞同!
颜洛殇
我倒是挺喜欢微软的这款IDE的,开发体验很流畅。文章提到的一些新功能看起来也很不错,不过我还是想问下目前这些更新的功能是否在主流项目中应用比较普遍?
有13位网友表示赞同!
無極卍盜
虽然C#确实是一个很棒的语言,但我个人更倾向于使用Go或者Python。原因是他们的语法更加简洁友好,学习成本相对更低一些。
有19位网友表示赞同!
妄灸
这篇文章让我突然想起我曾经写过一段用C#/ASP.NET的代码,当时感觉自己简直是个天才! 哈哈,这段代码到现在都被遗忘在硬盘角落里了….
有11位网友表示赞同!
三年约
总体的来说这篇文章还是比较好的,介绍了微软对C#和.NET生态系统的最新发展方向。希望微软能够继续保持这种创新步伐,为开发者带来更多优秀的工具和技术!
有13位网友表示赞同!
不忘初心
虽然微软一直都支持C# 和 .NET,但我更关心的是这些技术的未来发展趋势是怎样的?比如针对Web3.0和元宇宙的应用?这篇文章似乎并没有涉及到这些方面,希望作者能够关注这些新兴领域。
有8位网友表示赞同!
軨倾词
看完这篇博文,我突然感觉自己很落后了。C# 和 .NET 的技术更新速度实在太快了!看来我得赶紧补习一下知识啦!
有14位网友表示赞同!
在哪跌倒こ就在哪躺下
微软一直都是技术巨头,他们在人工智能领域的表现也是非常厉害的。这篇文章让我对C#和.NET在AI领域的应用更加期待!希望未来能看到更多惊艳作品。
有18位网友表示赞同!
服从
作为一名UI/UX设计师,我比较关注前端开发技术。虽然 .NET 主要集中在后端开发,但微软也在不断完善其前端框架生态系统。我希望看到更多跨平台、跨语言的开发工具和解决方案。
有6位网友表示赞同!
聽風
对于老旧的技术,我觉得有些开发者选择继续学习也无可厚非,但这篇文章给我的感觉就是一种强迫感,好像大家都需要学C# 和.NET ,这种观点不太中肯。
有15位网友表示赞同!