我的技术回顾那些与ABP框架有关的故事-2018年
我的技術回顧那些與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 》書籍配套源代碼與視頻下載
總結
以上是生活随笔為你收集整理的我的技术回顾那些与ABP框架有关的故事-2018年的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dapr 助力应用架构的可持续性
- 下一篇: Avalonia跨平台入门第六篇之Gri