港码开奖结果Core迁移前的准备工作

时间:2019-10-07

  前段时间迁移.NET Core做了大量的试水和评估,今天整理一下分享给大家。

  这个更像是科普的资料,因为团队的小伙伴有半路出家的,对.NET 的光辉历史不是非常了解,所以有必要带着大家看一遍.NETCore的由来:

  说.NET Core,需要先说一下.NET. 当年Java刚刚兴起,如火如荼,微软也非常推崇Java,当时Windows平台的Java虚拟机就是微软按照JVM标准实现的,据说也是当时性能最好的Java虚拟机。但是微软也是有私心的,微软总想搞点Windows平台上的特性,有点想把Java绑定到Windows平台上的味道,另外Sun公司确实有点小心眼,于是Sun公司就跟微软闹掰了,然后微软就推出了 .NET,.NET从出生开始其实就借鉴了Java,然后又一步步在语言特性、窗体开发等方面实现了超越。Java在1.6版本以后发展缓慢,后面Java也在语言特性上借鉴了 .NET。

  .NET虽然一直发展的不错,也有WPF、Unity3D这样具有竞争力框架的出现。但是.NET平台在一些较大的项目,不太受互联网公司的喜爱(虽然京东、当当、携程当年也是.NET技术路线)。但是因为.NET不是开源的框架,也不是可跨平台的框架,那就会带来以下问题:

  生态:没有来自于社区的贡献,那.NET没有诞生优秀框架的土壤,技术社区虽然有微软的特殊扶持,但是整体不太理想

  人才:无法吸引一线公司优秀互联网工程师加入,因为他们用Java、Go等,但是.NET Core诞生之后会大为改观,腾讯、网易都有在使用。

  纵使有Mono这么强大的框架,可以让 .NET 跑在Linux上,但是这还不够。毕竟Mono只能发挥.NET部分有限的能力。

  同时,招聘丨海事局、行政服务中心、人民法庭缺人ing这些2019-09-27云计算的普及,跨平台需求势不可挡,Linux 作为Server的不二OS,.NET不支持Linux,比较尴尬!

  另外,容器时代已经不可逆转,跟Windows的强依赖,如何上Docker?

  同时支持Windows和Linux、MacOS,满足不同开发者的需求,对于Web开发提供了Core, 对于常用数据库访问,提供了EF Core,港码开奖结果,对于机器学习,提供了ML.NET。大家可以根据自己业务的需要,选择合适的技术。

  这样,出现了两套代码、两套类库,对于开发者来说,要同时掌握两套SDK,会产生社区和技术的分裂。

  因此,.NET 要统一类库标准,统一所有的API定义,这就是.NET Standard. 如下图:

  但是.NET Framework和.NET Core存在其个性化、扩展的类库,需要牺牲兼容性,即:

  最新的Core 3.1 将2019年11月发布,同时是LTS版本。如果大家现在开始迁移.NET Core,建议选择一个大版本、LTS版本。我们也将选择这个版本。


友情链接:
Copyright 2018-2021 主页 版权所有,未经授权,禁止转载。