什么是.NET开发?做一个.NET开发程序员(.net 开发)

1.总体原则

技术的先进性与适用性相统一;

技术的效益与代价相统一;

技术的特定目标与社会效益相统一;

技术结构合理化原则;

技术开源情况;

技术的生态圈。

.NET到底什么什么

在过去的日子中大家提到 .NET 通常是指 .NET Framework 这么一个框架。但是随着.NET技术的发展,时至今日,广义的 .NET指包含 “.NET Framework”,“.NET Core”,“Mono”在内,是基于.NET技术的整个产品系列。

什么是.NET开发?做一个.NET开发程序员(.net 开发)

.NET Core Roadmap

什么是.NET开发?做一个.NET开发程序员(.net 开发)

.NET的特点以及为什么选择它

.NET特点如下:

跨平台

您可以创建在Windows,Linux和MacOS上运行的.NET Core应用程序。

统一

利用统一的.NET标准库(.NET Standard),使用相同的代码定位所有平台,并使用相同的语言和工具重用您的技能。

轻量级

没有影响部署和模块化开发模型,您只需要依赖于您所需的最少组件包。

现代

多语言支持C#,VB,F#和现代结构,如泛型,语言集成查询(LINQ),异步支持等等。

开源

运行库,库,编译器,语言和工具都是GitHub上的开源代码,接受代码贡献,测试和完全支持。

免费

什么是.NET开发?做一个.NET开发程序员(.net 开发)

.NET可以在任何平台上简单部署(跨平台)

.NET Core借鉴了.NET Framework的最佳实践,并将软件工程的最新进展结合在一起。这些是.NET Core的一些显着特征。

使用.NET Core,您可以使用.NET标准库编写应用程序或库。

然后它可以在许多平台上共享。

什么是.NET开发?做一个.NET开发程序员(.net 开发)

代码执行效率

测试一(Windows 服务器,单位:ms)

执行次数

.NET Core 2.2.103 (无预热)

Java 11.0.2(无预热)

第一次

4485

12924

第二次

4131

10158

第三次

3930

9801

第四次

3942

12679

第五次

3902

12218

取时间最短

3902ms

9801ms

测试二(Linux内核操作系统,单位:ms)

执行次数

.NET Core 2.2.105(无预热)

Java 12(无预热)

第一次

7124

13779

第二次

6996

13704

第三次

7043

13769

第四次

7092

13441

第五次

7038

13626

取时间最短

6996ms

13441ms

测试三(Linux内核操作系统,单位:ms)

执行次数

.NET Core 3.0.100-pre6(有预热)

Java 12.0.1(有预热)

第一次

6533

9174

第二次

6606

8541

第三次

6538

8928

第四次

6539

8981

第五次

6670

9121

取时间最短

6533ms

8541ms

结论:

① 在 Windows 平台上,双方均没有预热的情况下,.NET Core 2.2.103 的性能差不多是 Java 11.0.2 的 3 倍

② 在 Linux 平台上,双方均没有预热的情况下,.NET Core 2.2.105 的性能差不多是 Java 12 的 2 倍。

③ 在 Linux 平台上,双方均预热的情况下,.NET Core 3.0 (preview 6) 的性能差不多是 Java 12.0.1 的 1.5 倍。

技术资料

.NET 拥有活跃的生态圈和简单、易学习的相关资料(大量中文资料可供参考)。

IDE(开发工具,宇宙最强IDE)

.NET开发IDE调试、测试、代码编辑更简单、智能化,三端通吃,窗体桌面产品开发更强大,全球第一IDE,一键式选择性安装、官方文档支持较好。

生态圈

.NET拥有活跃的生态圈,越来越多用户加入了生态圈,2020增长率发布如下:

什么是.NET开发?做一个.NET开发程序员(.net 开发)

NuGet(开源包管理工具)

举例:假设现在开发一套系统,其中前端框架我们选择Bootstrap,由于选择Bootstrap作为前端框架,因此,在项目中,我们需要引入Bootstrap相关文件,大致会执行如下操作。

步骤一:下载BootStrap文件

输入BootStrap官网域名,进入官网

步骤二:选择合适的版本,下载BootStrap包

步骤三:将包引入到项目中

关于将BootStrap包引入到Project中,过程似乎比较麻烦,更可怕的是,当在项目中的BootStrap包需要更新时,需要做重复的工作,这是非常繁琐的,关键还容易出错。

使用包管理工具很好的解决了上诉问题。

项目管理方面

.NET CORE Docker实现自动化部署,保证测试、开发、生产环境都是统一标准,避免程序BUG无法重现;日常维护也会更简单。

开源情况

.Net Core 开源后取得了更加快速的发展,每月新增开发者45万,在 GitHub 上的月度增长达到15%。目前有来自超过5,300家企业的2.6万开发者在为 .NET Core 做贡献,.NET 基金会管理着超过60个项目。

.NET Core 为开发者提供了跨平台、云原生应用的理想开发平台,特别是已发布的 .NET Core 3,能够全面支持从网页到云端、桌面、物联网、人工智能的全方位的跨平台部署。

开源协议

开源软件中经常看到各种协议说明,GPL、BSD、MIT、Mozilla、ApacheLGPL

在我国使用最广泛的JDK,甲骨文宣布,“2019年1月之后”,如果没有商业许可,Java SE 8公开更新将无法用于“商业,商业或生产用途”。组织现在需要对运行Java SE 8的所有软件进行评估,并开始计算明年他们正在寻找的潜在账单。

需要注意的是 JDK != Oracle JDK

Java Development Kit(JDK)SUN公司针对Java开发人员发布的免费软件开发工具包(SDK,Software development kit)。目前遵守GPL协议的OpenJDK的发布,并且免费使用。

OpenJDK 所使用的GPL协议和.NET Core所使用最宽松的MITApache 2开源协议比起来,.NET更加友好(本协议允许任何人任何组织和企业任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售)。

这些协议之间的有什么区别?

什么是.NET开发?做一个.NET开发程序员(.net 开发)

相关新闻

联系我们
联系我们
公众号
公众号
在线咨询
分享本页
返回顶部