WTM的由来

WalkingTec.Mvvm框架(简称WTM)最早开发与2013年,基于Asp.net MVC3 和 最早的Entity Framework, 当初主要是为了解决公司内部开发效率低,代码风格不统一的问题。经历了四年间数十个项目的考验,框架逐步的完善,推出了四个主要版本。

2017年9月,我们将代码移植到了.Net Core上,并进行了深度优化和重构,推出了基于Asp.net Core和EF Core的全新框架,新框架在架构,稳定性,速度上都有长足进步,真正成为一款高效开发的利器。

WTM解决的问题

对于一个Web应用程序,20%的功能是简单的增删改查,50%的功能是稍微复杂一些的增删改查,只有30%的功能是真正具有复杂逻辑的,但其实也是增删改查。。。WTM框架把常规编码结构化,重复编码自动化,大大提高了开发效率

如果你要开发的是一个面向内部人员的后台管理程序,WTM框架绝对是你的最佳选择,它连通了前台UI和后台代码。你不需要前后台分离,不需要两个人配合,减少成本,缩短工期。

当然你也可以使用WTM框架来编写服务,只是不使用框架提供的前端UI功能而已,对于后端代码还是可以提高效率

WTM提供了什么

WTM连通了前台UI,后台代码,和数据库操作。封装了Model,ViewModel,Controller,TagHelper,提供了大量实用的基类和方法,更重要的是它提供了各种常见场景的编程模型

  1. 框架提供了4类ViewModel,涵盖了主流Web应用程序常见的功能,分别是:

    • BaseCRUDVM 提供最常见的数据增删改的功能
    • PagedListVM 提供分页列表以及导出的功能
    • ImportVM & TemplateVM 提供数据导入的功能
    • BatchVM 提供批量操作的功能
  2. 框架提供了数十种前台控件,包括了Form,Grid,Panel,Dialog等几乎所有常用控件,在不进行前后分离的情况下,后端人员也可以轻松写出漂亮的前台页面。目前框架只支持Layui作为前端UI,后期我们会支持更多。
  3. 框架提供了内置的用户,角色,用户组,数据权限,页面权限,菜单,日志,邮件,短信,文件等后台常用管理功能
  4. 框架支持单点登录,门户Portal,分布式数据库
  5. 框架提供了Radis,DFS等后台开发常用库的简化操作

创建项目

在vs中新建项目,然后选择Asp.net Core Web应用程序

再选择模型视图控制器模式的Web应用程序

确定后vs会为我们建立好一个asp.net Core的项目

添加WTM的引用

Install-Package WalkingTec.Mvvm.Mvc -Version 1.3.10-pre3-insider161

添加之后,把vs生成的框架中不需要的文件删掉,只保留启动mvc必须的几个文件

之后我们F5进行调试,当然因为我们把所有Controller都删了,网页肯定跑不起来,会直接报错

但是不用管它,在地址栏的后面加/_setup,会进入一个页面,这是引用的WTM中封装的页面

把链接字符串改为自己数据库的链接串,然后数据库类型,名称等信息看情况改一下,不需要就保持默认,填完后点击 开始配置

配置完毕后停止调试,这时你会发现项目多了不少东西

这些文件是框架自动生成的登录和首页,重新生成一下项目,按F5启动调试,登录后你会发现,一个框架已经搭好了

WTM的更多相关文章

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

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

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

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

  3. .net开源生态,WTM与NCC

    天下大势,分久必合,合久必分.改朝换代都如花开花谢,过眼云烟,更别提开发语言的更迭了. 我们所坚持的,只是那最初的感动,那“只是在人群中多看了你一眼”的惊艳.三十年河东,三十年河西,不忘初心,方得始终 ...

  4. WTM重磅更新,LayuiAdmin and more

    从善如登,从恶如崩.对于一个开发人员来说,那就是做一个好的系统不容易,想搞砸一个系统很简单,删库跑路会还不会么. 对于我们开源框架的作者来说,做一个好的框架就像登山(也许是登天),我们一步一步往上走, ...

  5. WTM送书活动:向更遥远的星辰大海起航~

    是的,没错~ 这一篇不是大老刘写的.哈哈~ 啥?  你想知道为啥? 大老刘为了你们不加班,熬夜改BUG,姑娘不乐意了... 然后... 后面请自行脑补~ 哎~生活还要继续鸭.... 那么,接下来由我陪 ...

  6. .NET Core 3.0 ,WTM 2.3.9发布

    .Net Core 3.0已经来了,WTM怎么可以落后呢.最新发布的WTM2.3.9版本已经支持.Net Core 3.0啦,现在在线生成项目的时候可以选择2.2和3.0两个版本.小伙伴们快来体验吧. ...

  7. WTM 3.1发布,完美支持.netcore 3.1

    在过去的2019年,承蒙各位的厚爱,WTM从零开始一年的时间在GitHub上收获了将近1600星,nuget上的下载量累计超过10万. WTM所坚持的低码开发,快速实现的理念受到了越来越多.netco ...

  8. WTM 3.5发布,VUE来了!

    千呼万唤中,WTM的Vue前后端分离版本终于和大家见面了,我曾经跟群里1000多位用户保证过Vue版本会在春天到来,吹过的牛逼总算是圆上了. WTM一如既往地追求最大程度提高生产效率,所以内置的代码生 ...

  9. WTM asp.net core应用程序在Ubuntu上和CentOS上部署

    wtm在Ubuntu上和CentOS上部署 项目发布 在Visual Studio中右击Web项目,选择发布,如下图: Ubuntu安装.net core运行时 Ubuntu我是用的Vmware虚拟机 ...

随机推荐

  1. Vue.js教程—1.介绍和安装

    Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架.Vue 只关注视图层, 采用自底向上增量开发的设计.Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定 ...

  2. Docker--在ubuntu中的操作

    docker的基础命令 安装前的检查 //查看内核版本 uname -a //检查Device Mapper ls -l /sys/class/misc/device-mapper 在ubuntu中安 ...

  3. [bzoj1090][SCOI2003]字符串折叠_区间dp

    字符串折叠 bzoj-1090 SCOI-2003 题目大意:我说不明白...链接 注释:自己看 想法:动态规划 状态:dp[i][j]表示从第i个字符到第j个字符折叠后的最短长度. 转移:dp[l] ...

  4. Unix(AIX) set命令

    Unix(AIX) set命令,set命令是shell所具有的,不仅仅是aix自己有的: set -o vi  可以用vi方式操作,用来获取已经输入过的命令: 如果希望自动设置,可以在.profile ...

  5. BZOJ 1455 罗马游戏 左偏树

    题目大意:给定n个点,每一个点有一个权值,提供两种操作: 1.将两个点所在集合合并 2.将一个点所在集合的最小的点删除并输出权值 非常裸的可并堆 n<=100W 启示式合并不用想了 左偏树就是快 ...

  6. HDU 1198 Farm Irrigation (并查集优化,构图)

    本题和HDU畅通project类似.仅仅只是畅通project给出了数的连通关系, 而此题须要自己推断连通关系,即两个水管能否够连接到一起,也是本题的难点所在. 记录状态.不断combine(),注意 ...

  7. hdu4849 Wow! Such City!(最短路dijkstra)

    转载请注明出处:http://blog.csdn.net/u012860063? viewmode=contents 题目链接:pid=4849">http://acm.hdu.edu ...

  8. h5-10 canvas 简易祖玛

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. log4net写日志的时间附带时区信息

    <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.fffzzz} [%thread] %-5level %logger - %me ...

  10. Top 5 Timed Events[转]

    Event                                               Waits    Time (s) Ela Time --------------------- ...