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上已有超過400星,并在快速增長中。后續的一個大計劃是一個代號“無碼”的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文檔地址:http://wtmdoc.walkingtec.cn/
如果WTM框架幫助到了你,請轉發~~~
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結
以上是生活随笔為你收集整理的WTM 构建DotNetCore开源生态,坐而论道不如起而行之的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET Core 3.0之深入源码理解
- 下一篇: 架构杂谈《六》