做爲一個8歲開始學習編程,至今40歲的老程序員,這輩子使用過無數種語言,從basic開始,到pascal, C, C++,到後來的 java, c#,perl,php,再到如今流行的python。php
小時候的我總以爲多掌握一門語言,個人技術能力就又前進了一步;前端
後來長大了慢慢明白,編程語言就和咱們說的語言同樣,若是你只會罵街,即便精通18國外語也成不了文學家,由於:java
我記得大約是1八、9歲的時候接觸的java,比dotnet更早,畢竟java更早出來的。python
可是後來有了C#以後,我喜新厭舊了,緣由很簡單,比如兩個姑娘,C#更美,更能體現我心目中編程是一種藝術的理念。mysql
固然,總有「高手」跳出來講,那只是語法糖而已,但是高級語言裏哪一個語法不是語法糖,你爲啥不去用匯編或者乾脆用打孔紙帶。git
國內Java一家獨大緣由不少,有BAT的示範效應,也有微軟本身戰略的失誤。程序員
好在微軟這兩年終於想明白了, dotnet core的橫空出世和收購github都是很是正確的方向。github
固然要想達到java同樣的生態還有很長的路要走,那我就貢獻一點綿薄之力吧。sql
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/