1.总体原则
技术的先进性与适用性相统一;
技术的效益与代价相统一;
技术的特定目标与社会效益相统一;
技术结构合理化原则;
技术开源情况;
技术的生态圈。
.NET到底什么什么
在过去的日子中大家提到 .NET 通常是指 .NET Framework 这么一个框架。但是随着.NET技术的发展,时至今日,广义的 .NET指包含 “.NET Framework”,“.NET Core”,“Mono”在内,是基于.NET技术的整个产品系列。
.NET Core Roadmap
.NET的特点以及为什么选择它
.NET特点如下:
跨平台
您可以创建在Windows,Linux和MacOS上运行的.NET Core应用程序。
统一
利用统一的.NET标准库(.NET Standard),使用相同的代码定位所有平台,并使用相同的语言和工具重用您的技能。
轻量级
没有影响部署和模块化开发模型,您只需要依赖于您所需的最少组件包。
现代
多语言支持C#,VB,F#和现代结构,如泛型,语言集成查询(LINQ),异步支持等等。
开源
运行库,库,编译器,语言和工具都是GitHub上的开源代码,接受代码贡献,测试和完全支持。
免费
.NET可以在任何平台上简单部署(跨平台)
.NET Core借鉴了.NET Framework的最佳实践,并将软件工程的最新进展结合在一起。这些是.NET Core的一些显着特征。
使用.NET Core,您可以使用.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增长率发布如下:
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、Apache和LGPL。
在我国使用最广泛的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所使用最宽松的MIT和Apache 2开源协议比起来,.NET更加友好(本协议允许任何人任何组织和企业任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售)。
这些协议之间的有什么区别?
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。