作为一个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开源生态,坐而论道不如起而行之相关推荐

  1. Wtm携手LayUI -- .netcore 开源生态我们是认真的!

    经过WTM团队和LayUI团队多次深入协商,双方于2019年7月29日在北京中国国际展览中心正式达成战略合作意向,双方签署了战略合作框架协议,LayUI团队承诺使用WTM框架的任何项目都可以免费使用其 ...

  2. 专访Dan Kohn:阡陌交迭,云原生布局开源生态构建及深度应用

    编者按:10月11-14日,为期四天的2017杭州•云栖大会将再度在杭州云栖小镇起航.作为全球最具影响力的科技展会之一,本届大会将有不少阿里集团专家以及国内外各行业企业领袖的精彩演讲.从今天开始,云栖 ...

  3. ChinaSoft 论坛巡礼 | 泛在操作系统理论、技术与开源生态构建

    2022年CCF中国软件大会(CCF ChinaSoft 2022)将于2022年11月25-27日在上海国际会议中心举行.预期将有林惠民.陈左宁.邬江兴.何积丰.梅宏.吕建.柴洪峰.王怀民.郑纬民. ...

  4. 解读领跑全国的区块链发展“北京方案”:设专项基金,构建开源生态

    来源 | PANews 自去年10月24日最高层明确,要把区块链作为核心技术自主创新的重要突破口,加快推动区块链技术和产业创新发展,以及今年5月,区块链被纳入新基建基础设施的一部分后,全国各地政府的区 ...

  5. 平凯星辰合伙人余梦杰:全球化和云计算趋势下的开源生态构建

    开源是技术发展的大趋势,其开放的全球生态,敏捷的技术创新以及快速的产品迭代,都有助于企业的发展.而云的蓬勃发展则加速了企业数字化的进程.开源和云两者交融,必然会迸发更多势能. 2022年7月27日,在 ...

  6. 中国科学院院士梅宏:推进构建面向全球的开源生态治理体系

    6 月 11 日,以"开源赋能,普惠未来"为主题的 2023 开放原子全球开源峰会在北京盛大启幕.在开幕式暨高峰论坛上,中国科学院院士梅宏作<当前热点话题下对开源发展的三点认 ...

  7. 开源生态也难逃“卡脖子”危机?中国AI开发者的警醒和突围

    开源不是一个新名词,也不是一个新行动. 软件时代,开源推动了全球范围的创新技术成果落地,从而促进全球信息技术发生了全局性.持续性的重大变革,这使它甚至成为一条非常关键且成功的技术路线.随着AI时代的来 ...

  8. 赋能AI开源生态,Tengine成AI开发利器

    https://www.toutiao.com/a6642115769876349448/ 2019-01-03 17:00:00 现阶段,边缘人工智能的主要挑战有成本.功耗.AI计算能力,以及软件生 ...

  9. 2亿美元投入+软硬件新服务!华为加速构建计算产业生态,侯金龙:要与开发者共成长...

    乾明 边策 发自 凹非寺  量子位 报道 | 公众号 QbitAI 更便捷的开发工具和平台,更强劲的2亿美元投入,全天候专家在线服务计划-- 这就是华为最新的开发者扶持组合拳,也是华为正在举办的开发者 ...

最新文章

  1. python中的module
  2. WinForm开发,窗体显示和窗体传值相关知识总结
  3. 辉瑞新冠疫苗有效率达90%?但科学家们还有这3个疑问
  4. 企业 SOA 设计(1)–ESB 设计
  5. 数据结构实验之链表七:单链表中重复元素的删除
  6. 拓荒会员电商“无人区”,考拉海购能否拿下“新船票”?
  7. Python使用matplotlib画图,设置曲线颜色、类型及标记
  8. 将ABAP透明表的定义(元数据)解析出来导入到剪切板(clipboard)里
  9. 微服务设计模式(上)
  10. (转)Centos7 Nginx安装
  11. java yuv 裁剪480480_对android录制的NV21视频数据进行旋转(90,180,270)与剪切
  12. WPS简历模板的图标怎么修改_软件测试工程师简历项目经验怎么写?--1000个已成功入职的软件测试工程师简历范文模板(含真实简历)...
  13. 使用ffmpeg转码MP4至m3u8格式并切片,以及自动检测切片m3u8脚本编写
  14. Linux SVN “db/txn-current-lock: Permission denied”
  15. 一文贯通→过滤器与拦截器详解
  16. python 信用卡系统+购物商城见解
  17. kali nethunter 开启远程桌面
  18. 去掉图片按钮外围虚线
  19. Ansible Play book 实现网络自动化
  20. 计算机专业本科上线分数,计算机专业对口大学分数线本科

热门文章

  1. 如何使用Windows搜索在任何文件中搜索文本
  2. pc微信不支持flash_在出售PC之前,如何取消对Flash内容的授权
  3. 用户帐户控制设置_创建快捷方式以避免用户帐户控制弹出式快捷方式
  4. H5 video 开发问题及相关知识点
  5. JAVA生成并导出json文件
  6. 身份管理软件公司Okta计划IPO,目标融资1亿美元
  7. zabbix邮件发不出去
  8. MySQL查询,按拼音首字母排序
  9. 从零开始学C++之STL(七):剩下5种算法代码分析与使用示例(remove 、rotate 、sort、lower_bound、accumulate)...
  10. Js黑客帝国效果 文字下落 制作过程和思路