SlideShare a Scribd company logo
Underground
Underground
Background!
Javascript
Однопоточен
● рисует UI
● запускает скрипты
Все хорошо
Пока начальник не сказал
1 + 2 + 3 + … n
Это же просто
Конечно просто
WEB WORKERS
for the
WIN
Подождите!
● window
● DOM
● document
● parent
Нет доступа
● web page
● web worker
Parallel.JS
Client-Server
● client
● servers
Client-Worker
● master HTML
● workers
Use cases
Background js
@lvivjs 2014
Service Workers
Service Workers
Запустит скрипт в бекграунде,
отдельно от страницы
Service Workers
● Запускаются в собственном контексте
● Не привязан к одной странице
● Нет доступа к DOM
● Может существовать вообще без страниц
● Запускается и дестроится когда надо
● Определенна модель обновления
● Только https
Но, Service Workers
● Ускорение
● Offline
● Push уведомления
● Background синхронизация
Для чего нужен
Начнем
No service workers
● Обновлеям файл
○ Браузер загружает SW, и если хотя бы 1 байт
изменен этот файл считается новым
● SW инсталируется
● Старый SW отрабатывает
● А после закрытия старый SW умирает
● После этого новый SW получает контроль
Обновление
Практика
Background js
● Итеративные запросы к GD
● Если GD не отвечает
○ Берем данные из кеша
○ Генерируем данные и возвращаем
Сеть
Background js
Background js
Новая сеть
Подходы
Assets
Browser ActivateInstall
Network Cache
Background js
Чистим кэш
Browser ActivateInstall
DELETE Cache
Background js
Реагируем на
пользователей
Browser NetworkClick
Cache
Background js
DRAFT!!!
Только кеш
Только сеть
Сначала кеш
Если нет сети,
то кеш
Кастомные
ответы
Whatever...
● LocalStorage
● IndexedDB
● Filesystem
● Caches
Откуда место?
Не специфицированная информация
А сколько его?
navigator.webkitTemporaryStorage.queryUsageAndQuota
navigator.webkitTemporaryStorage.requestQuota
Push нотификации
Background sync
● Request sync
● Periodic sync
Links
Вот и все

More Related Content

PDF
React.js – intro
PDF
#5 "React.js" Антон Артамонов
PDF
Алексей Фомкин, Практическое применение Web Workers
PPTX
Async Javascript
PDF
Pavel Ruban. High loaded PHP operations over web interface
ODP
DevOps в реальном времени
PPT
параллельная загрузка Java script и css файлов без прерывания
PPTX
Visual Studio Team Services /TFS helps doing devops
React.js – intro
#5 "React.js" Антон Артамонов
Алексей Фомкин, Практическое применение Web Workers
Async Javascript
Pavel Ruban. High loaded PHP operations over web interface
DevOps в реальном времени
параллельная загрузка Java script и css файлов без прерывания
Visual Studio Team Services /TFS helps doing devops

What's hot (20)

