国内流行的开源.net微信公众平台SDK对比分析
一、引言
目前微信公众平台正如火如荼的进行中,微信虽然在海外市场不敌WhatsApp,但是已经俘获了国内绝大部分用户的心。作为国内最大的,超级"app",微信已算是成功问鼎了。公众帐号百花齐放,各自SDK层出不穷,但是单单.net平台/C#的SDK也就那么几个值得一提:Senparc.Weixin.MP(以下简称Senparc) 和WeixinSDK.net(以下简称WeixinSDK)。ps:为什么官方没有完整的.net/C#版本?谁知道可以告诉我下。
(1) Senparc.Weixin.MP
Github: https://github.com/JeffreySu/WeiXinMPSDK (Fork:500+)
标语:微信公众平台SDK Senparc.Weixin for C#
达到1000+ commits,15个contributors,5个branches。
(同时由于易信的API目前与微信保持一致,此SDK也可以直接用于易信,如需使用易信的自定义菜单,通用接口改成易信的通讯地址即可)。已经支持用户会话上下文(解决服务器无法使用Session处理用户信息的问题)。
(2)WeixinSDK.net
Github: https://github.com/night-king/weixinSDK(Fork:30+)
标语:一个超级轻量级的,像Python一样自由书写代码的微信公众平台SDK(.net版本)
达到60+ commits,1个contributors,1个branches。
目前只针对微信公众平台开发者文档所有API进行包装也就是微信服务号和订阅号的开发,不支持微信企业号和移动端API。但是不排除企业号和移动端API共有部分的调用,对于这部分本SDK不保证其能调用成功。
从数据来看两者不在一个数量级上,从标语来看,Senparc更谦虚中庸一些,WeixinSDK显得激进许多,到底谁好谁坏,谁优谁劣,且听楼主慢慢道来。
二、设计思路
Senparc的设计思路是大而全,功能完备且强大,所有用到的中间对象都用实体类的形式表达出来,所以显得重了些;
WeixinSDK的设计思路是小而美,对代码有洁癖的程序员很容易为之着迷,基本上API涉及到的业务他都用Dynamic对象表示,所以显得一下子比Senparc轻了许多。轻量级,结构清晰,简单灵活。
Senparc更像是集团军作战,有大量的用户和贡献者为其服务,所以迭代要快很多。所有微信官方API的功能他都包含了,所以成为了主流也不奇怪。而WeixinSDK像是单兵作战,当然不是一般的兵,用户少,迭代慢,目前还不支持企业号API(正在紧急筹划中,见官方论坛)。
三、开发者该如何选择
一个大而全,一个小而美,我们开发者该如何选择呢?
其实这个问题只有这两个都用过之后的人才有权利发表看法,我只能从表面上来说:
如果你是一个保守的人,对Dynamic对象没有概念,入门级的程序员建议你选择Senparc,因为他更符合传统思维;
如果你是一个激进的人,喜欢轻量级,喜欢用像python一样的弱类型语言编写程序,建议您不妨试试WeixinSDK。
另外:WeixinSDK需要.net framework4.0版本,所以如果你的程序比这个低还不能用。
阿里云9折优惠码:3RRWQH,第一次购买云服务器或云数据库可享受原价9折优惠,还可多人使用,拿走不谢。