"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إنشاء PWA باستخدام Java وSpring Boot: أفضل الممارسات للوظائف دون اتصال بالإنترنت؟

كيفية إنشاء PWA باستخدام Java وSpring Boot: أفضل الممارسات للوظائف دون اتصال بالإنترنت؟

تم النشر بتاريخ 2024-08-24
تصفح:742

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

أنا أعمل حاليًا على مشروع لإدارة العمل حيث يتمثل أحد المتطلبات الأساسية في التأكد من إمكانية الوصول إلى ميزات معينة (مثل تسجيل الخروج) حتى عندما يكون جهاز المستخدم غير متصل بالإنترنت مؤقتًا. على الرغم من أن هذه حالة نادرة، إلا أنني أريد تحصين التطبيق في المستقبل من خلال تمكين وظائف إضافية دون اتصال حسب الحاجة.

حالة الاستخدام:

  • الخلفية: جافا مع Spring Boot
  • الواجهة الأمامية: Thymeleaf مع HTMX (أو ربما تدفق Vaadin)
  • المتطلبات الرئيسية: القدرة على تخزين طلبات POST مؤقتًا والانتقال إلى الصفحات المخزنة مؤقتًا عند عدم الاتصال بالإنترنت.

التقنيات التي أفكر فيها:

  1. Spring Boot مع Thymeleaf وHTMX: مجموعتي المفضلة. أحب البناء باستخدام TDD، وهذا المزيج يتوافق جيدًا مع تجربتي. لقد قمت بالفعل ببناء مشروع تجريبي صغير باستخدام Service-worker.js للتخزين المؤقت لطلبات POST وإعادة إرسالها. لست متأكدًا مما إذا كان هذا هو الخيار الأفضل لمواصلة إضافة وظائف دون اتصال بالإنترنت في المستقبل.

  2. Vaadin Flow: أنا مفتون بـ Vaadin Flow لتركيزه القوي على بناء تطبيقات الأعمال بالكامل في Java. ومع ذلك، أنا قلق بشأن قدرته على دعم الوظائف دون اتصال بالإنترنت نظرًا لأنه يقوم بتحديث طرق العرض ديناميكيًا. مما أفهمه، فإن هذا قد يجعل من المستحيل تخزين صفحة كاملة مؤقتًا لمشاهدتها في وضع عدم الاتصال. أنا على علم بـ Hilla، ولكن بعد ذلك سأحتاج إلى إنشاء جميع طرق العرض في Typescript وهذا النوع من الهزائم لغرض استخدام Vaadin، في رأيي.

  3. PWA Starter: لقد بحثت في PWA Starter، ولكن يبدو أنه يركز على إنشاء تطبيقات صفحة واحدة (SPAs) بلغات مثل 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