热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

特斯拉为何使用.NETCore技术框架?

本文主要分享【net为什么衰落了】,技术文章【特斯拉为何使用.NETCore技术框架?】为【博文视点】投稿,如果你遇到博文视点IT荐书吧相关问题,本文相关知识或能到你。net为什么衰落了知乎上有

本文主要分享【net为什么衰落了】,技术文章【特斯拉为何使用.NET Core技术框架?】为【博文视点】投稿,如果你遇到博文视点IT荐书吧相关问题,本文相关知识或能到你。

net为什么衰落了

知乎上有一个帖子非常热闹:特斯拉为何使用.NET Core技术框架?为何不用Java/Go等?

特斯拉为何使用.NET Core技术框架?

可能有很多人对.NET的印象还停留在2016年之前,认为“.NET是闭源的”“.NET就只能用Windows”,但其实.NET已经开源并实现跨平台好多年了!

Linus Torvalds也因Microsoft的改变而公开宣称接纳Microsoft!

有特斯拉的内部员工也针对这个问题给出了回复。

特斯拉为何使用.NET Core技术框架?

其实,.NET在国外非常流行,Facebook有很多.NET岗位,全球大部分车厂也有用.NET,比如BMW、德国大众、Daimler AG等。在很多行业,.NET一直是领导地位。

平心而论,.NET Core的优势不容小觑!

跨平台: 可以在 Windows、macOS 和 Linux 操作系统上运行。

跨体系结构保持一致: 在多个体系结构(包括 x64、x86 和 ARM)上以相同的行为运行代码。

命令行工具: 包括可用于本地开发和持续集成方案中的易于使用的命令行工具。

部署灵活:可以包含在应用或已安装的并行(用户或系统范围安装)中,可搭配 Docker 容器使用。

兼容性:.NET Core 通过 .NET Standard与 .NET Framework、Xamarin 和 Mono 兼容。

开放源代码: .NET Core 平台是开放源代码,使用 MIT 和 Apache 2 许可证。.NET Core 是一个 .NET Foundation 项目。

由 Microsoft 支持: .NET Core 由 Microsoft 依据 .NET Core 支持提供支持。

相信,国内.NET的春风也许会迟到,但绝不会缺席!

目前,还没有哪个技术平台像 .NET Core 这样提供了如此完备的技术栈,桌面、Web、云、移动、游戏、IoT 和 AI 相关开发都可以在这个平台上完成。

在列出的这七大领域中,面向应用的Web 开发依然占据了市场的半壁江山,为其提供支撑的 ASP.NET Core 的重要性就毋庸置疑了。

Web 应用可以采用不同的开发模式,如 MVC、gRPC、Actor Model、GraphQL、Pub/Sub 等,它们都有对应的开发框架予以支持。

虽然编程模式千差万别,开发框架也琳琅满目,但是底层都需要解决一个核心问题,那就是请求的接收、处理和响应,而这个基础功能就是在 ASP.NET Core 中实现的。

从这个角度来讲,ASP.NET Core 是介于 .NET 基础框架和各种 Web 开发框架之间的中间框架。

在前 .NET 时代( .NET Core 诞生之前),计算机图书市场存在一系列介绍 ASP.NET Web Forms、ASP.NET MVC、ASP.NET Web API 的图书。但是找不到一本专门介绍 ASP.NET 自身框架的图书。

上述这些Web 开发框架都是建立在 ASP.NET 框架之上的,底层的 ASP.NET 框架才是根基所在。

很多资深的 ASP.NET 开发人员可能都对 ASP.NET 框架都没有进行更深入的了解。

领域旗帜性专家蒋金楠老师在出版了《ASP.NET MVC 5 框架揭秘》之后,紧跟版本再续神作,基于.NET开发20年的经验,终于为大家带来了《ASP.NET Core 6框架揭秘(上下册)》两册千页着作,助你挑战高薪,无惧裁员!

特斯拉为何使用.NET Core技术框架?

内容简介

本书只关注 ASP.NET Core 框架最核心的部分,即由一个服务器和若干中间件构建的管道,除了“第 1 章 编程体验”,其他章节基本上都不会涉及上层的编程框架。

本书共分为以下 5 篇内容。

● 初始编程

第 1 章提供了 20 个极简的 Hello World 应用程序,带领读者感受一下 ASP.NET Core 的编程体验。这些演示实例涉及基于命令行的应用创建和 Minimal API 的编程模式,还涉及多种中间件的定义及配置选项和诊断日志的应用。第 1 章还演示了如何利用路由、MVC 和 gRPC 开发 Web 应用和 API,4 种针对 Dapr 的应用开发模型也包含在这 20 个演示实例中。

● 基础框架

