Chinesisch |. Englisch
Github-Repository |. Code - Cloud-Repository | . Offizielle Website |
Erupt Cloud [Verteilte Cloud-Konfiguration] |. Erupt BI [Datenanalyse] |.
QQ-Kommunikationsgruppe: 836044286
Erupt ist ein Low-Code- Full-Stack- Klassenframework, das Java-Annotationen verwendet, um Seiten und Hintergrundfunktionen wie Hinzufügen, Löschen, Ändern, Überprüfen und Berechtigungskontrolle dynamisch zu generieren.
Kein Front-End-Code, kein CURD, automatische Tabellenerstellung, nur eine Klassendatei + einfache Annotationskonfiguration und schnelle Entwicklung eines Admin-Management-Hintergrunds auf Unternehmensebene.
Hohe Skalierbarkeit, unterstützt CURD zur freien Erweiterung von @DataProxy, benutzerdefinierten Datenquellen, logischem Löschen, LDAP und OSS.
Bereitstellung von Full-Stack-Lösungen für Middle- und Back-End-Managementsysteme auf Unternehmensebene, die den Forschungs- und Entwicklungszyklus erheblich verkürzen und sich auf das Kerngeschäft konzentrieren.
Ersetzt Codegeneratoren perfekt und entwickelt bessere Lösungen für Backend-Managementsysteme
Seit 2020 wird es kontinuierlich optimiert und weiterentwickelt. Derzeit wird es von Hunderten kleiner und mittlerer Unternehmen genutzt und Tausende von Entwicklern entwickeln entsprechende Anwendungen. Hunderte von Entwicklern beteiligten sich an der Einreichung von Funktionsvorschlägen und mehr als 30 Mitwirkende beteiligten sich an der Einreichung von Code.
Automatische Tabellenerstellung : Die Tabellenstruktur wird automatisch generiert, eine manuelle Erstellung der Tabelle ist nicht erforderlich
Einfacher Einstieg : Kennen Sie einfach die Grundlagen von Spring Boot
Einfach zu verwenden : Sie müssen nur die beiden Annotationen @Erupt und @EruptField verstehen, um mit der Entwicklung zu beginnen
Der Code ist prägnant : Es wird nur eine .java
Datei benötigt und Vorlage, Controller, Dienst und Dao müssen nicht erstellt werden.
Leistungsstarke Funktionen : dynamische Bedingungsverarbeitung, logisches Löschen, LDAP, benutzerdefinierte Anmeldelogik, RedisSession, Betriebsprotokoll usw.
Mehrere Datenquellen : Unterstützung: MySQL, Oracle, SQL Server, PostgreSQL , H2 und sogar MongoDB
Hohe Skalierbarkeit : Unterstützt die Implementierung benutzerdefinierter Datenquellen, benutzerdefinierte Anmeldelogik, dynamisches Berechtigungsmanagement, Lebenszyklusfunktionen und benutzerdefiniertes OSS
Eine große Anzahl von Komponenten : gleitende Eingabe, Zeitauswahl, Eins-zu-Viele , Bild-Upload, Code-Editor, automatische Vervollständigung, Baum, Viele-zu-Viele , Karte und andere 23 Arten von Komponenten
Umfangreiche Anzeige : normaler Text, QR-Code , Link, Bild, HTML, Code-Snippet, Iframe, SWF usw.
Geringer Eingriff : Fast alle Funktionen drehen sich um Anmerkungen und haben keinen Einfluss auf andere Spring Boot-Funktionen oder die Verwendung von Bibliotheken von Drittanbietern.
Trennung von Front-End und Front-End : Back-End und Front-End können separat bereitgestellt werden
Responsives Layout : Unterstützt die Verwendung auf Geräten verschiedener Spezifikationen wie PCs und Mobiltelefonen
Benutzerdefinierte Seite : Unterstützt benutzerdefinierte Seiten, benutzerdefinierte Popup-Ebenen und unterstützt: natives H5 / Freemarker / Thymeleaf und andere Rendering-Methoden
Front-End-Nullcode : Das Front-End-Layout wird automatisch erstellt und Sie müssen keine einzige Zeile Front-End-Code schreiben.
Keine sekundäre Entwicklung erforderlich : Verweisen Sie einfach auf das JAR-Paket!
Github | Codewolke | |
---|---|---|
Backend-Quellcode | https://github.com/erupts/erupt | https://gitee.com/erupt/erupt |
Front-End-Quellcode | https://github.com/erupts/erupt-web | https://gitee.com/erupt/erupt-web |
Beispielcode | https://github.com/erupts/erupt-example | https://gitee.com/erupt/erupt-example |
Obwohl Codegeneratoren in den letzten Jahren zum neuen Favoriten der Back-End-Entwicklung geworden sind, stellt sich die Frage, ob sie wirklich die optimale Lösung für die Back-End-Entwicklung sind?
Die Essenz eines Codegenerators besteht darin, mühsamen Front-End- und Back-End-Code zu generieren. Denken Sie an Mybatis-Generator, was im Grunde eine einmalige Sache ist, obwohl es einige erleichtert Arbeit, die Lösung ist nicht die beste.
In den meisten Fällen möchten Sie bei der Entwicklung eines Backend-Managementsystems lediglich eine gemeinsame Schnittstelle zum Hinzufügen, Löschen, Ändern und Abfragen für die Datenverwaltung erstellen, ähnlich der folgenden:
PS: Erupt unterstützt die Definition komplexer Seitenanpassungen. Weitere Informationen finden Sie im Erupt-TPL-Modul.
@ 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 ;
}
Funktionelle Erfahrung
Obwohl diese Schnittstelle grob mit Vue + Ant Design + SSM erstellt werden kann, werden Sie bei genauerem Hinsehen feststellen, dass sie über viele detaillierte Funktionen verfügt, wie zum Beispiel:
Um all dies zu implementieren, ist allein im Frontend viel Code erforderlich, ganz zu schweigen von den Schnittstellen und der Geschäftslogik im Backend.
Sie können jedoch sehen, dass für die Verwendung von Erupt nur 30 Codezeilen erforderlich sind!
Es ist überhaupt nicht erforderlich , Angular/React/Vue/Jquery zu kennen
Und Sie müssen keine JavaScript/HTML/CSS- Kenntnisse haben
Sie müssen nicht einmal Spring MVC/Mybatis/SQL kennen
Auch wenn Sie Erupt nicht gelernt haben, können Sie die Rolle der meisten Konfigurationen erraten. Die gesamte Entwicklung von Hintergrundseiten kann mit einfachen Konfigurationen abgeschlossen werden.
Dies ist die ursprüngliche Absicht von Erupt. Für die am häufigsten verwendeten Seiten sollte die einfachste Methode verwendet werden. Sie müssen nicht einmal verschiedene Frameworks und Tools erlernen, um sich auf das Kerngeschäft zu konzentrieren.
Traditionelle Spring-Web-Entwicklung | Codegenerator | Axelor | Ausbrechen | |
Domänenmodell | Java-Code | Java-Code | XML-Definition | Anmerkungsanmerkungsdefinition |
DTO | Java-Code | Codegenerierung | unnötig | unnötig |
ORM-Mapping | XML- oder Java-Code | Codegenerierung | Codegenerierung | Anmerkungsdefinition |
Datenzugriff | Schnittstelle + Implementierung | Codegenerierung | Codegenerierung | Integrierte + On-Demand-Implementierung |
Geschäftslogik | Schnittstelle + Implementierung | Codegenerierung + Logikanpassung | Integrierte + On-Demand-Implementierung | Integrierte + On-Demand-@DataProxy-Implementierung |
Präsentationsschicht MVC | Java-Code + Ansichtsvorlage | Codegenerierung + Logikanpassung | unnötig | unnötig |
Frontend | Mehr als Java-Code | Codegenerierung + Logikanpassung | Für reguläre Anwendungen ist keine Entwicklung erforderlich | Für reguläre Anwendungen ist keine Entwicklung erforderlich |
Mobiler Anzeigeeffekt | |||
Laden Sie das neueste JAR herunter oder beziehen Sie es über 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 >
Detaillierte Nutzungsschritte
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...
Frontend: JavaScript, H5, MVVM, Router, Angular CLI, Angular, NG-ZORRO, NG-ALAIN, G2Plot, RxJS, TypeScript, Weniger...
Demo-Adresse: https://www.erupt.xyz/demo
Kontopasswort: guest / guest
Unterstützt 4 gängige moderne Browser sowie Internet Explorer 11+ und kann direkt in auf Webstandards basierenden Umgebungen wie Electron ausgeführt werden
Edge/IE | Firefox | Chrom | Safari | Oper | Elektron |
---|---|---|---|---|---|
Edge 16/IE 11+ | 522 | 57 | 11 | 44 | Chrom 57 |
zeta-api
: Erstellen Sie schnell API-Schnittstellen und Dokumente durch XML-Konfiguration, sicher und effizient, unerlässlich für eine schnelle Entwicklung!
Jpom
: Einfache und leichte, wenig aufdringliche Online-Konstruktion, automatische Bereitstellung, täglicher Betrieb und Wartung sowie Projektüberwachungssoftware
QQ-Kommunikationsgruppe: 836044286
WeChat-Kommunikationsgruppe: Da der WeChat-Gruppen-QR-Code nur 7 Tage lang gültig ist, folgen Sie dem offiziellen öffentlichen Erupt-Konto (EruptGuide), um den neuesten Gruppen-QR-Code zu erhalten
Der Server, der Domainname, der Speicherplatz, die Arbeit und andere Kosten dieses Frameworks wurden vom Autor selbst bezahlt und verwaltet. Open Source ist nicht einfach, aber eine Tasse Kaffee ist auch eine Frage der Liebe.
Gehen Sie zum Spenden
Github-Repository |. Code-Cloud-Repository | . Offizielle Website |
Autor: YuePeng / [email protected]