推荐下新的.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之类的;

猜你喜欢

转载自www.cnblogs.com/silentdoer/p/10225990.html