.NET 5 - 下一代ASP.NET 下一代internet ip
yuyutoo 2024-10-18 12:08 1 浏览 0 评论
不知不觉中微软已经计划推出了下一代的ASP了,我们先来看一下新的ASP有包含什么What's new in .NET 5?
.NET 5将会引入新的APIs,运行时功能和新的语言特色。
- 在运行时体验中将有更多的选择性。
- 所有平台将提供Java 互操作性。
- 将会在多个操作系统提供支持 Objective-C 和 Swift 互操作性。
- CoreFX 将扩展为支持 .NET 的静态编译(ahead-of-time – AOT),更小的空间占用和对更多操作系统的支持。
.NET 5 = .NET Core vNext
首先需要明确的是,.NET 5是下一代的Core,即使它不再使用Core命名,接着我们已经熟悉的Core里面的内容是保留的,因为.NET 5是Core的延续,按照微软的计划,.NET 5是在2020年的10月份才有release版本出来,所以接下来我们看到的版本还是ASP.NET Core 3.x 系列
为啥不继续用Core命名呢?从发展轨迹来看,Core的出现是因为微软希望从本质上区分Framework, 这也确实从底层到使用都进行了非常大的更改,这次微软希望清楚地传达, .NET 5 是 .NET 平台的未来,将其称为 .NET 5 是要让它成为微软发布过的最高版本。
Improving
每一次的更新换代,肯定是基于易用性和性能上的提升,我们来看一下微软官方的一个基于.NET 5的改进:
- 改进体验,在任何地方都可以使用 .NET 运行时和框架,并具有统一的运行时行为
- 充分利用 .NET Core、.NET Framework、Xamarin 和 Mono 来扩展 .NET 的功能。
运行时体验
Mono 是 .NET 跨平台实现的基石,它最初是以开源为目的来替代 .NET Framework 的,Mono 是用作 Xamarin 一部分的运行时。
CoreCLR 是作为 .NET Core 一部分的运行时。它主要用于支持云应用程序,包括 Microsoft 的最大服务,现在也用于 Windows 桌面,物联网和机器学习应用程序。
总而言之,.NET Core 和 Mono 运行时有许多相似之处(毕竟它们都是 .NET 运行时),但也有宝贵的独特功能。让选择所需的运行时体验成为可能是非常有意义的。我们正在使 CoreCLR 和 Mono 可以互相替换。我们将使它像构建开关一样简单,以便在不同的运行时选项之间进行选择。
高吞吐量和高生产率
最开始.NET 就依赖于JIT(即时编译器)将IL(中间语言)代码转换为机器代码,从那时微软就构建了业界领先的基于 JIT 的托管运行时。该运行时具有非常高的吞吐量,并且提升了开发体验,使编程变得快速而简单,这也是为什么这么多人口中微软的低门槛:)
大多数 .NET 5 的默认体验将使用基于 JIT 的 CoreCLR 运行时。两个值得注意的例外是 iOS 和客户端 Blazor(web assembly),因为它们都需要 ahead-of-time (AOT) 原生编译。
更快的启动,更低的内存占用率
Mono 项目的集中了大部分精力在移动和游戏机上。该项目的一个关键功能是基于业界领先的 LLVM 编译器项目的 .NET AOT 编译器。AOT 编译的应用可以在较小的位置高效运行, 并在需要时交换吞吐量以进行启动。
Blazor 项目已经在使用 Mono AOT,这将是最早过渡到 .NET 5 的项目之一。
有两种类型的 AOT 解决方案:
- 需要 100% AOT 编译的解决方案。
- 大多数代码是 AOT 编译的解决方案, 但 JIT 或解释器可用于与 AOT 不友好的代码模式。
.NET Native 是微软用于 Windows UWP 应用程序的 AOT 编译器, 也就是上面的第一种 AOT 类型。随着第一种方案的实现, 微软限制了 .NET API 和可以使用的功能,从这一经验中了解到, AOT 解决方案需要覆盖 .NET API 和模式的所有方面。
原则和交叉体验
基于startup,吞吐量,内存占用, 可靠性和诊断性作为平台的整体风格是非常重要的,这也是微软专注的努力方向。在专注于吞吐和可靠性的同时,也更专注于startup 和 Mono AOT编译器的大小控制,这是很好的匹对,例如吞吐和可靠性,startup 和 大小控制。
微软将会持续在各种场景对.NET 5进行优化,特别是在具有多种交叉场景的情况下进行重点优化。
所有的 .NET 5应用将会使用CoreFX框架,微软将会确保在如今不经常使用的地方保证.NET 5的正常工作,这主要集中在Xamarin 和 客户端 Blazor的工作场景。还有.NET 5的应用在.NET CLI都是可构建的,只需确保在项目中有基于命令行的基础编译工具即可。
C#语言将会保持跟.NET 5的同步,开发者在后续开发.NET 5应用是将可使用最新版本的C#以及对应的特性。
Birth of the project
微软于 2018 年 12 月在波士顿碰头后组建了技术团队并开始了这个项目。来自 .NET 团队(Mono/Xamarin和.NET Core)以及 Unity 的设计领导者介绍了各种技术和架构方向。
.NET 5这个项目目前是作为单个团队推进,并以提供一套可交付成果为导向。自 12 月以来,在以下一些项目上取得了较多的进展:
- 定义一个极小的分层用来定义运行时 <-> 托管代码层,目标是实现 >99% 的 CoreFX 公共代码。
- MonoVM 可以使用 CoreFX 及其类库。
- 在 MonoVM 上使用CoreFX的实现运行所有 CoreFX 测试。
- 在 MonoVM 上运行 ASP.NET Core 3.0 应用程序。
- 在 CoreCLR 上运行 MonoDevelop,然后运行 Visual Studio for Mac。
迁移到单个.NET的实现会引发一些问题: 目标框架将是什么? NuGet包兼容性规则是否相同? .NET 5 SDK 应该支持哪些工作负载?特定框架的编码将如何工作?我们还需要 .NET Standard吗?
好吧,让巨人先走,我们慢慢爬上去吧:)
Ending
.NET 5 是令人兴奋的新方向。微软这次的.NET更新换代,旨在让所有的人看到, .NET 将变得更简单,且具有更广泛功能和实用性。所有新的开发和功能都将成为 .NET 5 的一部分,包括新的 C# 版本,在使用相同的 .NET API 和语言来针对各种应用程序类型、操作系统和芯片架构将会使微软的发展有着更光明的未来,它可以使我们在 Visual Studio ,Visual Studio for Mac,Visual Studio Code,Azure DevOps 或命令行中轻松更改构建配置用于构建不同的应用程序。
来源:http://www.cnblogs.com/lex-wu/p/10870052.html
相关推荐
- MySQL5.5+配置主从同步并结合ThinkPHP5设置分布式数据库
-
前言:本文章是在同处局域网内的两台windows电脑,且MySQL是5.5以上版本下进行的一主多从同步配置,并且使用的是集成环境工具PHPStudy为例。最后就是ThinkPHP5的分布式的连接,读写...
- thinkphp5多语言怎么切换(thinkphp5.1视频教程)
-
thinkphp5多语言进行切换的步骤:第一步,在配置文件中开启多语言配置。第二步,创建多语言目录。相关推荐:《ThinkPHP教程》第三步,编写语言包。视图代码:控制器代码:效果如下:以上就是thi...
- 基于 ThinkPHP5 + Bootstrap 的后台开发框架 FastAdmin
-
FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架。主要特性基于Auth验证的权限管理系统支持无限级父子级权限继承,父级的管理员可任意增删改子级管理员及权限设置支持单...
- Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示
-
本文实例讲述了Thinkphp5.0框架实现控制器向视图view赋值及视图view取值操作。分享给大家供大家参考,具体如下:Thinkphp5.0控制器向视图view的赋值方式一(使用fetch()方...
- thinkphp5实现简单评论回复功能(php评论回复功能源码下载)
-
由于之前写评论回复都是使用第三方插件:畅言所以也就没什么动手,现在证号在开发一个小的项目,所以就自己动手写评论回复,没写过还真不知道评论回复功能听着简单,但仔细研究起来却无法自拔,由于用户量少,所以...
- ThinkPHP框架——实现定时任务,定时更新、清理数据
-
大家好,我是小蜗牛,今天给大家分享一下,如何用ThinkPHP5.1.*版本实现定时任务,例如凌晨12点更新数据、每隔10秒检测过期会员、每隔几分钟发送请求保证ip的活性等本次分享,主要用到一个名为E...
- BeyongCms系统基于ThinkPHP5.1框架的轻量级内容管理系统
-
BeyongCms内容管理系统(简称BeyongCms)BeyongCms系统基于ThinkPHP5.1框架的轻量级内容管理系统,适用于企业Cms,个人站长等,针对移动App、小程序优化;提供完善简...
- YimaoAdminv3企业建站系统,使用 thinkphp5.1.27 + mysql 开发
-
介绍YimaoAdminv3.0.0企业建站系统,使用thinkphp5.1.27+mysql开发。php要求5.6以上版本,推荐使用5.6,7.0,7.1,扩展(curl,...
- ThinkAdmin-V5开发笔记(thinkpad做开发)
-
前言为了快速开发一款小程序管理后台,在众多的php开源后台中,最终选择了基于thinkphp5的,轻量级的thinkadmin系统,进行二次开发。该系统支持php7。文档地址ThinkAdmin-V5...
- thinkphp5.0.9预处理导致的sql注入复现与详细分析
-
复现先搭建thinkphp5.0.9环境...
- thinkphp5出现500错误怎么办(thinkphp页面错误)
-
thinkphp5出现500错误,如下图所示:相关推荐:《ThinkPHP教程》require():open_basedirrestrictionineffect.File(/home/ww...
- Thinkphp5.0极速搭建restful风格接口层
-
下面是基于ThinkPHPV5.0RC4框架,以restful风格完成的新闻查询(get)、新闻增加(post)、新闻修改(put)、新闻删除(delete)等server接口层。1、下载Thin...
- 基于ThinkPHP5.1.34 LTS开发的快速开发框架DolphinPHP
-
DophinPHP(海豚PHP)是一个基于ThinkPHP5.1.34LTS开发的一套开源PHP快速开发框架,DophinPHP秉承极简、极速、极致的开发理念,为开发集成了基于数据-角色的权限管理机...
- ThinkPHP5.*远程代码执行高危漏洞手工与升级修复解决方法
-
漏洞描述由于ThinkPHP5框架对控制器名没有进行足够的安全检测,导致在没有开启强制路由的情况下,黑客构造特定的请求,可直接GetWebShell。漏洞评级严重影响版本ThinkPHP5.0系列...
- Thinkphp5代码执行学习(thinkphp 教程)
-
Thinkphp5代码执行学习缓存类RCE版本5.0.0<=ThinkPHP5<=5.0.10Tp框架搭建环境搭建测试payload...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- MySQL5.5+配置主从同步并结合ThinkPHP5设置分布式数据库
- thinkphp5多语言怎么切换(thinkphp5.1视频教程)
- 基于 ThinkPHP5 + Bootstrap 的后台开发框架 FastAdmin
- Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示
- thinkphp5实现简单评论回复功能(php评论回复功能源码下载)
- ThinkPHP框架——实现定时任务,定时更新、清理数据
- BeyongCms系统基于ThinkPHP5.1框架的轻量级内容管理系统
- YimaoAdminv3企业建站系统,使用 thinkphp5.1.27 + mysql 开发
- ThinkAdmin-V5开发笔记(thinkpad做开发)
- thinkphp5.0.9预处理导致的sql注入复现与详细分析
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)