chino | inglés
Repositorio de Github | Repositorio de código en la nube | Sitio web oficial | Experiencia en línea | Documentación de uso
Erupt Cloud [Configuración de nube distribuida] | Erupt BI [Análisis de datos] | Erupt Tenant [Multiinquilino]
Grupo de comunicación QQ: 836044286
Erupt es un marco de clases de pila completa de bajo código que utiliza anotaciones de Java para generar dinámicamente páginas y funciones en segundo plano, como agregar, eliminar, modificar, verificar y controlar permisos.
Cero código de interfaz de usuario, cero CURD, creación automática de tablas, solo un archivo de clase + configuración de anotaciones simple y rápido desarrollo de experiencia en administración de administración a nivel empresarial.
Alta escalabilidad, admite CURD para extender libremente @DataProxy, fuentes de datos personalizadas, eliminación lógica, LDAP y OSS.
Proporcionar soluciones completas para sistemas de gestión de nivel medio y back-end a nivel empresarial, acortando significativamente el ciclo de investigación y desarrollo y centrándose en el negocio principal.
Reemplaza perfectamente los generadores de código y desarrolla mejores soluciones para los sistemas de gestión backend.
Se ha optimizado y actualizado continuamente desde 2020. Actualmente lo utilizan cientos de pequeñas y medianas empresas y miles de desarrolladores desarrollan aplicaciones relacionadas. Cientos de desarrolladores participaron en el envío de sugerencias de funciones y más de 30 contribuyentes participaron en el envío de código.
Creación automática de tablas : la estructura de la tabla se genera automáticamente, no es necesario crear la tabla manualmente
Comenzar es fácil : solo conozca los conceptos básicos de Spring Boot
Fácil de usar : solo necesita comprender las dos anotaciones @Erupt y @EruptField para comenzar con el desarrollo.
El código es conciso : solo se necesita un archivo .java
y no es necesario crear plantilla, controlador, servicio ni dao.
Funciones potentes : procesamiento de condiciones dinámicas, eliminación lógica, LDAP, lógica de inicio de sesión personalizada, RedisSession, registro de operaciones, etc.
Múltiples fuentes de datos : soporte: MySQL, Oracle, SQL Server, PostgreSQL , H2 e incluso MongoDB
Alta escalabilidad : admite implementación de fuentes de datos personalizadas, lógica de inicio de sesión personalizada, gestión dinámica de permisos, funciones de ciclo de vida y OSS personalizado
Una gran cantidad de componentes : entrada deslizante, selección de tiempo, uno a muchos , carga de imágenes, editor de código, autocompletar, árbol, muchos a muchos , mapa y otros 23 tipos de componentes.
Visualización enriquecida : texto normal, código QR , enlace, imagen, HTML, fragmento de código, iframe, swf, etc.
Baja intrusión : casi todas las funciones giran en torno a anotaciones y no afectan otras funciones de Spring Boot ni el uso de bibliotecas de terceros.
Separación de front-end y front-end : el back-end y el front-end se pueden implementar por separado
Diseño responsivo : admite el uso en dispositivos de diversas especificaciones, como PC y teléfonos móviles
Página personalizada : admite páginas personalizadas, capas emergentes personalizadas y admite: H5 nativo / Freemarker / Thymeleaf y otros métodos de representación
Código cero de front-end : el diseño de front-end se crea automáticamente y no es necesario escribir una sola línea de código de front-end.
No es necesario un desarrollo secundario : ¡simplemente haga referencia al paquete jar!
Github | nube de código | |
---|---|---|
Código fuente de fondo | https://github.com/erupts/erupt | https://gitee.com/erupt/erupt |
Código fuente de interfaz de usuario | https://github.com/erupts/erupt-web | https://gitee.com/erupt/erupt-web |
Código de muestra | https://github.com/erupts/erupt-example | https://gitee.com/erupt/erupt-example |
Aunque los generadores de código se han convertido en los nuevos favoritos del desarrollo back-end en los últimos años, ¿es realmente la solución óptima para el desarrollo back-end?
La esencia de un generador de código es generar código tedioso de front-end y back-end. Una vez modificado, el código generado posteriormente es difícil de fusionar. Piense en Mybatis-Generator, que es básicamente algo de una sola vez. trabajo, la solución no es la mejor.
En la mayoría de los casos, al desarrollar un sistema de administración de backend, solo desea crear una interfaz común de adición, eliminación, modificación y consulta para la administración de datos, similar a la siguiente:
PD: erupt admite la definición de personalizaciones de páginas complejas; consulte el módulo erupt-tpl para obtener más detalles.
@ Erupt (
name = "简单的例子" ,
power = @ Power ( importable = true , export = true )
)
@ Table ( name = "t_simple" ) //数据库表名
@ Entity
public class Simple extends BaseModel {
@ EruptField (
views = @ View ( title = "文本" ),
edit = @ Edit ( title = "文本" , notNull = true , search = @ Search )
)
private String input ;
@ EruptField (
views = @ View ( title = "数值" , sortable = true ),
edit = @ Edit ( title = "数值" , search = @ Search )
)
private Float number ;
@ EruptField (
views = @ View ( title = "布尔" ),
edit = @ Edit ( title = "布尔" , search = @ Search )
)
private Boolean bool ;
@ EruptField (
views = @ View ( title = "时间" ),
edit = @ Edit ( title = "时间" , search = @ Search ( vague = true ))
)
private Date date ;
@ EruptField (
views = @ View ( title = "滑动条" ),
edit = @ Edit ( title = "滑动条" , type = EditType . SLIDER , search = @ Search ,
sliderType = @ SliderType ( max = 90 , markPoints = { 0 , 30 , 60 , 90 }, dots = true ))
)
private Integer slide ;
@ EruptField (
views = @ View ( title = "下拉选择" ),
edit = @ Edit (
search = @ Search ,
title = "下拉选择" , type = EditType . CHOICE ,
choiceType = @ ChoiceType ( fetchHandler = SqlChoiceFetchHandler . class ,
fetchHandlerParams = "select id,name from e_upms_menu"
)
)
)
private Long choice ;
}
Experiencia funcional
Aunque esta interfaz se puede crear de forma aproximada usando Vue + Ant Design + SSM, si observa de cerca, encontrará que tiene muchas funciones detalladas, como:
Implementar todo esto requiere una gran cantidad de código solo en el front-end, sin mencionar las interfaces y la lógica empresarial en el back-end.
¡Pero puedes ver que usar erupt solo requiere 30 líneas de código para completarse!
No es necesario saber Angular/React/Vue/Jquery en absoluto
Y no es necesario saber JavaScript/HTML/CSS
Ni siquiera necesito saber Spring MVC/Mybatis/SQL
Incluso si no ha aprendido a erupt, puede adivinar el papel de la mayoría de las configuraciones. Todo el desarrollo de la página en segundo plano se puede completar con configuraciones simples.
Esta es la intención original de establecer erupt. Para las páginas más utilizadas, se debe utilizar el método más simple. Ni siquiera es necesario aprender varios marcos y herramientas para centrarse en el negocio principal.
Desarrollo web tradicional de Spring | generador de código | Axelor | Estallar | |
modelo de dominio | código java | código java | definición XML | Definición de anotación |
DTO | código java | generación de código | innecesario | innecesario |
mapeo ORM | Código XML o Java | generación de código | generación de código | Definición de anotación |
acceso a datos | Interfaz + implementación | generación de código | generación de código | Implementación incorporada + bajo demanda |
lógica de negocios | Interfaz + implementación | Generación de código + ajuste lógico | Implementación incorporada + bajo demanda | Implementación @DataProxy integrada y bajo demanda |
Capa de presentación MVC | Código Java + plantilla de vista | Generación de código + ajuste lógico | innecesario | innecesario |
Interfaz | Más que código Java | Generación de código + ajuste lógico | No se requiere desarrollo para aplicaciones regulares | No se requiere desarrollo para aplicaciones regulares |
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
![]() | ![]() | ||
Efecto de visualización móvil | |||
![]() | ![]() | ![]() | ![]() |
Descargue el último JAR u obtengalo a través de Maven.
<!--用户权限管理-->
< dependency >
< groupId >xyz.erupt</ groupId >
< artifactId >erupt-upms</ artifactId >
< version >LATEST-VERSION</ version >
</ dependency >
<!--接口数据安全-->
< dependency >
< groupId >xyz.erupt</ groupId >
< artifactId >erupt-security</ artifactId >
< version >LATEST-VERSION</ version >
</ dependency >
<!--后台WEB界面-->
< dependency >
< groupId >xyz.erupt</ groupId >
< artifactId >erupt-web</ artifactId >
< version >LATEST-VERSION</ version >
</ dependency >
Pasos de uso detallados
erupt
├── erupt - annotation -- 核心注解声明
├── erupt - core -- 核心功能实现
├── erupt - data -- 数据实现包
├── erupt - jpa -- 关系型数据库erupt实现
└── erupt - mongodb -- mongodb数据库erupt实现
├── erupt - job -- 定时任务功能,支持动态定时任务,邮件发送,任务日志等功能
├── erupt - upms -- 用户权限管理
├── erupt - security -- 接口数据安全
├── erupt - web -- 编译后的前端页面
├── erupt - tpl -- 支持在 erupt 中自定义页面,自定义图表,自定义弹出层,模板引擎支持:FreeMarker / Thymeleaf / 原生H5 / Velocity 等
├── erupt - tpl - ui -- 在 erupt-tpl 中可使用的 UI 库
├── ant - design
├── element - ui
└── amis
├── erupt - generator -- 代码生成器,通过配置,生成 erupt 代码段
└── erupt - monitor -- 基于erupt实现的服务监控
erupt - pro
├── erupt - dataflow -- 基于erupt实现的数据流(构思中)
├── erupt - workflow -- 基于erupt实现的工作流(构思中)
├── erupt - tenant -- 基于erupt实现的SaaS云多租户(开发中,面向企业用户)
└── erupt - bi -- 通过 sql 加 js 混编实现动态报表,支持:多数据源、自定义函数、图表开发等(面向企业用户)
erupt - site -- Erupt 官方网站 https://github.com/erupts/erupt-site
erupt - web -- Erupt 前端源码 https://github.com/erupts/erupt-web
Backend: Java 8, Spring Boot, ScriptEngine, SpEL, Annotation, JDBC, Reflect, JPA, Hibernate, Quartz, Gson, Lombok, POI...
Front-end: JavaScript, H5, MVVM, enrutador, Angular CLI, Angular, NG-ZORRO, NG-ALAIN, G2Plot, RxJS, TypeScript, Less...
Dirección de demostración: https://www.erupt.xyz/demo
Contraseña de cuenta: guest / guest
Admite 4 navegadores modernos convencionales, así como Internet Explorer 11+, y puede ejecutarse directamente en entornos basados en estándares web como Electron
Borde/IE | Firefox | Cromo | Safari | Ópera | Electrón |
---|---|---|---|---|---|
Borde 16/IE 11+ | 522 | 57 | 11 | 44 | Cromo 57 |
zeta-api
: Cree rápidamente interfaces API y documentos a través de la configuración XML, de forma segura y eficiente, ¡esencial para un desarrollo rápido!
Jpom
: software de construcción en línea, implementación automática, operación y mantenimiento diarios y monitoreo de proyectos, simple, liviano y poco intrusivo.
Grupo de comunicación QQ: 836044286
Grupo de comunicación WeChat: dado que el código QR del grupo WeChat solo es válido durante 7 días, siga la cuenta pública oficial de Erupt (EruptGuide) para obtener el código QR del grupo más reciente.
El servidor, el nombre de dominio, el espacio, la mano de obra y otros costos de este marco los paga y mantiene el propio autor. El código abierto no es fácil, pero una taza de café también es una cuestión de amor.
ir a donar
Repositorio de Github | Repositorio de código en la nube | Sitio web oficial | ¿ Documentación de uso?
Autor: YuePeng / [email protected]