中文 | English
GitHub репозиторий | GitCode репозиторий | Репозиторий на Gitee | Официальный сайт | Интерактивное тестирование | Экосистема фреймворка | 📘 Документация использования
Erupt Cloud【Облачная архитектура】 | Linq.J | Erupt BI 【Анализ данных】 | Erupt Tenant 【Многопользовательская система】
QQ общение: 836044286 🔥
Erupt — это низкоуровневый полносайтовый фреймворк, который использует Java аннотации для динамического создания страниц и выполнения операций CRUD, управления правами доступа и других функций.
Без кода на фронтенде, без операций CRUD, автоматическое создание таблиц, всего лишь с одним файлом .java и простыми конфигурациями аннотаций можно быстро создать корпоративный административный интерфейс управления.
Высокая расширяемость, поддерживает свободное расширение CRUD @DataProxy, пользовательских источников данных, логической удаленной записи, LDAP, OSS.
Предоставляет полное решение для разработки корпоративной среды управления, значительно сжимает сроки разработки, позволяя сосредоточиться на ключевых бизнес-процессах.
Первоклассная замена генератору кода, лучшее решение для разработки систем управления.
Начиная с 2020 года постоянно совершенствуется, в настоящее время используется более сотней малых и средних компаний, тысячи разработчиков используют его для создания приложений. Более ста разработчиков приняли участие в предложениях по функциям, более тридцати участников приняли участие в предоставлении кода.
Автоматическое создание таблиц: структура таблицы генерируется автоматически, нет необходимости вручную создавать таблицы
Простота использования: достаточно знать основы Spring Boot
Легкость применения: требуется понимание только двух аннотаций - @Erupt и @EruptField
Конкретность кода: требуется всего один файл .java, нет необходимости создавать шаблоны, контроллеры, сервисы, DAO
Сильные возможности: динамическая обработка условий, логическая удаленная запись, LDAP, пользовательские механизмы входа, RedisSession, журнал действий и т.д.
Поддержка множества источников данных: поддерживается MySQL, Oracle, SQL Server, PostgreSQL, H2, даже MongoDB
Высокая расширяемость: поддерживает пользовательские реализации источников данных, пользовательские механизмы входа, динамическое управление правами доступа, жизненный цикл функций, пользовательские OSS
Много компонентов: скользящие поля ввода, выбор времени, один ко многим, загрузка изображений, редактор кода, автозаполнение, деревья, многие ко многим, карты и т.д., всего 23 типа компонентов
Разнообразные представления: обычный текст, QR-код, ссылки, изображения, HTML, фрагменты кода, iframe, swf и т.д.
Низкая вторжение: почти все функции основаны на аннотациях, что не влияет на использование других функций Spring Boot или сторонних библиотек
Отделение фронтенда от бэкенда: бэкенд и фронтенд могут быть размещены отдельно
Откликающийся дизайн: поддерживает использование на различных устройствах, включая ПК и мобильные устройства
Пользовательские страницы: поддерживает пользовательские страницы и модальные окна, поддерживаются способы рендеринга: native H5 / Freemarker / Thymeleaf
Фронтенд без кода: автоматическое создание дизайна фронтенда, ни одной строки кода не требуется
Не требуются повторные разработки: достаточно использовать jar-пакет!
Хотя за последние годы генераторы кода стали новым трендом в разработке backend, являются ли они оптимальным решением?
Основой работы генераторов кода является создание сложного кода на фронтенде и бэкенде. После изменения сложно объединять новые версии сгенерированного кода, как это происходит с Mybatis-Generator, который обычно используется однажды. Хотя он снижает часть нагрузки, метод решения не является оптимальным.При разработке backend-систем большую часть времени требуется просто создать простые формы CRUD для управления данными, такие как:
PS: erupt позволяет определить сложные пользовательские страницы, подробнее см. erupt-tpl модуль
@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;
}
Эта форма хотя бы и может быть сделана с помощью Vue + Ant Design + SSM, но если внимательно рассмотреть, она имеет множество деталей, таких как:
Для реализации всех этих функций требуется большое количество кода на фронтенде, а также много интерфейсов и бизнес-логики на бэкенде.
Однако видно, что с использованием erupt требуется всего тридцать несколько строк кода!
Полностью не требуется знание Angular / React / Vue / jQuery
И не требуется знание JavaScript / HTML / CSS
И даже не требуется знание Spring MVC / MyBatis / SQL
Даже если вы никогда не работали с erupt, вы можете догадаться о значении большинства конфигураций, и с минимальной настройкой сможете создать любую страницу управления на бэкенде.
Это и есть цель создания erupt, для большинства часто используемых страниц следует использовать самый простой способ их реализации, даже без необходимости изучения различных фреймворков и инструментов, чтобы сосредоточиться на ключевых бизнес-процессах.## 🆚 Сравнение методик разработки | Comparison of Development Approaches
Традиционная разработка Spring Web | Генератор кода | Axelor | Erupt | |
Доменные модели | Java код | Java код | Определение XML | Аннотация |
DTO | Java код | Автоматическая генерация кода | Не требуется | Не требуется |
ORM отображение | XML или Java код | Автоматическая генерация кода | Автоматическая генерация кода | Аннотация |
Доступ к данным | Интерфейсы + реализация | Автоматическая генерация кода | Автоматическая генерация кода | Встроенная + по требованию реализация |
Бизнес-логика | Интерфейсы + реализация | Автоматическая генерация кода + корректировка логики | Встроенная + по требованию реализация | Встроенная + по требованию @DataProxy реализация |
MVC представление слоя | Java код + шаблоны представлений | Автоматическая генерация кода + корректировка логики | Не требуется | Не требуется |
Фронтенд | Более чем Java код | Автоматическая генерация кода + корректировка логики | Разработка не требуется для обычных приложений | Разработка не требуется для обычных приложений |
![]() |
![]() |
||
![]() |
![]() |
||
![]() |
![]() |
||
![]() |
![]() |
||
![]() |
![]() |
||
Мобильная версия | |||
![]() |
![]() |
![]() |
![]() |
Скачайте последнюю версию JAR или получите через Maven.
<!--Управление пользователями и правами доступа-->
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-admin</artifactId>
<version>LATEST-VERSION</version>
</dependency>
<!--Backend WEB interface-->
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-web</artifactId>
<version>LATEST-VERSION</version>
</dependency>
Подробные шаги установки## 🥏 Описание модулей | Description of Modules
erupt
├── erupt-annotation -- Основные аннотации
├── erupt-core -- Основные функциональные возможности
├── erupt-data -- Пакет реализации данных
├── erupt-jpa -- Реализация для реляционных баз данных
└── erupt-mongodb -- Реализация для MongoDB
├── erupt-job -- Поддержка задач планировщика, включая динамическое планирование задач, отправку электронной почты, логирование задач и т.д.
├── erupt-upms -- Управление пользователями и правами доступа
├── erupt-security -- Защита данных API
├── erupt-web -- Собранные фронтэнд страницы
├── erupt-tpl -- Поддерживает создание пользовательских страниц, графиков, модальных окон и т.д., использует движки шаблонов: FreeMarker / Thymeleaf / Native H5 / Velocity и т.д.
├── erupt-tpl-ui -- Библиотека UI для использования в erupt-tpl
├── ant-design
├── element-ui
└── amis
├── erupt-generator -- Генератор кода, создаёт код на основе конфигураций
└── erupt-monitor -- Мониторинг сервисов на основе erupt
erupt-pro
├── erupt-dataflow -- Реализация потока данных на основе erupt (в разработке)
├── erupt-workflow -- Реализация рабочих процессов на основе erupt (в разработке)
├── erupt-tenant -- Реализация многоучастников для облачных решений SaaS на основе erupt (разрабатывается для корпоративных пользователей)
└── erupt-bi -- Создание динамических отчетов с помощью SQL и JavaScript, поддерживает: несколько источников данных, пользовательские функции, разработку графиков и т.д. (для корпоративных пользователей)
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, Router, Angular CLI, Angular, NG-ZORRO, NG-ALAIN, G2Plot, RxJS, TypeScript, Less...
Просмотреть можно здесь: https://www.erupt.xyz/demo
Логин/пароль: guest / guest
Поддерживается основными современными браузерами, а также Internet Explorer 11+, работает в средах на основе Web стандартов, таких как Electron
![]() Edge / IE |
![]() Firefox |
![]() Chrome |
![]() Safari |
![]() Opera |
![]() Electron |
---|---|---|---|---|---|
Edge 16 / IE 11+ | 522 | 57 | 11 | 44 | Chromium 57 |
[zeta-api
]: Быстрое создание API-интерфейсов и документации с использованием XML-конфигураций, безопасно и эффективно, необходимый инструмент для быстрой разработки
[
Jpom
]: Лёгкий и независимый онлайн-билдер, автоматизация развертывания, повседневное обслуживание и мониторинг проектов.
QQ общение: 836044286 🔥
WeChat общение: Из-за того что QR-коды WeChat действуют всего неделю, следуйте за официальным WeChat-каналом проекта Erupt (EruptGuide), чтобы получить актуальные QR-коды группы.
Стоимость серверов, доменов, хостинга и других расходов всегда покрывается автором самостоятельно, и он продолжает поддерживать этот проект. Открытый исходный код — это большая работа, даже чашка кофе может стать знаком благодарности 🙏
GitHub репозиторий | GitCode репозиторий | Gitee репозиторий | Официальный сайт | Онлайн демо | 📖 Инструкции по использованию
Автор: YuePeng / erupts@126.com
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )