.Net Core 会逆袭成为最受欢迎开发平台吗?

本文由葡萄城技术团队于博客园原创并首发css

转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前端

.Net Core 是什么?

最新.Net Core 热词霸占了各个技术热搜,看来微软近年来发布的 .Net Core 仍是成功了引发了你们的热烈讨论。若是您对微软熟悉,确定是很了解.Net 平台,可是随着互联网的兴起,好像微软这个霸主的地位有所撼动。正则表达式

 

.NET Core 是.NET Framework的新一代版本,是微软开发的第一个跨平台 (WindowsMac OSXLinux) 的应用程序开发框架(Application Framework),将来也将会支持 FreeBSD 与 Alpine 平台。.Net Core也是微软在一开始发展时就开源的软件平台[1],因为 .NET Core 的开发目标是跨平台的所以 .NET Core 会包含 .NET Framework 的类别库,但与 .NET Framework 不一样的是 .NET Core 采用包化 (Packages) 的管理方式,应用程序只须要获取须要的组件便可,与 .NET Framework 大包式安装的做法大相径庭,同时各包亦有独立的版本线 (Version line),再也不硬性要求应用程序跟随主线版本。后端

 

 

 

重点来啦:服务器

  • 跨平台:可在 Windows、macOS 和 Linux 操做系统上运行app

  • 跨体系结构保持一致:在多个体系结构(包括 x6四、x86 和 ARM)上以相同的行为运行代码框架

  • 命令行工具:包括可用于本地开发和持续集成方案中的易于使用的命令行工具。编辑器

  • 部署灵活:能够包含在应用或已安装的并行(用户或系统范围安装)中。 可搭配 Docker 容器使用ide

  • 兼容性: .NET Core 经过 .NET Standard 与 .NET Framework、Xamarin 和 Mono 兼容工具

  • 开放源代码: .NET Core 平台是开放源代码,使用 MIT 和 Apache 2 许可证。 .NET Core 是一个 .NET Foundation 项目

  • 强劲性能:超强的后台性能,超出.Net Framework

  • 支持命令行执行全部操做

 

.Net Core 当前的现状是什么

目前能够看到不少传统行业的信息系统也在逐渐升级平台,并且不少大的互联网公司也已经使用,毕竟一次开发便可实现跨平台的部署及应用,也是减小成本的重要体现。

 

能够肯定.Net Core 是将来的发展趋势。 .Net FrameWork也会延续使用,毕竟短时间内迁移一些大型项目是颇有难度的,并且也不太可能。.Net Core 和.Net FrameWork 的关系就如同是新能源汽车和传统稳定的油耗汽车。油耗汽车已经经历了多年的发展,技术很是成熟稳定,能够放心自由的使用。而新能源汽车是一个新兴的技术,也是将来将要取待传统技术的将来发展方向,因此使用.Net Core 开发项目必须越早越好。

 

.Net Core 与. Net FrameWork 对比:

.NET Core

.NET Framework

跨平台 (OS platform): 支持Windows, Linux, 及 macOS

仅支持在 Windows运行

安装过程是独立,端对端,能够在同一计算器中为应用程序指定独立的.Net Core 版本。

一台计算机上的全部应用程序都在同一.NET Framework版本上运行

高性能:在集合,数学,正则表达式,字符串,文件等方面都有提高。.

高兼容性

开源: 基于.NET平台既能够根据 MIT或 Apache 2 受权

与最普遍的NuGet软件包,第三方库和内部库兼容

v2.0 实现了.NET Standard 2.0¹

v4.6.1+ 以上版本支持s .NET Standard 2.0

 

使用.Net Core 优点:

1. 支持在任何平台部署,跨平台几乎没有任何成本

2. 庞大的.Net 标准库支持

3. 面向高性能的服务器开发,基于 微软 Azure云的平台优点,已提供高性能的服务。

4. 高性能和可移植性

5. 兼容多平台

 

 

 

如何平滑的迁移项目至.Net Core 平台

不少原有的项目是基于.Net FrameWork 开发的,多是 Windows. WPF, ASP.NET MVC,那自己的局限是只能在Windows系统部署外,还涉及到一些核心功能的实现。传统框架的种种不足,须要大的突破和改变。这意味着打破变化,但结果是值得期待的。

 

 

迁移原有项目到新的.Net Core 平台意味着你能够保留旧项目的全部核心业务功能,不须要重构整个项目,从0开始开发。如下是咱们根据经验给出了几类的应用的迁移难度。

 

项目类型

迁移难易程度

Web 应用: ASP.NET MVC

简单

WebForm 应用

不建议迁移,由于.Net Core 支持 WebForm

Windows 应用 (Universal Framework)

不须要迁移

Windows 应用(基于Sliverlight)

简单

WPF 及WinForms 桌面应用

复杂

控制台应用

简单

 

1. 迁移仍是重构

若是针对前端项目,迁移是最佳选择,毕竟前端代码都可复用,惟一要改动的就是后端代码。尽管.Net Core 和.Net Frame Work 项目都是基于C# 语言作开发的,然而二者是不一样的运行机制。因此若是是后端很重的项目,仍是建议重写,这样也会利用一些新技术的优点。

 

2. NuGet 包

在迁移以前,须要确认引用的.Net 标准库是否在.Net Core中支持或丢弃,若是不支持的话,就须要考虑如何用新的包代替或者当前功能的重构。

.Net 标准包是在.Net 4.6.1 和.Net Core 中均可使用的,因此只须要可使用该技术升级旧的PCL。若是你添加了.Net 标准库的引用,一样也能够在.Net Core 项目中使用。

 

3. Html / JavaScript / CSS 复用

能够将这些文件直接复制到.NET Core解决方案中。 可是,请确保更改代码中的文件路径,例如CSS中的图像路径。 由于经典的ASP.NET / MVC模板使用“ / Content /”目录,而.NET Core使用“ / css /”,“ / js /”,“ / lib /”等。对此没有任何限制,它们只是约定而已 。

 

如何选择.Net Core 的开发工具

在开发项目时候,新的平台和技术老是带给你项目的一些新的重大突破功能,好比性能,好比核心功能提高,因此不只咱们的项目要一直跟随升级,咱们所选择的开发工具,也要紧跟技术前沿,甚至要领先于咱们的项目升级进度,为咱们开发项目始终提供最有力的技术支持。

 

.NET Core是多平台应用程序的将来。 如咱们所见,.NET Core提供了传统框架不支持的强大的本机新功能。 另外一方面,.NET Core并不彻底支持全部现有的应用程序类型进行迁移,尤为是那些与Windows OS紧密集成的应用程序类型,所以必须仔细考虑并计划这些挑战。

 

因此咱们在选择新平台的同时,也须要考虑一些辅助开发的工具。以及这些工具在该领域的技术背景,是否足够稳定,是否有足够明确的将来,甚至比咱们更能预先跟踪将来的技术栈,以始终在咱们迁移新项目的时候提供辅助工具。

 

这里推介一些支持.Net Core 平台的开发控件:

  • API Protability Tool。这是一款辅助.net开发者在不一样的开发框架上迁移源代码工程的静态代码审查工具。因为.net framework具备多个历史版本,而且.net core以及Xamarin等开发框架在基础类库中实现API数量和类型有不少的不一致状况。.net开发者想把自身源代码升级到更高的.net版本或者迁移到其余的.net开发框架上,会面临不少API调用不兼容的问题。该工具就是帮助.net开发者审查.net项目的源代码,并生成审查报告,快速帮助开发人员找到不兼容代码行以及协助评估迁移工做量。

  • PostMan,Postman是一款支持跨平台的应用程序,用来帮助开发者快速构建和测试REST API 服务。Postman能够模拟HTTP请求的全部谓词,用于REST API的测试。

  • Visual Studio Code , Visual Studio Code是跨操做系统平台的轻量级代码编辑器。支持绝大多数主流语言编译和调试的能力。

 

综上所述,不管从其性能和生态上预测,.NET Core 都极有可能成为最受欢迎的开发平台,不过,当前国内仅有腾讯、阿里等厂家愿意试水,葡萄城做为一家具有30多年开发经验的软件厂商,一样也在持续对.NET控件进行更新迭代。

若是您有 .NET Core及其衍生技术和开发工具的需求,请访问葡萄城官网了解详情。

相关文章
相关标签/搜索