«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как создать PWA с помощью Java и Spring Boot: лучшие практики для автономной функциональности?

Как создать PWA с помощью Java и Spring Boot: лучшие практики для автономной функциональности?

Опубликовано 24 августа 2024 г.
Просматривать:657

How to Build a PWA with Java and Spring Boot: Best Practices for Offline Functionality?

В настоящее время я работаю над проектом по управлению трудовыми ресурсами, где одним из ключевых требований является обеспечение доступности определенных функций (например, отсчета времени) даже тогда, когда устройство пользователя временно отключено от сети. Хотя это редкий случай, я хочу обеспечить будущее приложения, включив при необходимости дополнительные автономные функции.

Вариант использования:

  • Бэкенд: Java с Spring Boot
  • Фронтенд: Thymeleaf с HTMX (или, возможно, Vaadin Flow)
  • Основное требование: Возможность кэширования POST-запросов и перехода к кэшированным страницам в автономном режиме.

Технологии, которые я рассматриваю:

  1. Spring Boot с Thymeleaf и HTMX: Мой любимый стек. Мне нравится создавать с использованием TDD, и эта комбинация хорошо согласуется с моим опытом. Я уже создал небольшой демонстрационный проект, используя service-worker.js для кэширования и повторной отправки запросов POST. Я не уверен, что это лучший выбор для продолжения добавления офлайн-функций в будущем.

  2. Vaadin Flow: Я заинтригован Vaadin Flow, поскольку он уделяет особое внимание созданию бизнес-приложений полностью на Java. Однако меня беспокоит его способность поддерживать офлайн-функциональность, поскольку представления динамически обновляются. Насколько я понимаю, это сделает невозможным просто кэшировать всю страницу для просмотра в автономном режиме. Я знаю о Хилле, но тогда мне нужно было бы создать все представления в Typescript, а это, на мой взгляд, противоречит цели использования Vaadin.

  3. PWA Starter: Я изучал PWA Starter, но, похоже, он ориентирован на создание одностраничных приложений (SPA) на таких языках, как Angular или React, что не соответствует моим предпочтениям. оставаясь в экосистеме Spring Boot.

  4. Quarkus или JHipster: Я также рассматривал Quarkus и JHipster, но JHipster обычно использует Angular или Vue для внешнего интерфейса, кажется, что меня не очень интересует. Я ищу для чего-то, что ближе к полнофункциональному подходу Java. Кажется, Quarkus специализируется на микросервисах?

Вопросы:

  1. Каковы лучшие практики или платформы/инструменты для интеграции возможностей PWA, особенно автономной функциональности, в приложения Java и Spring Boot? Может быть, есть инструмент, который помогает, например, с сервис-воркером?
  2. Есть ли способ эффективно использовать Vaadin Flow с автономным кэшированием или мне следует придерживаться Thymeleaf и HTMX для лучшего контроля над сервисным работником?
  3. Есть ли какие-либо конкретные ресурсы, библиотеки или шаблоны, которые вы рекомендуете для реализации сервисных работников в настройке Spring Boot и Thymeleaf?

Мне нужен совет, как подойти к этому, учитывая, что я предпочитаю оставаться в экосистеме Java и избегать добавления значительных новых интерфейсных технологий. Я уверен, что есть много вопросов, которые я не учел. Будем очень признательны за любые идеи или рекомендации!

Обзор того, что я пробовал

  • Я создал демо-версию, написав собственный сервис-воркер. Это было прекрасно, но я не уверен, насколько далеко я смогу в этом зайти.
  • Я попробовал Vaadin Flow, но потом понял, что для работы в автономном режиме потребуются Typescript и Hilla.
  • Я начал присматриваться к FlutterFlow, но мне показалось, что это важное дизайнерское решение для этого крайнего случая, когда устройство пользователя находится в автономном режиме.
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/livenathan/how-to-build-a-pwa-with-java-and-spring-boot-best-practices-for-offline-functionality-4l3k?1 Любой нарушение, пожалуйста, свяжитесь с [email protected], чтобы удалить
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3