PDF
Быстрый рендеринг с DOM шаблонизаторами / Борис Каплуновский (aviasales.ru)
PDF
A.pleshkov
PDF
Tizen Mobile Application Lifecycle by Kirill Danilov
PDF
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
KEY
PPTX
Redux и изоморфные приложения
PDF
Павел Юрийчук - Разработка приложений под мобильные браузеры
PDF
CodeFest 2012. Евтухович И. — Как мы делали Групон
PDF
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
PPTX
Знакомство с WebAssembly
PDF
Бэкенд, фронтенд — всё смешалось (nodkz)
PDF
Meteor за 15 минут
PDF
"Vue.js или как наконец отказаться от React"
PDF
Использовании TypeScript для Node.js
PDF
Разработка API для большого, нагруженного сервиса
PDF
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
PDF
Современный фронтенд -- как не утонуть в море хайпа?
PDF
Проблемы при работе с разными версиями Ruby и разными gem
PDF
Web performance 101 [GDG nsk webdev meetup #3]
PDF
Как я перестал беспокоиться и полюбил Redux
Быстрый рендеринг с DOM шаблонизаторами / Борис Каплуновский (aviasales.ru)
A.pleshkov
Tizen Mobile Application Lifecycle by Kirill Danilov
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
Redux и изоморфные приложения
Павел Юрийчук - Разработка приложений под мобильные браузеры
CodeFest 2012. Евтухович И. — Как мы делали Групон
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Знакомство с WebAssembly
Бэкенд, фронтенд — всё смешалось (nodkz)
Meteor за 15 минут
"Vue.js или как наконец отказаться от React"
Использовании TypeScript для Node.js
Разработка API для большого, нагруженного сервиса
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Современный фронтенд -- как не утонуть в море хайпа?
Проблемы при работе с разными версиями Ruby и разными gem
Web performance 101 [GDG nsk webdev meetup #3]
Как я перестал беспокоиться и полюбил Redux
Ad

Viewers also liked (16)

PDF
VRGJ2016Autumn いかだVR 最終プレゼン
PPTX
Ingenieria ambiental
DOCX
JC FRANCHISE Package Inclusions
PPTX
Modified apriori algorithm for frequent pattern mining
PDF
ASP_MedacsPartnershipV1.3
PPTX
Las nuevas tecnologías en el medio ambiente
PDF
Kryteria wyboru rodzaju nawierzchni na drogach gdd ki a - sejm rp 16.12.2014
PPTX
Tips for building responsive cloud applications
PPTX
Mar de Cortés
PPTX
E-portafolio curso Influencias de la Tecnología
PPTX
Perceptrón multicapa entrenamienta en MatLab
PDF
The Cost of Manufacturing With vs. Without Lasers
PPTX
Nuevas tecnologías en el medio ambiente
PPT
Mining costs and prices of minerals
PDF
Paratransit Mesoeconomy- MOKWENA
PPTX
WPF with MVVM: From the Trenches
VRGJ2016Autumn いかだVR 最終プレゼン
Ingenieria ambiental
JC FRANCHISE Package Inclusions
Modified apriori algorithm for frequent pattern mining
ASP_MedacsPartnershipV1.3
Las nuevas tecnologías en el medio ambiente
Kryteria wyboru rodzaju nawierzchni na drogach gdd ki a - sejm rp 16.12.2014
Tips for building responsive cloud applications
Mar de Cortés
E-portafolio curso Influencias de la Tecnología
Perceptrón multicapa entrenamienta en MatLab
The Cost of Manufacturing With vs. Without Lasers
Nuevas tecnologías en el medio ambiente
Mining costs and prices of minerals
Paratransit Mesoeconomy- MOKWENA
WPF with MVVM: From the Trenches
Ad

Similar to Background js (20)

PDF
Prometheus мониторинг микросервисных приложений / Виталий Левченко
PDF
Meet Magento Belarus - Andriy Samilyak
PDF
Ci на базе docker
PDF
Оптимизация JavaScript в Drupal
PDF
Mobile Web Apps development essentials
PPT
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
PDF
Автоматизация UI-тестирования следующего поколения
PDF
Erlang, который мы потеряли
PDF
C&C for coffee'n'code
PDF
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
PPTX
Редактор Mail.ru, или скорочтение за полчаса, Павел Зиновкин (Mail.Ru)
PDF
PDF
Практическое применение WebWorkers / Алексей Фомкин (Data Monsters)
PPTX
How we built continuous delivery
PDF
High Load 2009 Imdg Presentation
PDF
Сергей Комлач "Итоги Google I/O: что нас ждет"
PDF
Xp days 2019 - Why startups need SRE practices
PDF
Абак Пресс
PDF
Kubasov 1 7_deploy
PDF
Как не положить тысячи серверов с помощью системы централизованного управлени...
Prometheus мониторинг микросервисных приложений / Виталий Левченко
Meet Magento Belarus - Andriy Samilyak
Ci на базе docker
Оптимизация JavaScript в Drupal
Mobile Web Apps development essentials
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Автоматизация UI-тестирования следующего поколения
Erlang, который мы потеряли
C&C for coffee'n'code
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Редактор Mail.ru, или скорочтение за полчаса, Павел Зиновкин (Mail.Ru)
Практическое применение WebWorkers / Алексей Фомкин (Data Monsters)
How we built continuous delivery
High Load 2009 Imdg Presentation
Сергей Комлач "Итоги Google I/O: что нас ждет"
Xp days 2019 - Why startups need SRE practices
Абак Пресс
Kubasov 1 7_deploy
Как не положить тысячи серверов с помощью системы централизованного управлени...

More from Артем Захарченко (8)

PDF
Frontend performance metrics
PDF
Fullstack javascript. Isomorphic apps
PDF
Performance optimisation in javascript
PDF
Build your own multistack JS startup
PDF
WebRTC in production
PPTX
Js tacktalk team dev js testing performance
PPTX
Frontend performance metrics
Fullstack javascript. Isomorphic apps
Performance optimisation in javascript
Build your own multistack JS startup
WebRTC in production
Js tacktalk team dev js testing performance

Background js