从ABP框架国内社区发展回顾.NET技术变迁-2015

admin
admin
2021-12-31
分享:

我的技术回顾那些与ABP框架有关的故事-2015年

Hi, 我是梁桐铭,可能您对我不太熟,不过没事,你如果耐心看完这篇文章后,也许我们就认识了。

写本文是想回顾下这些年的我所看到的技术变迁,以及我们在这些年中的经历。同时因为工作的缘故,也有1年的时间没有更新过文章和视频了。

或许是写《深入浅出ASP.NETCore》耗费了我太多的心神,不过这算算是回归之前的一个启动吧。

为什么写ABP框架社区发展呢?怀旧吧,也是为了记录一下我们这群人的经历,如果发现我遗漏了你,记得联系我哦~。

我算是最早在国内推广ABP开发框架的人之一,最早制作ABP框架入门视频课程的吧。

这些年用ABP框架,开发了太多系统,基本上算见识了各行各业的软件了 ...

现在让我们把时间线拉回2015年,我大致会从时间轴上来带领着大家聊聊我看到的技术变革,以及在这中间遇到的人和事情.

2015年的应用开发技术流行趋势

2015年6月是我第一次接触ABP框架,那个时候大家选择的技术栈还大多数停留在MVC+ADO.NET的开发方式,采用MVC+EF6都算是比较新的技术了。 UI的话,大多数还在使用easyUI、extjs等,比较新的UI框架是bootstrap3、配合JQuery做功能开发。

  • 那个时候.NET Core 1.0还没有正式发布,社区中大家听到的新版本是ASP.NET 5(Vnext),当然这个版本后来变成了ASP.NET Core 1.0,这个在我的书《深入浅出ASP.NET Core》中有过阐释,就不在展开了。
  • 苏老师的盛派微信SDK也发布了几个固定版本,大家都采用他 https://github.com/JeffreySu/WeiXinMPSDK ,作为微信开发的SDK。
  • 那个时候社区还在争论ADO.NET与EF的性能之争, Osharp框架作者郭明峰,然后写了个性能对比测试算是给了社区里面的回应,地址:https://www.cnblogs.com/guomingfeng/archive/2013/06/07/data-test-framework.html 。
  • 郭总当时的Osharp 采用easyUI+MVC+WebApi+EF6的框架,当时大多数因为不懂EF、以及依赖注入这些技术,导致觉得门槛比较高。不过Osharp 给了我很多的帮助,这里不得不提到不混社区但是技术非常厉害的寒飞,后来我也和他成为了同事,一起去了攀钢积微物联,用Osharp交付了第一个积微运网的版本,当然后来迭代为ABP框架。
  • 那个时候开源对于很多人来说都有点不可思议,github对于很多人来说都很陌生,大家托管还在靠SVN或者TFS,开源项目会存放在 https://datatester.codeplex.com/

下图是郭总做的.NET Framework下EF6的10w数据与100w数据的测试图.

EF6的10w数据与100w数据的测试图

ABP框架的国内社区的起点

而那个时候ABP带着DDD设计、模块化、前端采用mvvm设计的 Angularjs 1.x、多租户设计(SaaS解决方案)、统一缓存、统一异常拦截打破了社区的宁静。

而把ABP带到国内的人就是@阳光铭睿,有兴趣你可以按照顺序看看这几篇文章,也可以看看评论区,你可以感受到那个时候还没有被微信号冲击到的中文.NET开发圈子的热闹。

当时的ABP框架版本还很低,ABP框架作者也是刚刚离职创业,我接触的时候是0.86版本,也在生产环境跑了很久的时间。从现在来看业务功能还很薄弱,但是基础设施的设计非常的稳固,尤其这个模块化是思想是真的非常好,这也是想采用DDD思想做系统的人ABP都是不二的选择。

