.Net平台技术栈?不止于此
.NET是个很大、很宽、很广的概念。一个.NET,牵涉了太多的内容。这里大致的介绍一下.NET技术究竟包括哪些内容,当然还包括了与.NET开发相关的其它技术。
一、.NET Framework版本
2000年6月,微软宣布了其.NET战略,推出了全新的.NET平台C#语言。.NET Framework从1.0开始,到2.0版本,这是一个里程碑。现在用的最多的就是2.0版本,也是.NET Framework的基石。后来又推出3.0到3.5到4.0再到现在的4.7。时至今日,微软推出.Net Standard 1.0,2.0,旨在统一各领域技术标准库。Visual Studio开发工具,也由VS2003到VS2005到VS2008到VS2010再到VS2012以及现在的VS2013,以至于现在的VS2017(宇宙最强IDE)。从底层框架到开发工具,可以看出微软.NET战略的实施过程,以及今日微软全面拥抱开源的决心。
二、不同领域的技术
不论做以下何种方向的开发,C#语言是必须掌握的,也是.NET开发的基础。当然.NET平台也支持很多其它的语言,比如C++和VB.NET。但是微软.NET平台主推的第一编程语言是C#。这个语言与Java语言很类似,是C/C++ —> JAVA —> C#(读CSharp,所以C#的类文件都是以cs为后缀名的,这点与其它语言一样,如JAVA的类文件后缀名就是java)这样的一个发展过程,因此这些语言都是一个系列的。语法上类似或很像也是可以理解的。当然C#的语法更像是多种编程语言的混合体。LinQ是一个非常重要的语法,也是.NET的一大创新。多线程、Sockets通信技术,将是区分技术的标志。
三、技术体系
1、核心技术
1).NET技术:WinForm、ASP.NET、ASP.NET MVC、LinQ、WPF(Windows呈现基础框架)、WCF(Windows通信基础框架,包含WebService、.NET Remoting、消息队列等所有通信技术)、WF(Windows Worklfow Foundation 工作流基础框架)、SilverLight(银光,类似于Flex)、SharePoint、Entity Framework(ORM)、ADO.NET、SQL Server(2000、2005、2008)、MSChart(图表控件)、Crystal Report(水晶报表)
2)第三方技术:Log4NET(Apache日志组件)、NHibernate(Java的hibernate的.NET实现ORM)、spring.NET(依赖注入、控制反转等,也是Java的spring框架的.NET实现)、NetChart和WebChart(第三方图表控件)、K2 Workflow (K2工作流)、Ext.NET(专用于.NET的界面库)
3)WEB技术:HTML5、CSS3、JavaScript、XML、JSON、DOM、DIV、AJAX以及jQuery(JQuery UI/JQuery Easy UI)、ExtJS等JS脚本库
4)Mobile技术:Xamarin框架下的App应用开发,和移动web开发。WP开发、JQuery Mobile(移动端js开发库)
5).Net Core 跨平台开发。
2、数据库技术
1)Oracle、MS-SQL Server、MySQL、DB2、Access、SqLite、VFP等
2)SQL编程(游标)、存储过程(带参数、不带参数、复杂的、输入输出参数)、触发器(特殊的存储过程,自动触发)、事务、视图(物化视图)、计划任务(job)、序列、SQL多表海量数据查询优化等
3、中间件技术
IIS、GIS(ARCGIS、SuperMap)
4、其它工具及技术
Microsoft Office工具(Word、Excel、PPT、Project、Visio等)、Sybase PowerDesigner(数据库建模工具)、版本控制(CVS、SVN、VSS)、FTP(Server-U、Filezilla)、加密狗、WordToPDF
5、其它
计算机硬件修理(故障排除、数据恢复、硬盘修复)、网络故障排除(路由器、交换机)、各种设备的使用及设置(打印机、扫描仪、复印机,针式、喷墨、激光)、服务器、虚拟化、存储
四、理论知识(软件方向)
做软件开发必须要有理论知识的储备,并且要精通一些课程。理论知识不足,很难真正上升为高级工程师(操作与理论并举,能够真正的开发出具有创新意义的软件系统)的层次,最多也就是高级技师(操作精通,能有一些创新,但仅仅限于操作技术的创新)。
最核心的四门课:1)数据结构 2)操作系统 3)计算机组成原理 4)计算机网络
其它课程:数据库原理及应用、编译原理、C语言、汇编语言、软件工程、计算机英语、数学(离散数学、高等数学、线性代数、概率统计等)
五、发展路线
1、程序开发(1-2 years)
2、软件设计(2-5 years)
3、系统分析(5-10 years)
4、系统架构(5-10 years)
5、项目管理(5-10 years)
六、证书认证
1、行业认证:微软认证(MCSE、MCSD、MCITP、MCPD、MCM、MCA)——MVP
2、国家认证:软考(程序员、软件设计师、系统分析师、系统架构设计师、信息系统项目管理师)
3、教育认证:计算机等考(江苏省一二三级、国家一二三四级)
4、培训认证:北大青鸟ACCP(初级程序员、程序员、软件工程师)
不止于此。
.Net平台技术栈?不止于此的更多相关文章
- 《Python测试开发技术栈—巴哥职场进化记》—前言
写在前面 今年从4月份开始写一本讲Python测试开发技术栈的书,主要有两个目的,第一是将自己掌握的一些内容分享给大家,第二是希望自己能系统的梳理和学习Python相关的技术栈.当时我本来打算以故事体 ...
- java技术栈:项目概述
学习使用java到现在也有三年多了,这三年基本是以项目驱动的方式学习,有好有坏,个人觉得好处在于,有一个清晰的目标让你解决,这会让你学习非常迅速有效.当然坏处就是片面,不成体系.这种学习方式在学校以小 ...
- 通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core? .Net Web开发技术栈
通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core? 什么是.NET?什么是.NET Framework?本文将从上往下,循序渐进的介绍一系列相关.NET的概念 ...
- 如何使用Microsoft技术栈
Microsoft技术栈最近有大量的变迁,这使得开发人员和领导者都想知道他们到底应该关注哪些技术.Microsoft自己并不想从官方层面上反对Silverlight这样的技术,相对而言他们更喜欢让这种 ...
- 非对称技术栈实现AES加密解密
非对称技术栈实现AES加密解密 正如前面的一篇文章所述,https协议的SSL层是实现在传输层之上,应用层之下,也就是说在应用层上看到的请求还是明码的,对于某些场景下要求这些http请求参数是非可读的 ...
- 一个人的 ClojureScript 技术栈
作者:题叶链接:https://zhuanlan.zhihu.com/p/24425284来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.今天(昨天)分享完关于 Cloj ...
- 快速了解Scala技术栈
http://www.infoq.com/cn/articles/scala-technology/ 我无可救药地成为了Scala的超级粉丝.在我使用Scala开发项目以及编写框架后,它就仿佛凝聚成为 ...
- 95后实习生的远程办公体验(asp.net mvc\C#技术栈)
这个月我们做了一件别人看起来很疯狂的事情,就是让一批95后的实习生实行远程办公,效果还不错,于是写此文总结一下. 其实认真算算,我自己的远程工作经验有十年了吧,在北京工作的时候天气不好就申请在家办公, ...
- .Net Web开发技术栈
有很多朋友有的因为兴趣,有的因为生计而走向了.Net中,有很多朋友想学,但是又不知道怎么学,学什么,怎么系统的学,为此我以我微薄之力总结归纳写了一篇.Net web开发技术栈,以此帮助那些想学,却不知 ...
随机推荐
- Java程序员考研失败后的面试经历,oppo、VIVO、等面经
温馨提示:有些可能会遗漏个别问题,都是最近一周的面试,有点忘了. 浪潮(一面挂) 你是网络工程的?对网络很了解? 解释一下什么是广播域 怎么划分子网 说一下CSS的几种分类器 数据库中有哪些聚集函 ...
- 如何使用API提交转码任务?
摘要: 当常规的转码工作流无法满足用户的场景时,需用户自己判断业务逻辑,并使用API提交转码任务.例如:并不是所有的视频都需要转码,不同视频需要设置不同的转码配置.本文将介绍API提交转码任务的方法. ...
- webpack进阶(三)
1)CommonsChunkPlugin已经从webpack4移除,所以在用webpack进行公共模块的拆分时,会报错 Cannot read property 'CommonsChunkPlugin ...
- git涨姿势(一)
今天遇到了一个git冲突问题,解决冲突方案我是当然知道的,就是本地不知道何时自己傻不拉几的新建了一个relese分支,而remote是没有release分支的,需要拉取的是release/V1.4.2 ...
- python字符串的常见操作
find: 根据指定字符串获取对应的下标, 如果找不到对应的数据返回-1, 这里的-1表示没有找到数据 my_str = "hello" # find: 根据指定字符串获取对应的下 ...
- Python实现对excel的操作
1.操作excel使用第三方库openpyxl安装:pip install openpyxy引入:import openpyxl2.常用简单操作1)打开excel文件获取工作簿wb = openpyx ...
- C++ 删除字符串中的数字并重新按顺序排列
#include <stdio.h> #include <string.h> char* Find_str(char* p) { ; i < strlen(p); i++ ...
- MySQL基础篇(06):事务管理,锁机制案例详解
本文源码:GitHub·点这里 || GitEE·点这里 一.锁概念简介 1.基础描述 锁机制核心功能是用来协调多个会话中多线程并发访问相同资源时,资源的占用问题.锁机制是一个非常大的模块,贯彻MyS ...
- 什么是yarn,如何使用yarn安装项目依赖
一.yarn的简介: Yarn是facebook发布的一款取代npm的包管理工具. 二.yarn的特点: 1.速度超快. Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载. 同时利用并行下载 ...
- 【Weiss】【第03章】练习3.3:通过交换指针交换单/双链表元素
[练习3.3] 通过之调整指针(而不是数据)来交换两个相邻的元素,使用 a.单链表 b.双链表 Answer: 先放测试代码,折叠标题可以看到分别是哪种链表的测试. 实测可满足题意,但单链表和双链表的 ...