两天前微软举行了首个线上Build大会,而开发者成为大会里唯一的主角。和所有技术公司一样,开发者对于微软来说,同样也越来越重要了。如同血肉相依的关系,谁也离不开谁。在这次大会上,开发者是最大的宠儿,成了唯一的焦点!
大会发布的各类新技术,几乎都与开发者相关。由此可见,开发者领域的新技术有了更为更长足的发展。今年的Build大会发布了很多新产品,自然也少不了.Net!
机遇与挑战总是并存的,开发者可用的工具越来越多,肩上的担子也越来越重,而拥抱变化,不断学习新兴技术,成为所有开发者都需要面对的现实。可是技术那么多,更新那么快,从何下手才能快人一步?
伴随技术革新,在各类开发中,移动端开发呈现指数型发展,随着智能手机的跨越式发展,越来越多的公司把移动开发作为自己的主营业务!与此对应的,Core WebApi 的技术重要性逐渐凸显!那么多技术栈没办法一次性讲全,今天我们先从Core WebApi 开始!一文讲透其中奥秘!(先上视频学习资料给自学党,扫码直接领取)
3类跨进程交互方式
01
基于第三方存储共享的通讯
基于第三方存储共享的通讯,数据库/Redis/队列等,特点是被动通讯,满足及时性要求低的场景。
02
基于Http协议的服务
如WebService、WCF、WebApi、Core WebApi,甚至还有ashx一般处理程序也是可以的,使用最广泛。
03
基于远程调用模式
包括FX下的RPC和.NetCore下的gRPC,有着优异的性能,但是也有其使用限制,下文对gRPC和WebApi有细致比对。
大部分的开发者应该对第二类最熟悉,因为平台主推,而且也是项目选型的优选,应用最为广泛。
对比选型
梳理下平台发展历史不难发现,从最初的WebService一统江山,到.NetFramework3.0推出的集大成者WCF,却在4.0的时候被更轻巧的WebApi所打败(.NET5将移除WCF框架了)。轻量级,更好的REST风格支持(WCF也可以但很麻烦),对移动端的友好支持,甚至在.NETCore里直接跟MVC同一个开发技术栈,这些理由很充分的让技术团队都倾向于使用WebApi。
Core WebApi的变化
WebApi刚出来时,大家都非常兴奋,终于有原生的RESTful API了,但实践中却发现太多槽点,跟MVC框架同项目不同管道,鉴权授权参数绑定也很不友好,让学习者苦不堪言。然而,这个在Core WebApi得到了转变,和Asp.Net Core管道的统一,让大家开发和学习成本都降低了,再加上跨平台的优势,和全新中间件模式加成,毫不客气地说,Core WebApi已经成为当下服务的首选。
Core WebApi VS gRPC
这两个是目前.Net Core下最热门的分布式通信方式了, gRPC是Client/Server模式通信的,支持流式通信,性能更高一些,相对的使用场景和实施成本也会高一些,REST的通用性更强,像典型的前后端分离架构,当下各公众平台对外数据提供,都是选择的REST接口,包括在微服务架构实施上,Core WebApi使用还是更广泛一些。一般来说,局域网内部通讯选择gRPC,对外提供数据选择Core WebApi。
Core WebApi学习计划
DAY1
上手实践,宇宙第一IDE轻松建项目就能运行,然后把Swagger啊,log4net啥配置起来,然后集群是必须的,Nginx负载均衡+各种策略来一波,好好体会下REST的无状态。
DAY2
内置IOC容器和Middleware翻翻源码理解一下,知道请求是怎么处理怎么流转的,后面功能开发时才心里有底(面试也轻松)。
DAY3
各种Filter扩展定制,像异常处理、鉴权授权、跨域、缓存压缩等常见功能和优化,都是基于Filter的AOP实现的,必须得扎实下。
DAY4
最后是框架组件整合了,搭建一套快速开发框架,整合下EFCore,autofac等,把JWT,数据格式定好,基本就万事大吉了。
以上是我沉淀多年的学习经验,现整理成视频资料,学起来挺容易,4天即可速成,感兴趣的小伙伴儿可以扫码免费学习!
福
利
福
利
福
利
除了Core WebApi!我把日常工作和面试可能遇到的所有核心知识做了分类。从开发实战项目到高级工程师,架构师的技术重难点,所有的学习资料,100多G干货,一站式放送!仅限本公众号粉丝专属福利!(扫码文末二维码自取)
获取以上全部学习资料
扫我扫我~
领取人数较多,添加以下两个号码也可免费领取哦!
微信号1:zhaoxi005
微信号2:zhaoxiPenny