6个.NET开源且强大的快速开发框架(帮助你提高生产效率)

news2024/9/20 20:45:38

中台Admin(Admin.Core)

中台Admin(Admin.Core)是前后端分离权限管理系统,前端 UI 基于Vue3开发,后端 Api 基于.NET 8.0开发。支持多租户、接口权限、数据权限、动态 Api、任务调度、OSS 文件上传、滑块拼图验证、国内外主流数据库自由切换和动态高级查询。集成统一认证授权、事件总线、数据验证、分布式雪花Id、分布式缓存、分布式事务、IP 限流、性能分析、集成测试、健康检查、接口文档等。

  • GitHub源码:GitHub - zhontai/Admin.Core: 中台Admin前后端分离的权限管理系统。支持多租户、数据权限、动态Api、任务调度、OSS文件上传、滑块拼图验证、国内外主流数据库自由切换和动态高级查询。基于.Net跨平台开发的WebApi。集成统一认证授权、事件总线、数据验证、分布式缓存、分布式事务、Ip限流、全Api鉴权、集成测试、性能分析、健康检查、接口文档等。

  • 文章详细介绍:https://mp.weixin.qq.com/s/zxPo6GKHPPLwa_EERVlarw

DncZeus

DncZeus是一个基于 .NET 7 + Vue.js 的前后端分离的通用后台管理系统框架。后端使用.NET 7 + Entity Framework Core 构建,UI 则是目前流行的基于 Vue.js 的 iView。项目实现了前后端的动态权限管理和控制以及基于 JWT 的用户令牌认证机制,让前后端的交互更流畅。

注意:DncZeus并不是一个完整的业务系统,但她提供完成业务系统的绝大多数开发场景,让每一位.NET 开发者都能基于DncZeus快速开发出交互、体验以及功能极佳的.NET 7 单页应用程序(SPA)。

  • GitHub源码:GitHub - lampo1024/DncZeus: DncZeus 是一个基于.NET 7 + Vue.js(iview-admin) 的前后端分离的通用后台权限(页面访问、操作按钮控制)管理系统框架。后端使用.NET 7 + EF Core构建,UI则是目前流行的基于Vue.js的iView(iview-admin)。项目实现了前后端的动态权限管理和控制以及基于JWT的用户令牌认证机制,让前后端的交互更流畅。码云镜像:https://gitee.com/rector/DncZeus 。演示地址(demo):

  • 文章详细介绍:https://mp.weixin.qq.com/s/07SxRGkzQJusUvc49sIxKQ

JNPF快速开发平台

JNPF深度集成 java+.net 双技术引擎,具备易维护、便部署、高集成、高效率等多方面特性,面向企业项目提供开发服务,提供开发构建、开放连接、部署运维、在线运营的全生命周期能力。同时,支持多种云环境部署、本地部署给予最大的安全保障,可以帮助企业快速搭建适合自身应用场景的产品。

通过在线开发、流程引擎、代码生成等核心功能快速构建相关业务系统,可以帮助开发者实现5分钟配置一张业务表单、5小时搭建一个专属应用、5天落地一个管理方案,并且易于维护、易于扩展、安全稳定,助力企业打通数字化的“最后一公里”。

  • 体验实操:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

WalkingTec.Mvvm框架(简称WTM)

WalkingTec.Mvvm框架(简称WTM)是基于.net core的快速开发框架。支持Layui(前后端不分离), React(前后端分离),VUE(前后端分离),内置代码生成器,最大程度的提高开发效率,是一款高效开发的利器。

WTM框架的前后端分离模式同样可以使用代码生成器同时生成前台和后台的代码,极大的降低了前后端人员的沟通成本,从本质上提升了开发效率,让“分离”不再复杂和昂贵。

  • GitHub源码:GitHub - dotnetcore/WTM: Use WTM to write .netcore app fast !!!

  • 文章详细介绍:https://mp.weixin.qq.com/s/BqMMMGylRQb_rq_b6Lkysw

OpenAuth.Net

