Вопрос или проблема
Я ищу проект или решение с открытым исходным кодом (предпочтительно на Java), которое, по сути, позволяет мне создавать формы и сохранять данные в обратно хранилище данных (SQL, NO-SQL не имеет значения, но предпочтительно, чтобы это было настраиваемо). GUI должен позволять мне определять структуру таблицы, создавать формы с помощью GUI и сопоставлять их со столбцами, управлять отношениями и так далее, и пользовательский интерфейс должен быть настраиваемым.
- В принципе, у меня есть друг, которому необходимо приложение, которое на 95% основано на формах и имеет базовые поля форм.
- У них есть один Java-разработчик бэкенда и один дизайнер пользовательского интерфейса, которые могут делать настройки UI.
-
Я должен иметь возможность определять модель данных, отношения, бизнес-логику и так далее с помощью GUI и генерировать формы по мере необходимости.
-
Необходим доступ на основе ролей (т.е. пользователи могут быть администратором, утверждающим, отправителем и т.д.).
-
Формы должны быть доступны в зависимости от ролей, и некоторые бизнес-логики могут изменяться в зависимости от ролей.
Есть ли что-то, что вы знаете, что могло бы удовлетворить мои требования? Рад ответить на любые вопросы.
Pimcore (платформа цифрового опыта с открытым исходным кодом) с его объектами данных отлично подойдет для ваших требований. Однако это на PHP / Symfony.
Ответ или решение
Создание форм с графическим интерфейсом и управление данными: Решения на Java
В условиях растущего спроса на приложение, ориентированное на формы, важным становится выбор правильного программного решения, которое позволит эффективно управлять данными и настраивать интерфейс согласно требованиям пользователя. В данной статье мы расскажем о подходящих открытых проектах на Java, которые соответствуют указанным требованиям и помогут создать необходимые формы и управлять данными.
1. Основные требования
Ваш проект должен учитывать следующие ключевые аспекты:
- Создание форм: Приложение должно предоставлять графический интерфейс для создания форм и определения структуры таблиц.
- Управление данными: Все данные должны храниться в надежном хранилище (SQL или NoSQL) и легко поддаваться настройке.
- Маппинг и отношения: Должна быть возможность настраивать связи между различными сущностями.
- Ролевая доступность: Доступ к формам и функциональности должен регулироваться на основе ролей пользователей, таких как администратор, утверждающий и отправитель.
- Настраиваемый интерфейс: Желательно, чтобы UI можно было адаптировать под бизнес-требования и предпочтения пользователя.
2. Рекомендуемые решения
С учетом вышеперечисленных требований и учитывая, что в вашем распоряжении есть разработчик Java и UI-дизайнер, можно рассмотреть несколько проектов.
a. Vaadin
Описание: Vaadin – это популярный Java-фреймворк, который позволяет создавать современные веб-приложения с использованием Java. Он предлагает мощные компоненты для создания форм и управления данными.
Основные функции:
- Встроенные компоненты для создания форм и пользовательских интерфейсов.
- Поддержка различных баз данных через JPA или JDBC.
- Настраиваемые пользовательские интерфейсы с помощью CSS и HTML.
- Поддержка ролей с возможностью ограничения доступа к формам.
Преимущества: Легкость в использовании и интеграции, обширная документация и активное сообщество.
b. JHipster
Описание: JHipster – это платформа для генерации веб-приложений на основе Java, которая сочетает Spring Boot и Angular или React.
Основные функции:
- Генерация кода, включая полноценные CRUD (Create, Read, Update, Delete) приложения.
- Инструмент для создания пользовательского интерфейса с разметкой форм.
- Поддержка различных баз данных (SQL и NoSQL).
- Ролевой доступ на основе Spring Security.
Преимущества: Широкий функционал генерации кода и большая гибкость в выборе технологий front-end.
c. Apache Pivot
Описание: Apache Pivot – это библиотека для разработки графических интерфейсов на Java с поддержкой форм и динамического контента.
Основные функции:
- Создание форм с помощью WTK (Web Toolkit).
- Поддержка SQL для хранения и управления данными.
- Расширяемость и возможность создания настраиваемых компонентов.
Преимущества: Легкость интеграции с существующими Java-проектами и возможность создания кросс-платформенных приложений.
3. Заключение
Все предложенные решения обеспечивают нужный уровень функциональности для создания форм, управления данными и настройки доступа на основе ролей. Выбор конкретного инструмента будет зависеть от предпочтений вашей команды, а также от специфических требований проекта.
Рекомендуется подробно проанализировать каждое решение и протестировать его в контексте вашей задачи, чтобы выбрать наиболее подходящее. Успех вашего проекта будет зависеть, прежде всего, от того, насколько хорошо выбранная вами платформа соответствует вашим уникальным требованиям и позволяет вашей команде эффективно работать над реализацией.
Если у вас есть дополнительные вопросы или требуют пояснения по какому-либо из предложенных решений, не стесняйтесь обращаться за помощью.