欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

WTM 构建DotNetCore开源生态,坐而论道不如起而行之

程序员文章站 2022-07-04 22:50:29
作为一个8岁开始学习编程,至今40岁的老程序员,这辈子使用过无数种语言,从basic开始,到pascal, C, C++,到后来的 java, c#,perl,php,再到现在流行的python。 小时候的我总觉得多掌握一门语言,我的技术能力就又前进了一步; 后来长大了慢慢明白,编程语言就和我们说的 ......

作为一个8岁开始学习编程,至今40岁的老程序员,这辈子使用过无数种语言,从basic开始,到pascal, c, c++,到后来的 java, c#,perl,php,再到现在流行的python。

小时候的我总觉得多掌握一门语言,我的技术能力就又前进了一步;

后来长大了慢慢明白,编程语言就和我们说的语言一样,如果你只会骂街,即使精通18国外语也成不了文学家,因为:

WTM 构建DotNetCore开源生态,坐而论道不如起而行之

我记得大约是18、9岁的时候接触的java,比dotnet更早,毕竟java更早出来的。

但是后来有了c#之后,我喜新厌旧了,原因很简单,好比两个姑娘,c#更美,更能体现我心目中编程是一种艺术的理念。

当然,总有“高手”跳出来说,那只是语法糖而已,可是高级语言里哪个语法不是语法糖,你为啥不去用汇编或者干脆用打孔纸带。

WTM 构建DotNetCore开源生态,坐而论道不如起而行之

  国内java一家独大原因很多,有bat的示范效应,也有微软自己战略的失误。

好在微软这两年终于想明白了, dotnet core的横空出世和收购github都是非常正确的方向。

当然要想达到java一样的生态还有很长的路要走,那我就贡献一点绵薄之力吧。

WTM 构建DotNetCore开源生态,坐而论道不如起而行之

wtm框架,全称walkingtec mvvm, 不是“我特么”的拼音首字母。。。

walkingtec是当初自己瞎折腾创业时候的公司名,框架原型的初衷也是为了解决公司内部开发效率低,代码风格不统一,维护困难的问题。

经过4,5年数十个项目的积累,wtm算是成熟了,我们把它移植到了dotnetcore上并且开源了。

WTM 构建DotNetCore开源生态,坐而论道不如起而行之

  wtm是一个快速开发框架,有多快?至少目前dotnetcore的开源项目中,我还没有见到更接地气,开发速度更快的框架。wtm的设计理念就是最大程度的加快开发速度,降低开发成本。

对于一个主流bs结构后台管理系统来说,30%是最基础的增删改查,50%是稍微复杂一点的增删改查,只有20%是真正有难度的复杂需求,但其实也是增删改查。

对于前30%,wtm可以一键生成代码,不需要手写任何代码;

对于中间的50%,可以在生成代码之后重写一些函数来快速的实现;

对于最后的20%,可以只使用框架提供的最基础的功能来自定义开发。

WTM 构建DotNetCore开源生态,坐而论道不如起而行之

wtm同时支持传统模式和前后端分离模式。

传统模式我们使用layui最为前台ui,layui是一个非常优秀的前台ui库,其返璞归真,开箱即用的理念和wtm框架非常契合。

wtm框架通过taghelper整合了layui包含的几乎所有控件,让开发者编写前台也毫不费力。

 

虽然我个人认为一个后台系统完全没必要进行前后端分离,但是也有很多tob的管理系统是面向最终客户的,需要追求用户体验。

所以wtm也开始支持前后端分离模式,目前react+antd已经是rtm版,可以正常使用;vue+element还在开发中,angular目前还没有支持计划。

wtm的前后端分离模式定义了普遍通用的前后端通信的数据格式,并且同样支持一键生成前端代码和后台api,极大的降低了分离所造成的沟通和维护成本。

WTM 构建DotNetCore开源生态,坐而论道不如起而行之

 

wtm开源半年以来,受到了越来越多开发者的喜爱,目前github上已有超过500星,并在快速增长中。

后续的一个大计划是一个代号“无码”的sass平台,把模型构建和代码生成再向前推进一步,力争让一半以上的常见需求只需要通过简单配置即可实现,敬请关注。

郑重声明,“无码”平台的意思是没有代码,不是你们想的那个无码。

WTM 构建DotNetCore开源生态,坐而论道不如起而行之

最后列举一下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文档地址:

WTM 构建DotNetCore开源生态,坐而论道不如起而行之