.Net权限管理及快速开发框架、最好用的权限工作流系统。源于Martin Fowler企业级应用开发思想及最新技术组合(SqlSugar、EF、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、Vue2/3、Element-ui/plus、IdentityServer等)。核心模块包括:角色授权、代码生成、智能打印、表单设计、工作流、定时任务等。架构易扩展,是中小企业的首选。

  • GitHub源码:OpenAuth.Net: 🔥.Net权限管理及快速开发框架、最好用的权限工作流系统。源于Martin Fowler企业级应用开发思想及最新技术组合(SqlSugar、EF、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、Vue2/3、Element-ui/plus、IdentityServer等)。包括:角色授权、代码生成、打印设计、表单设计、工作流等。架构易扩展,是中小企业的首选。

  • 文章详细介绍:https://mp.weixin.qq.com/s/U01_i2_F0Knk-jcURm96TA

Blog.Core

一个开箱即用的企业级前后端分离【.NET Core6.0 Api + Vue 2.x + RBAC】权限框架(提高生产效率,快速开发就选它)。

  • GitHub源码:GitHub - anjoy8/Blog.Core: 💖 ASP.NET Core 8.0 全家桶教程,前后端分离后端接口,vue教程姊妹篇,官方文档:

  • 文章详细介绍:https://mp.weixin.qq.com/s/mnYJLRRroDRgmInjkpwtQg

文章转载自:追逐时光者

原文链接:https://www.cnblogs.com/Can-daydayup/p/18004477

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1431703.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

格式化日期注解@JsonFormat的使用和TimeZone时区问题

JsonFormat的使用 目的 为了便于date类型字段的序列化和反序列化,需要在数据结构的Date、Timestamp、DateTime类型的字段上用JsonFormat注解进行注解 使用 JsonFormat注解是一个时间格式化注解,比如我们存储在mysql中的数据是date类型的,当…

qml为程序设置图标(100%成功!3步搞定!)

步骤1 打开 CMakeLists.txt 文件,在 main.cpp 这行代码下面,添加一句:icon.rc。 步骤2 此时 icon.rc 这个文件还不存在,我们需要在目录中新建一个 .txt 文件,然后把文件名和后缀名改为 icon.rc。 步骤3 在 Qt Creat…

华为通过流策略实现策略路由(重定向到不同的下一跳)

通过流策略实现策略路由(重定向到不同的下一跳) 组网图形 图1 配置策略路由组网图 策略路由简介配置注意事项组网需求配置思路操作步骤配置文件 策略路由简介 传统的路由转发原理是首先根据报文的目的地址查找路由表,然后进行报文转发。但…

父类之王“Object”类和内部类

👨‍💻作者简介:👨🏻‍🎓告别,今天 📔高质量专栏 :☕java趣味之旅 欢迎🙏点赞🗣️评论📥收藏💓关注 💖衷心的希…

DS:时间复杂度和空间复杂度

创作不易,感谢三连! 一、算法 1.1 什么是算法 算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。…

MongoDB复制集实战及原理分析

文章目录 MongoDB复制集复制集架构三节点复制集模式PSS模式(官方推荐模式)PSA模式 典型三节点复制集环境搭建复制集注意事项环境准备配置复制集复制集状态查询使用mtools创建复制集安全认证复制集连接方式 复制集成员角色属性一:Priority 0属…

【边缘服务】

目录 边缘服务是一种新兴的技术趋势边缘服务的应用领域非常广泛边缘服务的核心特点之一是分布式部署另一个核心特点是低延迟边缘服务还可以提供更好的安全性和隐私保护总的来说 边缘服务是一种新兴的技术趋势 它将计算、存储和网络资源推向网络边缘,以实现更低的延…

【大厂AI课学习笔记】1.4 算法的进步(4)关于李飞飞团队的ImageNet

第一个图像数据库是ImageNet,由斯坦福大学的计算机科学家李飞飞推出。ImageNet是一个大型的可视化数据库,旨在推动计算机视觉领域的研究。这个数据库包含了数以百万计的手工标记的图像,涵盖了数千个不同的类别。 基于ImageNet数据库&#xf…

