Chinois | Anglais
Dépôt Github | Dépôt de code cloud | Site officiel | Expérience en ligne | Documentation d'utilisation |
Erupt Cloud [Configuration du cloud distribué] | Erupt BI [Analyse des données] Locataire Erupt [Multi-tenant]
Groupe de communication QQ : 836044286
Erupt est un framework de classes full-stack low-code qui utilise des annotations Java pour générer dynamiquement des pages et des fonctions d'arrière-plan telles que l'ajout, la suppression, la modification, la vérification et le contrôle des autorisations.
Zéro code frontal, zéro CURD, création automatique de tables, un seul fichier de classe + configuration d'annotation simple et développement rapide d'un arrière-plan de gestion administrative au niveau de l'entreprise.
Haute évolutivité, prend en charge CURD pour étendre librement @DataProxy, les sources de données personnalisées, la suppression logique, LDAP et OSS.
Fournir des solutions complètes pour les systèmes de gestion intermédiaire et back-end au niveau de l'entreprise, raccourcissant considérablement le cycle de recherche et développement et se concentrant sur le cœur de métier.
Remplace parfaitement les générateurs de code et développe de meilleures solutions pour les systèmes de gestion backend
Il a été continuellement optimisé et mis à niveau depuis 2020. Il est actuellement utilisé par des centaines de petites et moyennes entreprises, et des milliers de développeurs développent des applications associées. Des centaines de développeurs ont participé à la soumission de suggestions de fonctionnalités, et plus de 30 contributeurs ont participé à la soumission de code.
Création automatique du tableau : la structure du tableau est générée automatiquement, pas besoin de créer manuellement le tableau
Facile à démarrer : il suffit de connaître les bases de Spring Boot
Facile à utiliser : Il vous suffit de comprendre les deux annotations @Erupt et @EruptField pour vous lancer dans le développement
Le code est concis : un seul fichier .java
est nécessaire, et le modèle, le contrôleur, le service et le dao n'ont pas besoin d'être créés.
Fonctions puissantes : traitement dynamique des conditions, suppression logique, LDAP, logique de connexion personnalisée, RedisSession, journal des opérations, etc.
Sources de données multiples : support : MySQL, Oracle, SQL Server, PostgreSQL , H2, et même MongoDB
Haute évolutivité : prend en charge la mise en œuvre de sources de données personnalisées, la logique de connexion personnalisée, la gestion dynamique des autorisations, les fonctions de cycle de vie et les logiciels libres personnalisés.
Un grand nombre de composants : saisie coulissante, sélection de temps, un-à-plusieurs , téléchargement d'images, éditeur de code, saisie semi-automatique, arborescence, plusieurs-à-plusieurs , carte et 23 autres types de composants
Affichage riche : texte ordinaire, code QR , lien, image, HTML, extrait de code, iframe, swf, etc.
Faible intrusion : presque toutes les fonctions tournent autour des annotations et n'affectent pas les autres fonctions de Spring Boot ni l'utilisation de bibliothèques tierces.
Séparation du front-end et du front-end : back-end et front-end peuvent être déployés séparément
Mise en page réactive : prend en charge l'utilisation sur des appareils de diverses spécifications tels que les PC et les téléphones mobiles
Page personnalisée : prend en charge la page personnalisée, la couche contextuelle personnalisée et prend en charge : H5 natif / Freemarker / Thymeleaf et d'autres méthodes de rendu
Code zéro frontal : La mise en page frontale est automatiquement construite et vous n'avez pas besoin d'écrire une seule ligne de code frontal.
Pas besoin de développement secondaire : référencez simplement le package jar !
GitHub | nuage de codes | |
---|---|---|
Code source du back-end | https://github.com/erupts/erupt | https://gitee.com/erupt/erupt |
Code source frontal | https://github.com/erupts/erupt-web | https://gitee.com/erupt/erupt-web |
Exemple de code | https://github.com/erupts/erupt-example | https://gitee.com/erupt/erupt-example |
Bien que les générateurs de code soient devenus le nouveau favori du développement back-end ces dernières années, sont-ils vraiment la solution optimale pour le développement back-end ?
L'essence d'un générateur de code est de générer du code fastidieux front-end et back-end. Une fois modifié, le code généré ultérieurement est difficile à fusionner. Pensez à Mybatis-Generator, qui est fondamentalement une chose ponctuelle. fonctionne, la solution n’est pas la meilleure.
Dans la plupart des cas, lors du développement d'un système de gestion back-end, vous souhaitez simplement créer une interface commune d'ajout, de suppression, de modification et de requête pour la gestion des données, similaire à la suivante :
PS : erupt prend en charge la définition de personnalisations de pages complexes, voir le module erupt-tpl pour plus de détails.
@ 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 ;
}
Expérience fonctionnelle
Bien que cette interface puisse être grossièrement réalisée en utilisant Vue + Ant Design + SSM, si vous regardez attentivement, vous constaterez qu'elle possède de nombreuses fonctions détaillées telles que :
La mise en œuvre de tous ces éléments nécessite beaucoup de code uniquement sur le front-end, sans parler des interfaces et de la logique métier sur le back-end.
Mais vous pouvez voir que l’utilisation d’erupt ne nécessite que 30 lignes de code !
Pas besoin de connaître Angular/React/Vue/Jquery du tout
Et pas besoin de connaître JavaScript/HTML/CSS
Vous n'avez même pas besoin de connaître Spring MVC/Mybatis/SQL
Même si vous n'avez pas appris erupt, vous pouvez deviner le rôle de la plupart des configurations. Tout le développement de pages d'arrière-plan peut être réalisé avec des configurations simples.
C'est l'intention initiale de la création d'erupt. Pour les pages les plus couramment utilisées, la méthode la plus simple doit être utilisée. Vous n'avez même pas besoin d'apprendre divers frameworks et outils pour vous concentrer sur le cœur de métier.
Développement Web Spring traditionnel | générateur de code | Axelor | Éclater | |
modèle de domaine | Code Java | Code Java | Définition XML | Définition d'une annotation |
DTO | Code Java | génération de code | inutile | inutile |
Cartographie ORM | Code XML ou Java | génération de code | génération de code | Définition des annotations |
accès aux données | Interface + implémentation | génération de code | génération de code | Implémentation intégrée + à la demande |
logique métier | Interface + implémentation | Génération de code + ajustement logique | Implémentation intégrée + à la demande | Implémentation @DataProxy intégrée + à la demande |
Couche de présentation MVC | Code Java + modèle de vue | Génération de code + ajustement logique | inutile | inutile |
l'extrémité avant | Plus que du code Java | Génération de code + ajustement logique | Aucun développement requis pour les applications régulières | Aucun développement requis pour les applications régulières |
Effet d'affichage mobile | |||
Téléchargez le dernier JAR ou obtenez-le via 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 >
Étapes d'utilisation détaillées
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, Routeur, Angular CLI, Angular, NG-ZORRO, NG-ALAIN, G2Plot, RxJS, TypeScript, Less...
Adresse de démonstration : https://www.erupt.xyz/demo
Mot de passe du compte : guest / guest
Prend en charge 4 navigateurs modernes grand public, ainsi qu'Internet Explorer 11+, et peut s'exécuter directement sur des environnements basés sur les normes Web tels qu'Electron
Bord/IE | Firefox | Chrome | Safari | Opéra | Électron |
---|---|---|---|---|---|
Bord 16/IE 11+ | 522 | 57 | 11 | 44 | Chrome 57 |
zeta-api
: Créez rapidement des interfaces et des documents API grâce à une configuration XML, sûre et efficace, indispensable pour un développement rapide !
Jpom
: logiciel de construction en ligne simple et léger, peu intrusif, de déploiement automatique, d'exploitation et de maintenance quotidiennes et de suivi de projet
Groupe de communication QQ : 836044286
Groupe de communication WeChat : étant donné que le code QR du groupe WeChat n'est valable que 7 jours, suivez le compte public officiel d'Erupt (EruptGuide) pour obtenir le dernier code QR du groupe
Le serveur, le nom de domaine, l'espace, la main-d'œuvre et les autres coûts de ce framework ont été payés et entretenus par l'auteur lui-même. L'open source n'est pas facile, mais une tasse de café est aussi une question d'amour.
Allez faire un don
Dépôt Github | Dépôt de code cloud | Site officiel | Documentation d'utilisation |
Auteur : YuePeng / [email protected]