Я создаю приложение для Android, которое отслеживает позиции пользователя (позиции загружаются через веб-службу REST).
Теперь мне нужно создать бэкенд для этого сервера. Итак, серверная часть должна анализировать входящие данные JSON и помещать их в базу данных SQL.
Мне также нужен административный интерфейс для серверной части, чтобы поддерживать некоторые простые операции CRUD над таблицей SQL.
Так что в целом это не сложный бэкэнд. Я хочу, чтобы все было максимально просто и не использовало большие фреймворки. Я немного читал о Vaadin , который кажется очень простым способом создания административного интерфейса.
Итак, с учетом этих требований, какие фреймворки вы бы порекомендовали для анализа данных JSON и помещения их в базу данных, а затем для создания для них графического интерфейса администратора?
Для веб-сервиса я бы порекомендовал вам реализацию спецификации Java для веб-сервисов JAX-RS , например Jersey , эталонную реализацию этой спецификации.
Преимущество использования реализации спецификации заключается в том, что было бы легко переключить инфраструктуру, если, например, Джерси в один прекрасный день простаивает, поскольку существует несколько конкурентов. Реализация на Джерси хорошо задокументирована, и список рассылки довольно активен. Мне было легко учиться.
В качестве легкого веб-фреймворка рекомендую Apache Wicket . Я должен добавить, что обычно мне не очень нравится Wicket, но для простых веб-страниц, которые не нужно масштабировать и которые вряд ли станут сложными, вы можете добиться хороших результатов с небольшими усилиями. Кроме того, в сети распространяется довольно много примеров. С другой стороны, Vaadin — действительно хорошо спроектированный фреймворк, но для его изучения требуется больше усилий. Таким образом, выбор зависит от ваших личных предпочтений и времени, которое у вас есть.
Да, я настоятельно рекомендую Vaadin программистам Java или другим разработчикам, которые хотят создавать веб-приложения, не изучая тонкости HTTP, HTML, CSS, DOM, JavaScript, WebSocket и так далее. Vaadin визуализирует пользовательский интерфейс вашего веб-приложения, используя эти стандартные веб-технологии от вашего имени, в то время как вы пишете свою бизнес-логику и формы-макеты-виджеты на Java.
Смотрите мои ответы на подобные вопросы здесь и здесь .
В частности, для работы с базой данных посмотрите на SQLContainer
для подключения к базам данных SQL. Если вам нравится Java Persistence API (JPA) (мне нет), ознакомьтесь с файлом JPAContainer
.
Для отображения виджета, отображающего сетку данных для представления табличных данных базы данных, см. почтенный Table
компонент и его более новый двоюродный брат, Grid
. У Grid
виджета даже есть собственная страница тщеславия .
Попробуйте демо- версии Vaadin , включая демо -версию Sampler и Theme Reindeer Theme .