那时ABP对于大多数人来说不亚于天书,里面包含的解决方案和场景实在太多了,例如:

  • 模块化、

  • 自动的租户隔离(saas解决方案)、

  • Identity身份认证、包含权限解决方案、

  • 工作单元、DTO、

  • 动态WebApi、

  • 自动的权限验证和参数有效性、

  • 依赖注入、领域事件等等方案,当然对于很多人来说,现在依然是天书。

  • 大多数人的前端还停留在jQuery的时候,在面对 angularjs 1.x的时候,虽然觉得很香,但是不知道怎么用。

    我第一次接触angularjs的时候,好奇为什么angularjs不用引入jquery就可以开发功能,这双向绑定是怎么回事。

    阳铭开始在博客园更新和连载ABP的文档翻译和内容,后面还提供了QQ群,所以早期的群都是阳铭建立的。

后来加入到阳铭建的ABP框架群中,进行学习和讨论,那个时候对于我来说是非常幸运的事情,因为那个时候大家基本上都是小白,很多人都不懂这些理论,然后大家慢慢学习和了解这些技术。

后来在群里结识了一统、悲梦、白菜、天道、仁伟、菜刀、程飞年、Util的作者、郭明峰等等还有很多人,而当时天道牵头在github上翻译了目前流传最多的ABP中文文档https://github.com/ABPFrameWorkGroup/AbpDocument2Chinese ,目前开始被各大技术博客的博主进行转载。

ABP框架中国小组

我上面提到的很多人慢慢开始制作了自己的框架、创业、技术转型等等,那个时候大家都在天南地北,还有几位台湾老哥在群里普及EF的设计机制和理念。

在经历了5年后也就是2021吧,大家的技术、工作事业也稳定后,ABP群回归了大多数技术群的本质,安静、聊天、吹吹水,偶尔有新人加入的话佛系指导。虽然现在ABP1群已经不活跃了,但是不得不说这个群里的人技术含金量是非常高,我简单的盘算过这个群的人加起来,一个月要发出去的工资估计有2000wRMB(瞎猜的)。

1640080340818.png

从目前你从社区中的大牛来看,在15-17年的时候您在社区里面所认识的大牛,基本上都在这个群呆着,后来也闹过不少矛盾也陆续退出了,当然那就是另外的一个故事了。

国内第一场ABP框架分享会

2015年阳铭团队在上海举办了线下活动,分享ABP框架的设计内容、现在来看,你可以看到无论ABP的版本迭代有多少,核心的内容本质上是没有变化的。

1640818386808.png

这个视频地址你在优酷搜索ABP可以找到,那个时候大家都很年轻,你可以在那里找到一群朝气勃勃的讨论技术。

DDD领域驱动设计的学习路径

这里我非常推荐你如果想学习DDD的理论的话,我非常建议去看看netfocus汤雪华的DDD分享。至今依然是非常好的入门DDD的通俗易懂的内容。

同样是2015年,阳铭和netfocus汤雪华以及博客园举办的DDD分享活动。

1640084100756.png

如果你想深入了解领域驱动设计,那么张逸的书,可以了解复杂系统。而落地上ABP是你不二的选择。

小结

这大概就是我所见到的2015年的社区吧,一个还没有特别多的开源框架,很多想找的其实是一个权限管理系统,结果哪里会知道,你会进入这个专为复杂业务而生的ABP框架呢。

2015年大家都在寻找一个银弹,试图去解决掉所有的业务场景。后来再次证实了没有银弹。

从现在的时间轴来看,我也很感谢坚持选择了ABP框架作为我的主力技术栈,如果没有他的话。我们的团队会陷入很多永无止境的加班当中。

最后为了不给大家造成一个误区,ABP框架的作者是土耳其人:Halil İbrahim Kalkan,你可以上github关注他。

ABP框架作者 Halil İbrahim Kalkan

接下来,如果会花时间,把这个技术路线回顾写出来,然后发布出来。希望能给看到人作为参考和建议,当然以上仅仅是我所看到的技术变迁及在技术社区中经历的事情和看到变化。

1640946113664.png