微软是如何让我再次爱上.Net Core和C#的

以下是我翻译的一篇国外博客,原文链接在文章末尾....

............................................................................................................................................

“为什么你还想用ASP.NET,难道你还活在90年代吗?”这正是我的一位老同事在几年前我们即将开始的项目中我提出考虑使用ASP.NET时所说的话。当时我很大程度上认同他的看法,微软已经开发了伟大的开发语言,伟大的web框架以及围绕它的伟大的工具,但是人们依然不太满意。我们最终 没有使用ASP.NET的原因是其语言和框架的封闭性。使用ASP.NET意味着我们需要为我们的服务器支付windows服务许可证,或者为了让我们的应用程序能够部署在Linux上,就必须去填像Mono这样无数的“坑”。但是从那以后很多事情发生了变化,微软真的加快了游戏的的步伐,把ASP.NET从被迫使用的东西(因为你的雇主在使用它)变成了最“时髦”的开发者都想要用的东西。

五年前当我第一次学习C#时,我认为它是有史以来最好的编程语言,但我当时的兴奋之情并没有持续多久,因为我开始发现他们的产品有太多的缺点。当ASP.NET CORE第一次公开发布的时候我就开始使用了。而当微软宣布它是跨平台的时候,我对ASP.NET CORE和C#的兴趣再次增长。可以看出,对于开发人员来说,微软当时的问题并不是因为技术能力,性能或者其他一些指标,问题是它非常封闭,你不得不专门为微软技术付费像Windows server 和IIS去部署你的应用程序,这意味着它运行服务要比其他技术栈高很多,甚至Java-C#最大的竞争对手。尽管这点支出对于一个大企业相比于每年的收入根本不算什么,但对于一个初创企业或一个想要开发自己程序的程序员来说是非常重要的。另一个微软糟糕的地方是,他们的技术太陈旧,而且有很多旧的,废弃的和不一致的API,让整个体系看起来臃肿不堪。

根据微软对于.NET Core,ASP.NET Core以及新版本的C#的介绍,微软真的改变了游戏规则。C#已经是行业中的顶级语言之一,但是微软的这个新方向确实决定了它的地位,帮助其被大量采用。假如你对.NET完全不知,.NET CORE是微软几年前发布的新框架,它修复了之前所有的缺点。它跨平台,高性能,精益,而且最重要的是还开源。以前没有人想过微软能发布在windows之外的平台上运行的东西,更别提让整个开发平台运行在Linux和Apple OS上了。

微软使用的组件术语可能有点令人困惑,所以让我先简单地解释一下:

C#:

这是微软开发的通用编程语言的名称,是被ECMA批准的,最新的版本是7.0,但是你可以在微软的官方网站C#模块找到所有历史版本。

.NET FrameWork:

这是一个通用的应用程序框架,主要使用C#编写,它可以用于创建任何东西,从桌面应用程序到移动应用程序到web应用程序,但它只支持微软的Windows和Windows Mobile平台。

.NET Core Framework

这是.NET的新版本,它是跨平台的,可以在大对数主流平台上使用,尽管这是下一代的.NET框架,微软仍然保留着旧的框架。

.NET Standard

这是通用核心API名称,是微软提供通过.net framework和.NET CORE统一食物,使库在不同的.NET系统中互相兼容。

ASP.NET Core

这是一个构建在.NET核心框架之上的web应用程序框架,是ASP的继承者。

回归正题,让我们看看让我喜欢.NET CORE和C#的新技术:

性能

另一个使用.NET CORE的重大原因是其性能的提升,当谈到流行的通用编程语言的性能时,微软再次处于领先地位。在开发社区中,性能是一个敏感的话题,因为技术栈和工具只能在应用程序获得性能优化,其余的都交给开发人员来实现。但是开发栈能够做的是鼓励并强执行的实施最好的性能实践,并且优化常见的使用场景,以便在更大范围内实现性能最优化,这正是微软在做的。


