我目前正在开展一个劳动力管理项目,其中一个关键要求是确保即使用户的设备暂时离线,也可以访问某些功能(如工作)。虽然这种情况很少见,但我希望根据需要使用额外的离线功能,以确保未来的应用程序。
使用案例:- 后端: Java 与 Spring Boot
- 前端: Thymeleaf 与 HTMX(或可能的 Vaadin Flow)
- 关键要求: 能够缓存 POST 离线时请求并导航到缓存页面。
带有 Thymeleaf 和 HTMX 的 Spring Boot: 堆栈是我的首选。我喜欢用。 TDD 这种组合非常符合我的经验。我已经用过了 service-worker.js 建立一个缓存和重新发送的小示范项目 POST 请求。我不确定这是否是未来继续增加离线功能的最佳选择。
Vaadin Flow: 我对 Vaadin Flow 我很感兴趣,因为它非常注重完全使用 Java 构建业务应用程序。但是,我担心它支持离线功能的能力,因为它会动态更新视图。据我所知,这将使整个页面无法缓存,以便离线查看。我知道 Hilla,但我需要在 Typescript 在我看来,创建所有视图违反了使用 Vaadin 的目的。
-
PWA Starter: 我研究了 PWA Starter,但它似乎专注于使用 Angular 或 React 创建单页应用程序等语言(SPA),这不符合我留下的要求 Spring Boot 偏好生态系统。
立即学习“Java免费学习笔记(深入);
Quarkus 或 JHipster: 我也考虑过 Quarkus 和 JHipster,但 JHipster 通常使用 Angular 或 Vue 作为前端,我似乎对此不太感兴趣。我正在寻找更接近的东西。 Java 东西全栈法。 Quarkus 看起来主要是微服务?
- 在 Java 和 Spring Boot 集成在应用程序中 PWA 什么是功能(尤其是离线功能)的最佳实践或框架/工具?比如可能有工具可以帮助服务人员?
- 有没有办法通过离线缓存有效使用? Vaadin Flow,或者我应该坚持使用 Thymeleaf 和 HTMX 以更好的控制 Service Worker?
- 您是否推荐 Spring Boot 和 Thymeleaf 设置中实现 Service Worker 任何特定的资源、库或模式?
考虑到我倾向于留下来 Java 我正在寻求关于如何解决这个问题的建议,以避免在生态系统中添加重要的新前端技术。我相信还有很多我没有考虑过的问题。任何意见或建议都将非常感谢!
回顾一下我试过的事- 我写自己的 Service Worker 建立一个演示。很好,但我不确定我能走多远。
- 我尝试了 Vaadin Flow,但后来我意识到任何离线功能都需要 Typescript 和 Hilla。
- 我开始关注 FlutterFlow,但这似乎是对用户设备离线边缘的重大设计决策。
以上就是如何使用 Java 和 Spring Boot 构建 PWA:离线功能的最佳实践?详情请关注图灵教育的其他相关文章!