关于.NET的未来(.NET 5):开发者应该知道什么

不久前,微软在Build 2019大会上宣布了新的.NET 5(.NET的未来)。 .NET 5将是用于构建在所有平台(Windows,Linux)和设备(IoT,Mobile)上运行的应用程序的单一统一平台。

如果您是.NET开发人员,目前支持在.NET框架中开发的企业应用程序,那么从长远来看,您需要了解.NET 5将如何影响您当前的企业应用程序。 .Net 5基于.Net标准,这意味着并非每个.Net框架功能都可以在.Net5中使用。此外,还有一些技术堆栈,如Web表单,WCF和WWF没有移植到.Net 5.我们将看看 关于.Net 5未涵盖的内容的细节以及有哪些替代方案。

技术堆栈没有进入.NET 5

ASP.NET Web窗体

ASP.NET Web Forms不会出现在.NET 5中,微软目前正在推荐向Blazor迁移,这是一个最近被提升为官方的实验性项目。如果你擅长JavaScript,其他选择是Angular,React和Vue SPA框架。

如果您当前正在使用ASP.NET MVC作为完整堆栈Web应用程序,则可以使用ASP.NET Core MVC或.NET Core 2.0中引入的新Razor页面继续使用相同的堆栈,这可能与ASP类似。 NET Web表单,用于快速构建没有视图和控制器的Web表单应用程序。 但是,如果您正在为企业开发现代Web应用程序,最好考虑单页应用程序,如Blazor,Angular或React,而不是传统的Web应用程序,以提供丰富的客户端功能。

WCF(Windows Communication Foundation)

WCF将要错过.NET 5列车的消息让很多人感到惊讶,包括我在内。关于将WCF带回.NET Core的GitHub已经有很多讨论,但微软决定不这样做,因为他们最初估计将WCF移植到.NET Core是三年。(来源:DotNetRocks播客)

Microsoft建议使用gRPC作为替代方案,它是一种可在任何环境中运行的现代化,开源,高性能的RPC框架。但是,与WCF不同,gRPC目前无法在IIS中托管,因为Http.Sys的HTTP / 2实现不支持gRPC依赖的HTTP响应尾随标头

WWF(Windows Workflow Foundation)

Workflow Foundation没有移植到.NET Core中。每个企业应用程序都将具有一些与其集成的工作流程或BPM工具。如果您在应用程序中使用了WWF,Microsoft建议您查看WF运行时的非官方分支以移植到.NET Core中。

即将到来的技术堆栈5

Winforms,WPF和UWP

微软正在推出Windows桌面包(winforms,WPF和UWP),以支持仅适用于Windows的桌面应用程序。 我不希望任何人使用winforms进行任何新的开发,但是,这将有助于将传统的

winforms应用程序移植到.NET5.这并不意味着.NET Core的架构正在发生变化。它仍然是一个跨平台的框架,但是当您添加桌面包时,它的目标是仅在Windows上工作。 但是,将现有Windows桌面应用程序移植到.NETCore中可以提供Core Runtime和API性能改进以及部署灵活性的额外好处。

什么被取代了

EF核心 - 实体框架核心正在取代.NET核心框架中的EF 6。

ASP.NET核心 - ASP.NET被ASP.NET核心取代。 查看迁移指南,将ASP.NET应用程序移植到ASP.NETCore中。

ASP.NET Core MVC - ASP.NET Core MVC统一ASP.NET MVC和Web API。查看迁移指南,将asp.net mvc app移植到ASP.NETMVC中。

MSIX - Microsoft的新打包工具,它取代了桌面应用程序的旧MSI包安装程序。

JsonDocument - 来自System.Text.Json.JsonDocument API的新Json Document库将取代json.net。它比旧的json.net快2-3倍。

其他重要事项要突出

最新版本的C#8.0引入了许多新的语言功能,包括Async Stream,Ranges,Nullable Reference Types和Pattern Matching。但是,它们将仅在.NET Core 3.0及更高版本上可用,这意味着它不会进入旧版.NET Framework或.NET Core 2.2,2.1或1.0。它清楚地表明.NET已经死了,.NET Core就是未来。

如果您计划将.NET应用程序移植到.NETCore中,则必须分析项目中使用的API以查看兼容的内容。 .NET Portability Analyzer是一个有助于分析和确定应用程序在.NET平台上的灵活性的工具。

作为.NET开发人员,我对.NET的未来及其发展方向感到兴奋。我不再需要为SPA框架学习JavaScript,因为Blazor会这样做。 我不再需要学习Python用于机器学习,因为ML.NET会这样做。我不再需要学习Android或Swift,因为Xamarin会这样做。 如果您了解C#,那么现在您可以开发一个可以从IoT到Cloud运行的应用程序。 但是,这种变化将影响许多拥有基于WCF和Web窗体的产品/框架的企业客户。

原文.技术栈

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

推荐阅读更多精彩内容