C#本身就是一门令人惊叹的语言,它拥有许多内置的特性可以让您更好的调整应用程序的性能,但是.NET CORE团队一直在努力优化在API中构建的大量特性,以获得最佳性能。即使是ASP.NET CORE的早期版本,它的性能在echEmpower Benchmarks也有了很高的评价。有很多公司利用.NET Core优化了其性能,比如Raygun,它实现了效率的最大化。微软最近发布了最新的有巨大性能改进的.NET CORE 2.1.自从新框架发布以来,开发团队一直在推动性能优化的更新。

多功能性

我再次选择微软的最大原因是其多功能性,现在它是开源并且跨平台的,我几乎可以用一个技术栈构建所有东西。你可以用UWP构建桌面应用程序,用Xamarin(现在是微软的一部分)构建移动应用程序,用ASP.NET CORE构建web应用程序,用SignalR构建实时应用程序等等。奇怪,如果你是一个游戏开发者,你可以用unity,尽管这不是微软的。我的遵旨是用对的工具做对的事,通过这种方式,我仍然可以使用我最熟悉并且热爱的语言,工具和API。最棒的是这一切都是免费的。

工具  

我从来没有想过我会这么说,因为在早期的版本中有bug,但是目前工具是.net生态系统最好的东西之一.您可以在多个平台中进行多种方式的开发。如果您喜欢使用IDE,那么Microsoft的主要IDE Visual Studio是首屈一指的。对于那些喜欢对他们的工具进行更多控制,并且不需要IDE提供的帮助的人来说,有Visual Studio Code,这是他们的代码编辑器和命令行工具,允许您构建、测试和开发应用程序,而不需要IDE上的大量代码。VS Code也有大量的第三方扩展,可以帮助您有更好的开发体验。

Mac上也有Visual Studio,它与Windows版本不同,但仍然是一个完整的软件包,允许您在Mac OS上开发微软的新栈。如果你在Linux上,或者只是想要一个不同于微软提供的IDE ,Jetbrains(Android Studio背后的公司)已经发布了一个名为Rider的IDE,它很棒,是我在Mac上开发的主要工具。Rider在三大主流平台都是可用的,微软的Intellisense自动完成系统是我在任何主要的开发栈中发现的最好的,加上Jetbrains ReSharper ,没有比这更高效的了。我的主要开发机器是一台MacBook,我喜欢用Jetbrains Rider或VSCode工作。

                                                                     Visual Studio For Mac

长期以来,微软一直在他们的团队中投入时间和技术努力,这意味着他们拥有稳定的开发团队、经验丰富、知识丰富的工程团队以及多年积累的信任。新的.NET CORE打开了一个更大的市场,同时展示了一个大公司能做什么并且实现快速的转型。在现任首席执行官萨蒂亚•纳德拉(Satya Nadella)获得任命后,他开始推动公司的技术和开发工作,导致了所有这些重大变化,这是有道理的,因为他也是技术出身。c#和.net Core可能是微软长期以来在开发领域所发生的最好的事情,我很高兴他们正在做他们应该做的事情。

原文链接:https://kaushalsubedi.com/blog/2018/04/24/how-microsoft-made-me-love-net-core-and-c-again/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容

  • "为什么你会想要使用ASP.NET,还活90年代?",几年前,当我提出考虑要在一个项目中使用ASP.NET时候,我...
    虫虫搜奇ccsearchit阅读 750评论 2 3
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    X先生_未知数的X阅读 15,961评论 3 119
  • 女儿在三亚买了房子,便叫公婆、我和妹妹们去享受三亚温暖的气候和清新的空气,去体验南国热带风情,观赏热带树木和花草,...
    零星往事阅读 521评论 0 0
  • 与那人说清楚了,也结束了近一个月的微信联系,立刻删除。 我讨厌这样的人际关系,也不喜欢家里人给介绍对象,以后我大概...
    奕明空间888阅读 158评论 0 1
  • 三月份的时候存钱和朋友们去了趟北京,这算是我第一次独自出省旅游。我们三个,从延安,济南,潍坊三个城市去了北京。到北...
    段晓冉y阅读 365评论 0 0