推薦下新的.Net網際網路應用該用的技術棧
前言,.Net就是用的技術棧太過於落後了,基本上都是單機應用,而且很多都是桌面開發,國內更加如此,自己轉了Java後接觸了很多新的東西,然後再回過頭看開源幾年後的.Net,個人覺得新的.Net網際網路應用,特別是WebAPI應該用到的技術棧;
1.首先SDK肯定是.Net Core了,然後後端框架可以用WebApi;
2.Nginx,做反向代理和負載均衡等;
3.Autofac,做類似Spring一樣的IoC容器(自己進行一定的擴充套件及和動態代理庫的聯合使用是基本上可以實現SpringMVC裡大多數的功能的);
4.Castle,動態代理所需的東西,通過它和Autofac結合使用可以設計出Aop應用,比如通用日誌記錄模組,以及引數驗證等等;
5.Dapper或SqlSugar或EF.Core,類似Java裡的Mybatis,不過需要自己做一定的實現;
6.NLog,好用的日誌框架;
7.Redis,網際網路應用必備,用於儲存那些頻繁從資料庫裡取值的資料可以快取起來,還可以實現分散式鎖、服務註冊於發現中心等等;
8.RabbitMQ,分散式應用很實用的中介軟體【比如保證分散式應用資料的最終一致性,統一日誌記錄,流量消峰等等】,當然其他的如ActiveMQ之類的也行;
9.MySql,其他資料庫也行;
10.MongoDB,這個倒還好,可要可不要,它和Redis最大的區別就是資料結構更靈活便於資料統計之類的,但個人感覺不是那麼的必備;
11.Nuget,這個到不是什麼技術,不過要想高效開發這個肯定得會用,而且也很簡單;
12.Newtonsoft,JSON和Xml的處理工具;
13.Lucene,用於搜尋的,主要就是通過劃詞來建立索引,從而搜尋時能提高效率,當然這是比較淺的理解,主要是自己目前的工作也不接觸這些;
14.ILSpy,反編譯工具,很多時候還是很有用的;
我目前能想到的很需要掌握的就這些,不知道還有啥特別好用的工具之類的要補充不。。
還有就是很希望微軟能將桌面開發也跨平臺啊,這樣我就可以安安心心的用C#寫一些有用的工具了,不然只好用Java寫了,像Java GUI也跨平臺,使得很多有名的跨平臺的IDE都用Java寫的UI,比如IDEA、Rider、Eclipse之類的;