为什么说是时候拥抱.NET CORE了?
微软和社区已经做了大量艰苦的工作,使.net core成为市场上具有竞争力的框架,帮助开发人员快速开发具有最佳性能和可扩展性的强大应用程序。做的最棒的事情是.net framework开发人员不需要任何新知识来处理.net core。这也是开发人员在很短的时间内采用.net core的原因之一。对于非.net开发的spring boot,nodejs,go等开发人员来到.net core有着非常熟悉的模型,也可以很短的时间内熟悉和爱上.net core.
我非常的热爱.net core, 不是那种盲目的热爱,我将给你分享我使用 .net core 以及为什么我认为.net core 将是2019年最好的框架的理由。
首先我们不能有偏见,每一种语言都有自己擅长的领域,但我在这里提到的是这些语言的强势领域:
python:机器学习,数据科学还有web开发。
javascript:web开发(前端和后端)和游戏开发。
java: 移动android应用程序开发,企业应用程序,甚至web开发。
c ++和c: 操作系统,关键性能解决方案,嵌入式系统以及任何需要低级别能力的东西。
那么我为什么认为.net core 是2019年最好的开发框架,这里首先要澄清一件事情就是语言和框架,不然就会出现python比.net core好的评论。 一个编程语言是编写一个程序需要遵循的一组任务,而一个框架是为特定的编程语言编写的实用工具的集合。例如,c#是一种编程语言。microsoft 在c#中构建了.net和.net core框架,这样开发人员就比从零开始创建c#应用程序快得多。
这一张图就是我热爱.net core的原因,多功能性:
我已经使用.net core 3年多时间,做过.net core 几十个项目,从去年离开腾讯自己创业以来,也服务过多家客户,大家都逐步从.net 向.net core迁移,最近也正在做一个调查,从现有数据看还是有30%的同学还是在.net framework,对.net core还没有着手。
多功能性是.net core 成为我的生活一部分的最好解释。如果您是web开发人员还是想开发桌面或移动应用程序,如果您是游戏开发人员或想要从事机器学习,.net core就在您身边。
xamarin 使得我们使用microsoft知识开发跨平台移动应用程序,unity用于开发游戏。您还可以使用uwp 构建桌面应用程序 。asp.net core也是开发功能强大的基于web的应用程序的主要参与者,提供了惊人的spa angular模板以及signalr的实时应用程序等等。
云原生计算的发展驱动着各个企业转向遵循云原生原则(启动速度快、内存占用低)的 .net core。.net core 对docker容器的支持非常好,这使您可以轻松地将应用程序部署到云端,您只需单击几下即可在云上进行开发和部署。
ml.net 是面向.net开发人员的机器学习框架,当我们谈论微软 azure中的认知服务时,我们真的在谈论商品化的ai(人工智能),ml.net 赋予我们的应用程序员ai能力。
blazor 也将接管一些javascript功能,不需要懂 angularjs, react, vue, 充分利用 .net 的稳定性和一致性,让我们成为全栈的web开发人员。
.net core吸引人的功能还有很多,像高性能,开源,宇宙第一的开发人员工具等等。这里我就分享一下raygun的ceo兼联合创始人对.net core的评价,具体参见:
很多人都喜欢nodejs 转go, raygun 为啥转向了.net core呢,我特意去研究了一下raygun的这个案例:。 早在2013年 raygun 同时使用了node,go 和.net framework, 核心业务是使用.net framework构建的,所以也尝试了研究了使用mono构建api层,mono的使用不够理想,所以他们开始探索不同语言和运行时的优缺点。似乎node.js为运行的短小事务提供了一个非常好的模型。raygun 将mono转移到node.js上,raygun 找到了一个更加稳定的环境,获得了类似的吞吐量,但是它不像是一场重大的性能胜利。随着时间的推移,raygun工程师注意到node.js api的性能正在降低。“随着新版本的推出,我们发现node.js作为一个框架变得越来越慢,越来越重量级,”raygun联合创始人兼首席技术官jeremy boyd说。工程师们考虑增加服务器容量,但即使基于云的服务器成本相对较低,大幅增加云服务器也会导致成本上升。 raygun开发人员决定专注于最大化现有api节点的性能。当该公司获悉微软即将发布.net core,raygun 安排了两个开发人员花了大约两周时间将api移植到.net core,然后验证测试工作负载的性能。当他们对api的.net核心版本是正确的感到满意时,他们启动了一组运行新软件的新节点,然后将这些节点旋转到现有的生产节点集群中, raygun这个尝试获得了200倍的收益。raygun的案例对于以.net 技术构建业务的公司特别有启发,也许你已经或者计划从.net转移到其他平台,不妨抽出一些时间来尝试一下.net core.
我毫不怀疑,.net core是未来,microsoft正在添加新功能,以帮助开发人员进行每次更新。和php mvc框架,python和java相比较, 我可以说.net core没有限制,更加开放。
上一篇: 苦瓜茶的功效与作用有哪些呢
下一篇: (四)数据持久化(基于YesSql)
推荐阅读