„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie erstellt man eine PWA mit Java und Spring Boot: Best Practices für die Offline-Funktionalität?

Wie erstellt man eine PWA mit Java und Spring Boot: Best Practices für die Offline-Funktionalität?

Veröffentlicht am 24.08.2024
Durchsuche:209

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

Ich arbeite derzeit an einem Arbeitsmanagementprojekt, bei dem eine der Hauptanforderungen darin besteht, sicherzustellen, dass bestimmte Funktionen (wie das Ausstempeln) auch dann zugänglich sind, wenn das Gerät des Benutzers vorübergehend offline ist. Obwohl dies ein seltener Fall ist, möchte ich die Anwendung zukunftssicher machen, indem ich bei Bedarf zusätzliche Offline-Funktionen aktiviere.

Anwendungsfall:

  • Backend: Java mit Spring Boot
  • Frontend: Thymeleaf mit HTMX (oder möglicherweise Vaadin Flow)
  • Hauptanforderung: Möglichkeit, POST-Anfragen zwischenzuspeichern und offline zu zwischengespeicherten Seiten zu navigieren.

Technologien, die ich in Betracht ziehe:

  1. Spring Boot mit Thymeleaf und HTMX: Mein bevorzugter Stack. Ich baue gerne mit TDD, und diese Kombination passt gut zu meiner Erfahrung. Ich habe bereits ein kleines Demoprojekt mit service-worker.js erstellt, um POST-Anfragen zwischenzuspeichern und erneut zu senden. Ich bin mir nicht sicher, ob dies die beste Wahl ist, um in Zukunft weiterhin Offline-Funktionalität hinzuzufügen.

  2. Vaadin Flow: Ich bin von Vaadin Flow fasziniert, weil es sich stark auf die Erstellung von Geschäftsanwendungen vollständig in Java konzentriert. Allerdings mache ich mir Sorgen um die Fähigkeit, Offline-Funktionen zu unterstützen, da Ansichten dynamisch aktualisiert werden. Soweit ich weiß, wäre es dadurch unmöglich, einfach eine ganze Seite für die Offline-Anzeige zwischenzuspeichern. Ich kenne Hilla, aber dann müsste ich alle Ansichten in Typescript erstellen, und das macht meiner Meinung nach den Zweck der Verwendung von Vaadin zunichte.

  3. PWA Starter: Ich habe mir PWA Starter angesehen, aber es scheint sich auf die Erstellung von Single-Page-Apps (SPAs) in Sprachen wie Angular oder React zu konzentrieren, was nicht meinen Vorlieben entspricht Bleiben Sie im Spring Boot-Ökosystem.

  4. Quarkus oder JHipster: Ich habe auch über Quarkus und JHipster nachgedacht, aber JHipster verwendet anscheinend normalerweise Angular oder Vue für das Frontend, was mich nicht sehr interessiert. Ich bin auf der Suche für etwas, das einem Java-Full-Stack-Ansatz näher kommt. Quarkus scheint sich auf Mikrodienste zu konzentrieren?

Fragen:

  1. Was sind die Best Practices oder Frameworks/Tools für die Integration von PWA-Funktionen, insbesondere Offline-Funktionalität, in eine Java- und Spring Boot-Anwendung? Vielleicht gibt es ein Tool, das zum Beispiel beim Servicemitarbeiter hilft?
  2. Gibt es eine Möglichkeit, Vaadin Flow effektiv mit Offline-Caching zu nutzen, oder sollte ich bei Thymeleaf und HTMX bleiben, um die Servicemitarbeiter besser kontrollieren zu können?
  3. Gibt es spezielle Ressourcen, Bibliotheken oder Muster, die Sie für die Implementierung von Service Workern in einem Spring Boot- und Thymeleaf-Setup empfehlen?

Ich suche nach Ratschlägen, wie ich das angehen kann, da ich lieber im Java-Ökosystem bleiben und das Hinzufügen bedeutender neuer Front-End-Technologien vermeiden möchte. Ich bin mir sicher, dass es viele Fragen gibt, die ich nicht bedacht habe. Für Einblicke oder Empfehlungen wäre ich sehr dankbar!

Rückblick auf Dinge, die ich ausprobiert habe

  • Ich habe eine Demo erstellt, indem ich meinen eigenen Servicemitarbeiter geschrieben habe. Es war in Ordnung, aber ich bin mir nicht sicher, wie weit ich damit kommen kann.
  • Ich habe Vaadin Flow ausprobiert, aber dann wurde mir klar, dass jede Offline-Funktionalität Typescript und Hilla erfordern würde.
  • Ich habe angefangen, mir FlutterFlow anzusehen, aber es scheint eine große Designentscheidung zu sein, die für diesen Grenzfall getroffen werden muss, wenn das Gerät eines Benutzers offline ist.
Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/livenathan/how-to-build-a-pwa-with-java-and-spring-boot-best-practices-for-offline-functionity-4l3k?1 Beliebig Wenn Sie gegen einen Verstoß verstoßen, wenden Sie sich zum Löschen bitte an [email protected]
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3