STM32--SPI通信协议(2)W25Q64简介

一、W25Q64简介 1、W25Qxx中的xx是不同的数字,表示了这个芯片不同的存储容量; 2、存储器分为易失性与非易失性,主要区别是存储的数据是否是掉电不丢失: 易失性存储器:SRAM、DRAM; 非易失性存储器&#xff…

RabbitMQ_00000

MQ的相关概念 RabbitMQ官网地址:https://www.rabbitmq.com RabbitMQ API地址:https://rabbitmq.github.io/rabbitmq-java-client/api/current/ 什么是MQ? MQ(message queue)本质是个队列,FIFO先入先出,只不过队列中…

opencv#41 轮廓检测

轮廓概念介绍 通常我们使用二值化的图像进行轮廓检测,对轮廓以外到内进行数字命名,如下图,最外面的轮廓命名为0,向内部进行扩展,遇到黑色白色相交区域,就是一个新的轮廓,然后依次对轮廓进行编号…

ShardingSphere 5.x 系列【5】Spring Boot 3.1 集成Sharding Sphere-JDBC并实现读写分离

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列ShardingSphere 版本 5.4.0 源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo 文章目录 1. 概述2. 使用限制3. 案例演示3.…

教师考编制一年有几次报名机会

作为一名教师,考编制是职业生涯中重要的一环。但你知道吗?教师考编制的报名机会并不是固定的,而是因地区和考试类型而异。那么,教师考编制一年到底有几次报名机会呢? 目前,教师考编制主要有两种类型&#…

瑞_数据结构与算法_B树

文章目录 1 什么是B树1.1 B树的背景1.2 B 的含义1.3 B-树的度和阶1.4 B-树的特性1.5 B-树演变过程示例 2 B-树的Java实现2.1 B树节点类Node 🙊前言:本文章为瑞_系列专栏之《数据结构与算法》的B树篇。由于博主是从B站黑马程序员的《数据结构与算法》学习…

vue学习91-105

vue的基本认知p91 创建一个空仓库p93 vue 路由 vuex版本 2 3 3 3 4 4 npm的vuex装包npm install vuex --save vuex里有仓库,仓库放vuex核心代码,所有组件都能访问到 const store new Vuex.Store()//访问stored this.$store如何提供$访问vuex的数据p94 核心概念-…

SQL Server之DML触发器

一、如何创建一个触发器呢 触发器的定义语言如下: CREATE [ OR ALTER ] TRIGGER trigger_nameon {table_name | view_name}{for | After | Instead of }[ insert, update,delete ]assql_statement从这个定义语言我们可以知道如下信息: trigger_name&…

Java 获取操作时区 ZonedDateTime

Java 获取操作时区 ZonedDateTime package com.zhong.timeaddress;import java.time.Clock; import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.Set;public class TimeAddress {public static void main(String[] args) {// 获取系统默认时区ZoneId…

OIS1 OIS1N OSSR OSSI用途

自记: 还是没有理解了 互补通道与刹车 互补通道与刹车功能是高级寄存器特有的功能。 在使用互补通道时,往往还需要考虑死区等特殊功能。而本文为了简单起见,不再考虑死区区间。通过配置TIMx_CCER寄存器,来使能互补通道&#x…

Spring IOC 之深入分析 Aware 接口

🎬作者简介:大家好,我是小徐🥇☁️博客首页:CSDN主页小徐的博客🌄每日一句:好学而不勤非真好学者 📜 欢迎大家关注! ❤️ AbstractAutowireCapableBeanFacto…

Leetcode—33. 搜索旋转排序数组【中等】

2024每日刷题&#xff08;110&#xff09; Leetcode—33. 搜索旋转排序数组 实现代码 class Solution { public:int search(vector<int>& nums, int target) {int n nums.size();int l 0, r n - 1;while(l < r) {int m l (r - l) / 2;if(nums[m] target) …