前言
.Net推出13年了,Visual Studio 2015 / .NET Framework 4.6昨天也发布了。
从2002年的.NET 1.0开始,1.1,2.x,3.x,4.x,每个新版本的.NET都会增加新的技术,生态圈也在不断壮大。
爆栈三部曲
Web前端开发大系概览 (前端开发技术栈) ,包含大约180个技术点
数据库开发大系技术栈 (300多技术点)
.NET技术大系概览 (迄今为止最全的.NET技术栈)
问题
大家是否想过:
.NET究竟包含哪些技术呢?
我所掌握的技术这个子集,在.NET技术大系这个超集里面占地比例是什么呢?
我究竟还没有掌握多少.NET技术呢?
面试的时候会考哪些技术呢?
相信大家也看过Java的技术栈,一个金字塔形状的(我一下子没找回,如果你知道,烦请告诉我),包含了繁多的技术:
这些年来,看过n多.Net架构图/技术栈,搜索了很久,没有找到一个符合我要求的“较为全面”地表述.Net技术大系的图表。相信微软内部有更全面的,但可惜我没有找到。
互联网上来去都是那几个简单的按版本新增分类等10来个点的,譬如这个:
或者这个按照.NET版本新增技术的:
包括微软自家弄的.net universe 2014都不行:
圣殿骑士 在 新加坡架构师面试总结 里面发表过一张.NET架构师面试需要的技术总结图:
不过这个总结图面向的是.NET架构师需要掌握的技术,和我需要的不一样。
.NET技术栈
最近找工作,面试了多家公司,不同公司有不同的技术要求,我把这些技术,结合我已经掌握的技术,总结了一下.Net相关技术,大约10个大类50个技术点,花了一点时间搞个.NET技术栈概览。
从最底层的到最顶层:
操作系统
CLI
CLR
CTS/CLS/CIL
.NET Fx
CLI 语言
DLR
DLR 语言
Desktop 桌面
Web 网络
SOA
SDKs
OWIN
IDE 编辑器
Platforms 平台
Productivity 生产力
Build 编译
Testing 测试
Deploy 发布
Tools 工具
Data 数据存储
Components 组件
这个图表里的分类未必准确,相关技术也难免会有遗漏,欢迎大家指点以便不断改进。
以下是预览图:
GitHub
在GitHub开源了:DotNetStack
因为内容太多,要看完整技术栈图的,可以访问GitHub。
点击这里可以查看基于HTML5的互动式图表 (鼠标拖放/缩放)