Chinês | Inglês
Repositório Github | Repositório de nuvem de código |
Erupt Cloud [configuração de nuvem distribuída] | Erupt BI [análise de dados] |
Grupo de comunicação QQ: 836044286
Erupt é uma estrutura de classe full-stack de baixo código que usa anotações Java para gerar páginas dinamicamente e funções de segundo plano, como adição, exclusão, modificação, verificação e controle de permissão.
Zero código front-end, zero CURD, criação automática de tabela, apenas um arquivo de classe + configuração de anotação simples e rápido desenvolvimento de experiência em gerenciamento administrativo de nível empresarial.
Alta escalabilidade, suporta CURD para estender livremente @DataProxy, fontes de dados personalizadas, exclusão lógica, LDAP e OSS.
Fornece soluções full-stack para sistemas de gerenciamento intermediário e back-end de nível empresarial, encurtando significativamente o ciclo de pesquisa e desenvolvimento e concentrando-se no negócio principal.
Substitui perfeitamente geradores de código e desenvolve melhores soluções para sistemas de gerenciamento de backend
Ele tem sido continuamente otimizado e atualizado desde 2020. Atualmente é usado por centenas de pequenas e médias empresas e milhares de desenvolvedores desenvolvem aplicativos relacionados. Centenas de desenvolvedores participaram do envio de sugestões de recursos e mais de 30 colaboradores participaram do envio de código.
Criação automática de tabela : a estrutura da tabela é gerada automaticamente, sem necessidade de criar a tabela manualmente
Fácil de começar : basta conhecer o básico do Spring Boot
Fácil de usar : você só precisa entender as duas anotações @Erupt e @EruptField para começar o desenvolvimento
O código é conciso : apenas um arquivo .java
é necessário e modelo, controlador, serviço e dao não precisam ser criados.
Funções poderosas : processamento dinâmico de condições, exclusão lógica, LDAP, lógica de login personalizada, RedisSession, log de operação, etc.
Múltiplas fontes de dados : suporte: MySQL, Oracle, SQL Server, PostgreSQL , H2 e até MongoDB
Alta escalabilidade : suporta implementação de fonte de dados personalizada, lógica de login personalizada, gerenciamento dinâmico de permissões, funções de ciclo de vida e OSS personalizado
Um grande número de componentes : entrada deslizante, seleção de tempo, um para muitos , upload de imagem, editor de código, preenchimento automático, árvore, muitos para muitos , mapa e outros 23 tipos de componentes
Exibição rica : texto comum, código QR , link, imagem, HTML, trecho de código, iframe, swf, etc.
Baixa intrusão : Quase todas as funções giram em torno de anotações e não afetam outras funções do Spring Boot ou o uso de bibliotecas de terceiros.
Separação de front-end e front-end : back-end e front-end podem ser implantados separadamente
Layout responsivo : suporta uso em dispositivos de diversas especificações, como PC e telefones celulares
Página personalizada : suporta página personalizada, camada pop-up personalizada e suporta: H5 / Freemarker / Thymeleaf nativo e outros métodos de renderização
Código zero de front-end : o layout de front-end é construído automaticamente e você não precisa escrever uma única linha de código de front-end.
Não há necessidade de desenvolvimento secundário : basta fazer referência ao pacote jar!
GitHub | nuvem de código | |
---|---|---|
Código-fonte de back-end | https://github.com/erupts/erupt | https://gitee.com/erupt/erupt |
Código fonte front-end | https://github.com/erupts/erupt-web | https://gitee.com/erupt/erupt-web |
Código de exemplo | https://github.com/erupts/erupt-example | https://gitee.com/erupt/erupt-example |
Embora os geradores de código tenham se tornado os novos favoritos do desenvolvimento back-end nos últimos anos, eles são realmente a solução ideal para o desenvolvimento back-end?
A essência de um gerador de código é gerar código tedioso de front-end e back-end. Uma vez modificado, o código gerado posteriormente é difícil de mesclar. Pense no Mybatis-Generator, que é basicamente algo único. trabalho, a solução não é a melhor.
Na maioria dos casos, ao desenvolver um sistema de gerenciamento de back-end, você deseja apenas fazer uma interface comum de adição, exclusão, modificação e consulta para gerenciamento de dados, semelhante à seguinte:
PS: erupt suporta a definição de personalizações de páginas complexas, consulte o módulo erupt-tpl para obter detalhes.
@ 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 ;
}
Experiência funcional
Embora essa interface possa ser feita aproximadamente usando Vue + Ant Design + SSM, se você olhar de perto, descobrirá que ela possui muitas funções detalhadas, como:
A implementação de tudo isso requer muito código apenas no front-end, sem mencionar as interfaces e a lógica de negócios no back-end.
Mas você pode ver que usar o Erupt requer apenas 30 linhas de código para ser concluído!
Não há necessidade de saber Angular/React/Vue/Jquery
E não há necessidade de saber JavaScript/HTML/CSS
Nem precisa conhecer Spring MVC/Mybatis/SQL
Mesmo que você não tenha aprendido o Erupt, você pode adivinhar a função da maioria das configurações. Todo o desenvolvimento da página em segundo plano pode ser concluído com configurações simples.
Esta é a intenção original de estabelecer o Erupt. Para as páginas mais usadas, o método mais simples deve ser usado. Você nem precisa aprender várias estruturas e ferramentas para focar no negócio principal.
Desenvolvimento Tradicional Spring Web | gerador de código | Axelor | Entrar em erupção | |
modelo de domínio | Código Java | Código Java | Definição XML | Definição de anotação de anotação |
DTO | Código Java | geração de código | desnecessário | desnecessário |
Mapeamento ORM | Código XML ou Java | geração de código | geração de código | Definição de anotação |
acesso a dados | Interface + implementação | geração de código | geração de código | Implementação integrada + sob demanda |
lógica de negócios | Interface + implementação | Geração de código + ajuste lógico | Implementação integrada + sob demanda | Implementação @DataProxy integrada e sob demanda |
Camada de apresentação MVC | Código Java + modelo de visualização | Geração de código + ajuste lógico | desnecessário | desnecessário |
front-end | Mais que código Java | Geração de código + ajuste lógico | Nenhum desenvolvimento necessário para aplicativos regulares | Nenhum desenvolvimento necessário para aplicativos regulares |
Efeito de exibição móvel | |||
Baixe o JAR mais recente ou obtenha-o por meio do 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 >
Etapas de uso detalhadas
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
Back-end: Java 8, Spring Boot, ScriptEngine, SpEL, Annotation, JDBC, Reflect, JPA, Hibernate, Quartz, Gson, Lombok, POI...
Front-end: JavaScript, H5, MVVM, Roteador, Angular CLI, Angular, NG-ZORRO, NG-ALAIN, G2Plot, RxJS, TypeScript, Menos...
Endereço de demonstração: https://www.erupt.xyz/demo
Senha da conta: guest / guest
Suporta 4 navegadores modernos convencionais, bem como Internet Explorer 11+, e pode ser executado diretamente em ambientes baseados em padrões da web, como Electron
Borda/IE | Firefox | Cromo | Safári | Ópera | Elétron |
---|---|---|---|---|---|
Borda 16/IE 11+ | 522 | 57 | 11 | 44 | Cromo 57 |
zeta-api
: Crie rapidamente interfaces API e documentos por meio de configuração XML, segura e eficiente, essencial para um desenvolvimento rápido!
Jpom
: Construção on-line simples, leve e pouco invasiva, implantação automática, operação e manutenção diária e software de monitoramento de projeto
Grupo de comunicação QQ: 836044286
Grupo de comunicação WeChat: Como o código QR do grupo WeChat é válido apenas por 7 dias, siga a conta pública oficial do Erupt (EruptGuide) para obter o código QR do grupo mais recente
O servidor, o nome de domínio, o espaço, a mão de obra e outros custos desta estrutura foram pagos e mantidos pelo próprio autor. O código aberto não é fácil, mas uma xícara de café também é uma questão de amor.
Vá doar
Repositório Github | Repositório de nuvem de código |
Autor: YuePeng / [email protected]