ASP.NET Core 建立在一系列基础框架之上,这些独立的框架在日常的应用开发中同样被广泛地使用。第 2 篇提供的若干章节对这些基础框架进行了系统而详细的介绍,其中包括“第 2~3 章 依赖注入”“第 4 章 文件系统”“第 5~6 章 配置选项”“第 7~9 章 诊断日志”“第 10 章 对象池”“第 11 章 缓存”“第 12 章 HTTP 调用”“第 13 章 数据保护”。

● 承载系统

ASP.NET Core 应用作为一个后台服务寄宿于服务承载系统中,“第 14 章 服务承载”主要对该承载系统进行了详细介绍。ASP.NET Core 应用的承载是本书最核心的部分,“第 15~17 章 应用承载(上、中、下)”不仅对 ASP.NET Core 请求处理管道的构建和应用承载的内部流程进行了详细介绍,还对 Minimal API 的编程模型和底层的实现原理进行了详细介绍。

● 服务器概述

本书所有内容都围绕着 ASP.NET Core 请求处理管道,该管道由一个服务器和若干中间件构建。第 18 章主要对服务器的系统进行了介绍,不仅会详细介绍 Kestrel 服务器的使用和实现原理,还会介绍基于 IIS 的两种部署模式和 HTTP.SYS 的使用,以及如何自定义服务器类型。

● 中间件

服务器接收的请求会分发给中间件管道进行处理。本篇对大部分中间件的使用和实现原理进行了介绍,其中包括“第 19 章 静态文件”“第 20 章 路由”“第 21 章 异常处理”“第 22 章 响应缓存”“第 23 章 会话”“第 24 章 HTTPS 策略”“第 25 章 重定向”“第 26 章 限流”“第 27 章 认证”“第 28 章 授权”“第 29 章 跨域资源共享”“第 30 章 健康检查”。

写作特点

本书的写作风格可以概括为“体验先行、设计贯通、应用扩展”12 个字。

大部分章节开头都会提供一些简单的演示实例,旨在让读者对 ASP.NET Core 的基本功能特性和编程模式有一个大致的了解。

在此之后,会提供背后的故事,即编程模型的设计和原理。将开头实例和架构设计融会贯通之后,读者基本上能够将学到的知识正确地应用到事件中,对应章节对此会提供一些最佳实践。

秉承“对扩展开放,对改变关闭”的“开闭原则”,每个功能模块都提供了相应的扩展点,能够精准地找到并运用适合的扩展来解决真实项目开发中的问题才是终极的目标,对应章节会介绍可用的扩展点,并提供一些解决方案和演示实例。

本书综合运用“文字”“图表”“编程”这 3 种不同的“语言”来介绍每个技术主题。

一图胜千言,每章都精心设计了很多图表,这些具象的图表能够帮助读者理解技术模块的总体设计、执行流程和交互方式。

除了利用编程语言描述应用编程接口(API),本书还提供了 200 多个实例,这些实例具有不同的作用,有的是为了演示某个实用的编程技巧或者最佳实践,有的是为了强调一些容易忽视但很重要的技术细节,有的是为了探测和证明所述的论点。

本书在很多地方展示了一些类型的代码,但是绝大部分代码和真正的源代码是有差异的,两者的差异有以下几个原因:

第一,源代码在版本更替中一直在发生改变;

第二,由于篇幅的限制,删除了一些细枝末节的代码,如针对参数的验证、诊断日志的输出和异常处理等;

第三,很多源代码其实都具有优化的空间。本书提供的代码片段旨在揭示设计原理和实现逻辑,不是为了向读者展示源代码。

目标读者

虽然本书关注的是 ASP.NET Core 自身框架提供的请求处理管道,而不是具体某个应用编程框架,但是本书适合大多数 .NET 技术从业人员阅读。

任何好的设计都应该是简单的,唯有简单的设计才能应对后续版本更替中出现的复杂问题。

ASP.NET Core 框架就是好的设计,因为自正式推出的那一刻起,该框架的总体设计基本上没有发生改变。

既然设计是简单的,对大部分从业人员来说,对框架的学习也就没有什么门槛。

本书采用渐进式的写作方式,对于完全没有接触过 ASP.NET Core 的开发人员也可以通过学习本书内容深入、系统地掌握这门技术。

由于本书提供的大部分内容都是独一无二的,即使是资深的 .NET 开发人员,也能在书中找到很多不甚了解的盲点。

扫码了解本书详情

特斯拉为何使用.NET Core技术框架?


特斯拉为何使用.NET Core技术框架?

本文《特斯拉为何使用.NET Core技术框架?》版权归博文视点所有,引用特斯拉为何使用.NET Core技术框架?需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
author-avatar
手机用户2602880641
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有