.NETCore快速入门1:聊聊.NETCore那些事儿
时间:2025-05-21 18:14:04 495浏览 收藏
.NET Core 是微软推出的开源且跨平台的 .NET Framework 版本,旨在解决传统 .NET 在成本、生态和人才方面的局限性。起初,微软因与 Sun 公司的分歧而推出 .NET,这一框架借鉴并超越了 Java 的许多特性。然而,由于 .NET 非开源且依赖 Windows,导致其在互联网公司中的应用受限。.NET Core 的出现弥补了这一缺陷,支持 Windows、Linux 等多平台,并通过标准库实现与 .NET Framework 的兼容性。学习 .NET Core 需要具备基础编程经验,并建议在 Windows 或 Mac 环境下使用 Visual Studio 2017 或 Visual Studio Code,同时掌握 Linux 的基本使用。
一、.NET Core的起源
谈到.NET Core,就不能不提它的前身.NET。当年Java风头正盛,微软也对Java青睐有加,Windows平台上的Java虚拟机就是微软依据JVM标准开发的,据称是当时性能最佳的Java虚拟机。然而,微软有自己的小算盘,试图将Java与Windows平台捆绑,增加一些Windows特有的功能。Sun公司对此不满,导致双方关系破裂,微软随后推出了.NET。.NET从诞生之初就借鉴了Java的许多特性,并在语言特性和窗体开发等方面逐渐超越了Java。Java在1.6版本后发展缓慢,后来也在语言特性上借鉴了.NET,这部分原因也归咎于Sun公司的表现不佳。https://www.zhihu.com/question/22814456
尽管.NET一直发展良好,并且出现了如WPF、Unity3D等具有竞争力的框架,但在一些大型项目中,尤其是互联网公司,.NET并不受欢迎。这是因为.NET不是开源的,也不是跨平台的,这导致了以下问题:
成本:选择.NET意味着需要选择Visual Studio和Windows Server,许可证费用是不可忽视的成本。 生态:缺乏社区的贡献,.NET难以孕育出优秀的框架。 人才:无法吸引一线互联网公司的优秀工程师,因为他们更倾向于使用Java、PHP等。 虽然有Mono这样强大的框架,可以让.NET在Linux上运行,但这还不够,因为Mono只能发挥.NET的部分功能。此外,随着容器技术的兴起,.NET与Windows的强依赖性使得其难以适应Docker等新技术。总之,迫于形势,微软推出了.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的预览版本已经发布,.NET Core 2.0基本相当于.NET Framework 4.6.1。从2016年6月发布1.0版本到2017年6月发布2.0版本,仅用了一年时间,达到这种程度,微软的努力可见一斑。
三、学习.NET Core需要做哪些准备? 基础的编程经验(.NET、Java、Python等皆可) Windows / Mac作为开发环境(建议使用Windows,因为开发环境是Windows,环境不同操作会有差异) IDE:Visual Studio 2017 / Visual Studio Code Linux基本使用(推荐CentOS、Ubuntu) 虚拟机安装教程:https://ken.io/serie/hyper-v-courses CentOS快速上手:https://ken.io/serie/centos7-quickstart Ubuntu快速上手:https://ken.io/serie/ubuntu-quickstart 如果实在不具备搭建Linux环境的条件,Windows也可以,但不推荐。
文中关于开源,微软,跨平台,VisualStudio,.NETCore的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《.NETCore快速入门1:聊聊.NETCore那些事儿》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
485 收藏
-
145 收藏
-
143 收藏
-
386 收藏
-
175 收藏
-
103 收藏
-
319 收藏
-
412 收藏
-
360 收藏
-
366 收藏
-
379 收藏
-
351 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习