我的技术回顾那些与ABP框架有关的故事-2018年
今天准备想写18年的,但是发现我从19年开始就在逐渐淡出社区,因为生活、工作的缘故吧。所以也没什么特别罗列的,就合并下吧。
时间真的是可以磨平太多东西了,如果我不去整理资料的话,我会以为有太多事情发生在2017年,结果他们都发生在2018年或2019年。
写到这篇的时候,我发现我的技术轨迹也从单纯的.NET 技术栈开始多元化,接触前端(angular)、数据库、架构、集群、Devops、容器化的方案了。
社区所提供的ABP后端+Vue、React模板方案
2018年,随着ABP框架被越来越多的人使用,前端的方案在国内变化基本上都是vue。同时ABP官网并不打算提供vue方案的支持。
所以社区人员就提供了Vue的前端模板。
下图为vue的 Pull Requests记录。
下图为react的 Pull Requests记录。
所以采用abp框架的功能模板是非常健全的,无论是angular、vue、react你都可以依据你的喜好选择。
所以很多人吐槽ABP框架功能不全,那仅仅是因为前端的功能没有做出来罢了。当然伸手党是也是常态。
开始着手52ABP官网的成立
我大约是在18年,谋划了想自己独立建站的想法,其实中途也有人搭建过一个abpbbs的论坛,但是也因为运营者和人气的关系,浅尝辄止。
所以到了我这里的时候,我就在想我要如何做,怎么做。公司内,我基本上已经变成了一个非常纯粹的管理者了,基本上不用写什么业务代码,更多的时候做做技术选型架构设计。
但是人啊,不打算彻底转型当管理的话,不能脱离一线啊,尤其是我们开发人员,加上我一直想做点不一样的东西。所以谋划了很久。
最初的目的ABP框架国内镜像网站
最开始的时候,单纯的想做成一个国内的镜像网站。毕竟很多朋友没有“科学上网”工具,导致访问ABP官网很慢。所以想加速下的网站的CDN速度。开始方便国内的小伙伴大家的下载和使用。
我也利用空余时间录制了几个快速入门的视频,放到几个网易云课程和腾讯课堂上。
然后情况就开始发生了一些变化。。。就是发现这个视频的基础照顾的不太好,导致很多基础不是很好的程序员,体验性很糟糕,评论也很好玩,两极分化严重。
有好有坏,比如
因为这两个平台来的大多都是仅学过C#和传统.NET Framework的学生,连.NET Core都没有接触过,更别说是Angular了,所以导致很长一段时间,我都有点自闭,觉得ABP门槛太高了,后来才想明白是单纯的教材少,大多数人没我这么强迫症把做的东西通用化。
而这时很多人加群的目的也开始起了变化,不是单纯的学习和讨论技术了,ABP官方有一个商业版本,包含了一个干净的前后端完整功能模板即:ABPZero,很多人都想使用获取这个模板来接私活,但是又有很多人玩不转这个模板,所以不少人选择了放弃,然后转头骂ABP难用,还不如Ado.NET。
.NET Core版本的52Abp框架
我又开始了新的尝试,而当时正值AntDesign 官方也推出了Angular版本的组件库:NgZorro。
然后机缘之下接触到了卡色的Ng-alain,然后进行了集成和适配。但是因为版本太早,无论是Ng-alain还是ng-zorro,在当时生态相比react的版本都不那么成熟。
所以在中途发生了好多次破坏式升级。这个也是让我体会到了如何做最大的兼容性对于框架的设计者来说挑战才是最大的。
这也是非常佩服土牛的模块化设计思想。
只有我一个人的话,工作量太庞大了,就找到了熊猫一起搞这个事情,然后历时两个月,我们推出了第一个版本,在小范围给大家使用了下。然后大家表示喜欢。然后我们就将它提交到了52ABP网站上,方便大家下载为属于自己的解决方案。
52ABP在2019年,做了太多对于Angular下的适配了,尤其是NG-Zorro的官方组件过于残缺,但是已经上车了就坚持搞了下去,好在仅两年ng-zorro的官方组件生态库越来越完善和齐备。Angular对于开发管理系统来说熟悉了时候,会非常的得心应手。
当这个我们内部完成了之后,购买了52abp的域名后,开始上线试运营的时候,才知道ABP还是一个动作电影的系列。说实话,现在想来是真的尴尬。尤其时不时进来的关键字。
不过好歹是上线了,而且不管怎么说也坚持到了现在(2022年)。
如何保障网站的持续运转-资金
当网站开始运转了之后,网站最开始部署在一台1核心2G的Linux服务器上。起初流量就群里的人用,还算好。后来因为人太多,撑不住了。开始慢,然后大家就以为是ABP框架慢,然后就开始在群里喷ABP框架有多么的不好。。巴拉巴拉的到最后到人身攻击的都有。
所以菜鸡到处都是,不要妄自菲薄,我们要自信。
这个就比较坑了,同时这个不是我们要做这个事情的初衷,毕竟是为了推广ABP,而不是给ABP框架抹黑,所以当时要么关站,要么想其他办法。我们晚点再说
2018年上海紫荆谷ABP分享会
适逢一次去上海找钢网参观学习的机会(找钢网没有上市,可惜了),我在群里说要去出差,问问有没有人聚聚,本以为只会有10来个人活动。但是大家都在踊跃报名要来参加,从小活动变成了非常正式的技术分享会了。
那次应该是群里神聊的网友,能来的都来了,大家在线下见了面,也认识了很多新的朋友,比如老渠(从南通驱车来的),当然这又是另外一个支线故事了。
第一次非常正式的和ABP官方沟通
为了解决网站运营资金的问题,我就想和ABP的作者沟通,说了下我想52ABP来干嘛。
然后就通过马立明联系到了ABP官方作者,给他写了一封邮件,告知他是否可以考虑下国内市场。
马立明 我是和他在北京认识的,后来他频繁活跃在ABP官方仓库中,然后就全职作为ABP框架的核心开发人员之一,后面梁仕伟也加入了ABP框架团队。
ABP的作者也回复给我了一封邮件,大体的内容是因为国内盗版官方版本的太多,所以不考虑。并且告诉我他现在的重心开始转移到ABP.IO,也就是ABPVnext的版本中。
这个时候,我就陷入了比较尴尬的状态。毕竟这个服务器是要掏钱的,我们已经牺牲了很多的休息时间来做52ABP的网站和模板。这个项目让我把它腰斩,这个是我不愿意的。
既然ABP官方不考虑国内市场,那我就搞吧。觉得新浪微博可以抄Twitter。那我就来折腾个本土版本的ABP吧。尴尬的问题就是,ABP官方的模板都是盗版的,更别说有人愿意来付费买本土版本的ABP框架吧。
尴尬而又不失礼貌的微笑
所以我们得感谢那些付费买课程的客户
这个时候,我就想到了卖课程,也在群里问了,好多都在说出了课程没人买,后来给我的教育就是不要把程序员的思维代入商业行为。
但是我还是坚持搞了,我还算行动力不错的人,就开始搞了,准备了个大纲,问了一些人意见就开始搞。
这个课程出来后上架到了网易云课堂。目前来看销量还可以。但是录制视频实在是太累了。当时天天熬夜到凌晨2-3点来录制视频内容。现在想起来仍然心有余悸。不过结果是很好的,因为大家付费了,支持52ABP网站的运营的经费有了。然后我们也推出了一个学习版的52ABP目标框架,里面的功能就比较多了。和当时的ABPZero功能差不多。然后很多人学了之后,就拿去做公司内部的商业项目了。
市场中总有一双看不见的手
我想你可能猜到了。事情又起了变化。现在看来让我想起了**经济学家凯恩斯在他的著作《国富论》**中提到的那句话“市场中总有一双看不见的手”推动着你走。
那就是有一些公司联系到我,问我学习版或者企业版会不会可以持续更新。讲道理,如果是17年问我,我肯定回答说没问题。但是经历了上面那么多的事情之后。也见过了很多基于ABP框架也好,模板也好的开源项目。
因为各种原因难产后,我明白坚持更新是一件很难的事情。就如
ABP官方也是靠
ABPZERO
的销售来养活这个公司的。后来也因为有了资金才会有更大的梦想来做ABPVnext这样的项目。
所以我的回答是如果你们愿意付费的话,我就坚持更新。那么有一些公司就说花钱就算了,我们公司有程序员,自己可以改。你都微软MVP了还收费。打着MVP的名头去收钱。当然更难听的也有。
当然我终于遇到了第一家愿意付费的公司,因为这个价格实在是太便宜了。当然收费后,我也一直坚持更新这个模板。
从.NET Core 2.1升级到2.1,升级到3.1。然后Angular从6到8到9,慢慢到现在的angular12。
尤其52ABP代码生成器的推出,很多人给我反馈说,开发效率提高了70%以上,也有不少公司参考代码生成器做了一个属于自己公司内部的代码生成器。
小结
如果说2016、2017年是我个人技术能力进行了快速提升的话,18年起我更多在考虑如何带来持续稳定的收入来维护一个网站,毕竟它不是一个博客网站,记录我个人的技术内容。
那么这就不是技术能帮助我解决的了,同时经历了周围很多经营的公司重组、破产、运营模式的问题等等。而我呆的是积微物联因为运营模式,加上我的项目因为政策、运营模式都比较新,见到了太多用技术无法解决的事物了之后,所以我就要去思考,52ABP到底要怎么搞,才能长久的做下去。
推荐
《深入浅出ASP.NET Core 》书籍配套源代码与视频下载