WTM 構建DotNetCore開源生態,坐而論道不如起而行之

作爲一個8歲開始學習編程,至今40歲的老程序員,這輩子使用過無數種語言,從basic開始,到pascal, C, C++,到後來的 java, c#,perl,php,再到現在流行的python。

小時候的我總覺得多掌握一門語言,我的技術能力就又前進了一步;

後來長大了慢慢明白,編程語言就和我們說的語言一樣,如果你只會罵街,即使精通18國外語也成不了文學家,因爲:

我記得大約是18、9歲的時候接觸的java,比dotnet更早,畢竟java更早出來的。

但是後來有了C#之後,我喜新厭舊了,原因很簡單,好比兩個姑娘,C#更美,更能體現我心目中編程是一種藝術的理念。

當然,總有“高手”跳出來說,那只是語法糖而已,可是高級語言裏哪個語法不是語法糖,你爲啥不去用匯編或者乾脆用打孔紙帶。

  國內Java一家獨大原因很多,有BAT的示範效應,也有微軟自己戰略的失誤。

好在微軟這兩年終於想明白了, dotnet core的橫空出世和收購github都是非常正確的方向。

當然要想達到java一樣的生態還有很長的路要走,那我就貢獻一點綿薄之力吧。

WTM框架,全稱WalkingTec MVVM, 不是“我特麼”的拼音首字母。。。

WalkingTec是當初自己瞎折騰創業時候的公司名,框架原型的初衷也是爲了解決公司內部開發效率低,代碼風格不統一,維護困難的問題。

經過4,5年數十個項目的積累,WTM算是成熟了,我們把它移植到了dotnetcore上並且開源了。

  WTM是一個快速開發框架,有多快?至少目前dotnetcore的開源項目中,我還沒有見到更接地氣,開發速度更快的框架。WTM的設計理念就是最大程度的加快開發速度,降低開發成本。

對於一個主流BS結構後臺管理系統來說,30%是最基礎的增刪改查,50%是稍微複雜一點的增刪改查,只有20%是真正有難度的複雜需求,但其實也是增刪改查。

對於前30%,WTM可以一鍵生成代碼,不需要手寫任何代碼;

對於中間的50%,可以在生成代碼之後重寫一些函數來快速的實現;

對於最後的20%,可以只使用框架提供的最基礎的功能來自定義開發。



WTM同時支持傳統模式和前後端分離模式。

傳統模式我們使用LayUI最爲前臺UI,LayUI是一個非常優秀的前臺UI庫,其返璞歸真,開箱即用的理念和WTM框架非常契合。

WTM框架通過TagHelper整合了LayUI包含的幾乎所有控件,讓開發者編寫前臺也毫不費力。

 

雖然我個人認爲一個後臺系統完全沒必要進行前後端分離,但是也有很多ToB的管理系統是面向最終客戶的,需要追求用戶體驗。

所以WTM也開始支持前後端分離模式,目前React+Antd已經是RTM版,可以正常使用;VUE+Element還在開發中,Angular目前還沒有支持計劃。

WTM的前後端分離模式定義了普遍通用的前後端通信的數據格式,並且同樣支持一鍵生成前端代碼和後臺api,極大的降低了分離所造成的溝通和維護成本。

 

WTM開源半年以來,受到了越來越多開發者的喜愛,目前github上已有超過500星,並在快速增長中。

後續的一個大計劃是一個代號“無碼”的sass平臺,把模型構建和代碼生成再向前推進一步,力爭讓一半以上的常見需求只需要通過簡單配置即可實現,敬請關注。

鄭重聲明,“無碼”平臺的意思是沒有代碼,不是你們想的那個無碼。

最後列舉一下WTM主要功能亮點:

l 一鍵生成WTM項目

l 一鍵生成增刪改查,導入導出,批量操作代碼

l 支持一對多,多對多關聯模型的識別和代碼生成

l 支持分離和不分離兩種模式

l 支持sqlserver,mysql,pgsql三種數據庫

l 封裝了Layui,AntD,Element的大部分控件,編寫前臺更加簡便

l 提供了很多基類,封裝了絕大部分後臺常用操作

l 提供了用戶,角色,用戶組,菜單,日誌等常用模塊

l 支持數據權限的開發和配置

l 支持讀寫分離和數據庫分庫

 

 

Github開源地址:https://github.com/dotnetcore/WTM

WTM文檔地址:https://wtmdoc.walkingtec.cn/

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章