Next.js: هل يمكننا تنفيذ الجلب المسبق بدون استخدام عامل الخدمة؟

تم إنشاؤها على ٢٦ ديسمبر ٢٠١٦  ·  3تعليقات  ·  مصدر: vercel/next.js

بادئ ذي بدء ، شكرًا على إنشاء مثل هذه الأداة الرائعة! يبدو Next.js وكأنه "إطار عمل أحلام" بالنسبة لي لبناء تطبيقات الويب ، والذي "يجلب لنا أفضل ما في العالمين" (تطبيق صفحة واحدة وعرض جانب الخادم).

بالنسبة لي ، فإن أهم قطعة تساعد Next.js fullfil هي القدرة على الجلب المسبق لجميع المكونات التي تشير العلامات إلى الصفحة.

وفقًا للوثائق ، يتم تنفيذ هذه الميزة باستخدام Service Worker ، وهي واجهة برمجة تطبيقات تدعم Chrome و Firefox فقط. هذا يعني أن جزءًا كبيرًا من مستخدمي الويب لا يمكنهم الاستفادة من هذه الميزة الرائعة. لا أعلم إذا فاتني شيء.

هل يمكننا تنفيذ الجلب المسبق باستخدام أنواع أخرى من التقنيات ، والتي تدعم جميع المتصفحات الحديثة ، بدلاً من استخدام Service Worker؟

التعليق الأكثر فائدة

المبدأ الذي خدمنا جيدًا على مر السنين هو توفير _الدعم_ لجميع المتصفحات ، ولكن _تحسينات _ للمتصفحات الحديثة.

الجلب المسبق هو تحسين. لاستثمار المزيد والمزيد من التعليمات البرمجية في التحسين الذي سيتم إهماله (نظرًا لأن جميع وكلاء المستخدم الحديثين يدعمون ServiceWorker أو يخططون للقيام بذلك) لا يبدو مجالًا جيدًا للتركيز.

إذا كنت ترغب في ذلك ، فلا تتردد في إنشاء وحدة الجلب المسبق لأرض المستخدم الخاصة بك والتي تعرض نفس واجهة برمجة التطبيقات مثل next/prefetch . الشيء الأنيق هو: إذا كنت لا تستخدم next/prefetch ، فلن يتم إدخالها في التصميم. لا سخام :)

ال 3 كومينتر

هذا يعني أن جزءًا كبيرًا من مستخدمي الويب لا يمكنهم الاستفادة من هذه الميزة الرائعة

هذا نوع غير صحيح. انظر: http://caniuse.com/#feat = serviceworkers
تسير المتصفحات في هذا الاتجاه وستلحق بالركب قريبًا.

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

لاحظت هنا بعض الأفكار لتوسيع نطاق الدعم ، وهي استخدام AppCache: https://github.com/zeit/next.js/issues/24#issuecomment -258804529

المبدأ الذي خدمنا جيدًا على مر السنين هو توفير _الدعم_ لجميع المتصفحات ، ولكن _تحسينات _ للمتصفحات الحديثة.

الجلب المسبق هو تحسين. لاستثمار المزيد والمزيد من التعليمات البرمجية في التحسين الذي سيتم إهماله (نظرًا لأن جميع وكلاء المستخدم الحديثين يدعمون ServiceWorker أو يخططون للقيام بذلك) لا يبدو مجالًا جيدًا للتركيز.

إذا كنت ترغب في ذلك ، فلا تتردد في إنشاء وحدة الجلب المسبق لأرض المستخدم الخاصة بك والتي تعرض نفس واجهة برمجة التطبيقات مثل next/prefetch . الشيء الأنيق هو: إذا كنت لا تستخدم next/prefetch ، فلن يتم إدخالها في التصميم. لا سخام :)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات