(良心转载)原文地址:https://ken.io/note/dotnet-core-qucikstart-preface

一、.NET Core的诞生

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

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

  • 钱:选择.NET就要选择Visual Studio,Windows Server,license是不可忽视的成本
  • 生态:没有来自于社区的贡献,那.NET没有诞生优秀框架的土壤

纵使有Mono这么强大的框架,可以让 .NET 跑在Linux上,但是这还不够。
毕竟Mono只能发挥.NET部分有限的能力
另外,马上容器时代都要来了,跟Windows的强依赖,如何上Docker?
当然这这是ken能看到的一部分原因吧,总之,形式所迫,拥抱变化,.NET Core应运而生。

二、.NET Core 与 .NET Framework的区别

.NET Core 就是.NET Framework的区别的开源且跨平台版本
.NET Core 虽然是.NET Framework的开源版本,但微软毕竟不能维护两个不同的分支
一个跑在Windows上,一个跑在Linux(Unix Like)系统上,所以微软抽象出来一个标准库
.NET Core 与 .NET Framework 都必须实现标准库的API ,就这样.NET Core、.NET Framework、XAMARIN成了三兄弟,分别为不同的平台服务。

现在.NET Core 2.0 Preview版本已经发布,.NET Core 2.0 基本等于 .NET Framework 4.6.1,从2016年6月 1.0发布到2017年6月 2.0发布,仅仅1年,达到这种程度,可见微软还是很给力的

三、学习 .NET Core需要做哪些准备?

最新文章

  1. (转) Spring框架笔记(二十五)——NamedParameterJdbcTemplate与具名参数(转)
  2. 与Status Bar和Navigation Bar相关的一些东西
  3. SSAS:OLE DB 错误: OLE DB 或 ODBC 错误 : Login failed for user 'NT Service\MSSQLServerOLAPService'
  4. JMS笔记(一)
  5. 更改新建Asp.net WebForm的模板 的方法
  6. JAVA GUI学习 - JInternalFrame浮动窗口:可拖拽窗口(依赖于父窗口)
  7. activity管理类 appManager
  8. 时效性福利:MindManager2017 破解攻略
  9. 谷歌IAP:skusBundle array associated with key ITEM_ID_LIST cannot contain more than 20 items.
  10. Maven项目pom.xml 标签含义
  11. 【模板】KMP字符串匹配
  12. 【PAT】B1040 有几个PAT(25)(25 分)
  13. [Android 开发教程(1)]-- Saving Data in SQL Databases
  14. css 设置元素背景为透明
  15. Kafka(三)Kafka的高可用与生产消费过程解析
  16. 5.Python3标准库-日期和时间
  17. RequireJs学习笔记之Define a Module
  18. python 浮点运算 及 小数点精确位数
  19. java session特性
  20. Compiler Error C2872: ambiguous symbol

热门文章

  1. 解决MybatisPlus修改时空字段不修改问题
  2. 修改linux内核加载顺序
  3. c# 移除类中所有事件的绑定
  4. 深入理解Java对象
  5. jmeter对tomcat性能测试
  6. elasticsearch ik分词
  7. Git 合并单个文件
  8. OC-bug: Undefined symbols for architecture i386: "_OBJC_CLASS_$_JPUSHRegisterEntity", referenced from:
  9. 多线程之callable学习
  10. Jetty启动报Error scanning entry META-INF/versions/9/org/apache/logging/log4j/util/ProcessIdUtil.class