TGViewer
ITCAT ITCAT @cat_proit · 3.55K subscribers
Post #1538 566
Service Workers: як створювати офлайн вебдодатки

Уявіть, що ви пишете текст у Google Docs, і раптом зникає інтернет. Ви перезавантажуєте сторінку, але весь текст збережено, і ви можете продовжувати роботу. Це можливо завдяки Service Workers — потужному механізму браузера, що дозволяє вебдодаткам працювати офлайн.

🔹Що таке Service Worker?
Це окремий фоновий скрипт, що перехоплює запити, кешує ресурси та навіть дозволяє оновлювати дані без активного з’єднання з сервером. Він не має доступу до DOM, але контролює мережеві запити та взаємодіє з кешем.

🔹Як Service Worker працює з кешем?
Основний принцип — кешування файлів для роботи без інтернету. Під час встановлення Service Worker завантажує важливі ресурси, такі як HTML, CSS і JS, у локальний кеш. А коли користувач відкриває сторінку, вона може завантажуватися не із сервера, а з кешу.

🔹 Життєвий цикл Service Worker
1️⃣ Реєстрація — додаємо Service Worker у код:
navigator.serviceWorker.register('/service-worker.js')
.then(reg => console.log('Registered:', reg.scope))
.catch(err => console.log('Registration failed:', err));

2️⃣ Встановлення — кешування ресурсів для офлайн-роботи:
self.addEventListener('install', event => {
event.waitUntil(
caches.open('v1').then(cache =>
cache.addAll(['/index.html', '/styles.css', '/script.js'])
)
);
});

3️⃣ Активація — видалення застарілих кешів після оновлення:
self.addEventListener('activate', event => {
event.waitUntil(
caches.keys().then(keys =>
Promise.all(keys.filter(key => key !== 'v1').map(key => caches.delete(key)))
)
);
});

4️⃣ Перехоплення запитів — використання кешу замість сервера:
self.addEventListener('fetch', event => {
event.respondWith(
caches.match(event.request).then(response => response || fetch(event.request))
);
});

🔹Додаткові можливості
✅ Фонова синхронізація – дозволяє відправляти дані, коли з’явиться інтернет.
✅ Push-сповіщення – надсилає повідомлення без активного вікна браузера.
✅ Перехоплення та модифікація запитів – змінює відповіді API або додає новий контент.

Service Workers — це інструмент, що робить вебдодатки незалежними від з’єднання, покращуючи UX і продуктивність. Завдяки кешуванню, фоновій синхронізації та push-сповіщенням вони відкривають нові можливості для веброзробки.
#поради_itcat
  • ❤ 2
More from @cat_proit
  1. Sep 23, 2026Іноді одна хороша кампанія дає більше ідей, ніж година скролінгу. У Медіа Inweb щодня відб…
  2. Aug 13, 2026📊 Data Analytics — одна з тих сфер, де попит на спеціалістів зростає швидше, ніж ринок вс…
  3. Aug 6, 2026⚠️ Твій провайдер знає про тебе занадто багато. Перевір, чи не "течуть" твої дані прямо за…
  4. Jul 29, 2026Відчуваєте, що AI поступово "відбирає" вашу інженерну експертизу? Все більше Middle та Sen…
  5. Jul 10, 2026⚡️ Вміння працювати з даними — одна з найцінніших навичок у 2026 році. Сьогодні недостатнь…
  6. Jun 18, 2026‼️Безкоштовно спробуйте AI-професію за 3 дні! Перейти в нову сферу складно: багато інформа…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →