除了跨平台,.Net Core比传统.Net的优势还有哪些?

  • 来源:本站
  • 2020-03-07
  • 浏览:1982

        跨平台,是目前国内众多中小型软件企业跨不过的砍,一是因为正版系统高昂的授权费,低成本的linux必然真香;二是现在国家大力提倡自主知识产权,嗯?开源的操作系统上,必然运行的是用开源的工具开发的软件,开源工具开发的软件必然是我的自主产权嘛,哈哈,扯远了!


        那么,抛开跨平台这个羁绊,还有哪些因素值得从传统.net升级到core吗?确定以及肯定有!


1 跨体系结构保持一致

        跨平台容易理解,即编写一份代码可运行于多种操作系统(max,linux),跨体系结构简单理解就是同一份代码可以运行于多种硬件设备:X86、ARM等。下图中.net5为.net core的下一版本。

dotnet5_platform.png


2 更高的性能

        与.NET Framework和.NET Core 2.2及以前的版本相比,.NET Core 3.0的速度很快。.NET Core比其他服务器端框架(如Java Servlet和Node.js)快得多。

        根据TechEmpowers发布的一份报告,.NET Core比任何其他框架都要快得多。 TechEmpower基准测试通过对多个Web应用程序框架做如下比较:数据库的单表查询,多表查询,文件访问,数据更新,明文和JSON序列化等任务进行比较。

4624570-2259ddd48bb1087c.jpg


官方的性能测试博文,有兴趣可以访问:https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-core-3-0



3 更优秀的依赖注入框架设计

1)首先在Asp.net core中是支持依赖注入软件设计模式,或者说依赖注入是asp.net core的核心;

2)依赖注入(DI)和控制反转(IOC)基本是一个意思,因为说起来谁都离不开谁;或者可以说他们是同一个概念的不同角度描述;

3)软件设计原则中有一个依赖倒置原则(DIP),就是为了解耦;高层模块不应该依赖于底层模块。二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象;而依赖注入是实现这种原则的方式之一;



4 原生支持Docker

        企业通过使用容器,日益实现成本节约、解决部署问题并改进 DevOps 和生产操作。 通过创建 Azure Kubernetes 服务、Azure Service Fabric 等产品,同时与 Docker、Mesosphere 和 Kubernetes 等行业领先者合作,Microsoft 一直在推出适用于 Windows 和 Linux 的容器创新。 这些产品提供容器解决方案,可帮助公司以云的速度和规模生成并部署应用程序,而无需考虑其选用的平台或工具。

        Docker 正在逐渐成为容器行业的事实标准,受到 Windows 和 Linux 生态系统领域最重要供应商的支持。 (Microsoft 是支持 Docker 的主要云供应商之一。)将来,Docker 可能会在云端或本地的任何数据中心普及。

        此外,microservices(微服务)体系结构兴起,成为分布式任务关键型应用程序的重要方法。 在基于微服务的体系结构中,应用程序在可独立开发、测试、部署和版本控制的一系列服务上生成。

https://docs.microsoft.com/zh-cn/dotnet/architecture/microservices/


5 真·免费

        “Java其实不是全开源的,也不是免费的。”这句话是真的?千真万确!官方的jdk真不是开源免费的,不过他的很多衍生版本是免费的。回到.Net Core,他使用的是MIT和Apache2协议,是完全开源与免费的。






最新评论