.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.5。Visual Studio開發工具,也由VS2003到VS2005到VS2008到VS2010再到VS2012以及現在的VS2013。從底層框架到開發工具,可以看出微軟.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技術:App應用開發和移動web開發。WP開發、JQuery Mobile(移動端js開發庫)
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)
2、國家認證:軟考(程序員、軟件設計師、系統分析師、系統架構設計師、信息系統項目管理師)
3、教育認證:計算機等考(江蘇省一二三級、國家一二三四級)
4、培訓認證:北大青鳥ACCP(初級程序員、程序員、軟件工程師)
