Чи працює він офлайн? Що насправді означає «у вашому браузері»
Коротко: Наполовину. Коли сторінка вже відкрита, звук створюється на вашому пристрої, тож він має грати далі, якщо зв’язок зникне. Але без зв’язку сторінку не відкрити. Ту частину, яка зберігала б її для роботи офлайн, я ще не зробив.
Що означає «у вашому браузері»
Більшість звуку в інтернеті вам надсилають. На сервері лежить файл, і ваш пристрій відтворює його в міру надходження. Якщо зв’язок зник, звук зупиняється.
Мій застосунок працює навпаки. Сторінка містить інструкції, як робити звук, і ваш пристрій їх виконує. Аудіо мережею не передається взагалі. Я розбирав це в статті «Аудіофайлів немає».
Тож поїзд, що заїхав у тунель, нічого не має змінити. Усе потрібне, щоб грати далі, уже на вашому пристрої.
Для чого зв’язок таки потрібен
- Щоб відкрити сторінку. Перше завантаження йде з інтернету, як у будь-якої сторінки. Перезавантаження теж.
- Щоб купити додаткові світи. Forest і Space платні, а оплата відбувається онлайн, як будь-яка покупка.
- Для анонімної аналітики. Сторінка використовує cookie для анонімної аналітики і пише про це в рядку внизу. Ще вона веде мій власний простий лічильник: відвідування, який світ грає, як довго люди слухають. Якщо зв’язку немає, усе це тихо не спрацьовує, а звук іде далі.
Про останній пункт хочу сказати прямо. «Звук створюється на вашому пристрої» — правда. «Ніщо ніколи не надсилається» було б неправдою. Звук не надсилається, ні в один бік, ні в інший. Сторінка ніколи не користується вашим мікрофоном. Лічильники використання надсилаються.
Що потрібно, щоб він працював повністю офлайн
У браузерів є для цього інструмент, сервіс-воркер (service worker). MDN описує сервіс-воркери як щось на зразок проксі-серверів між вебзастосунком, браузером і мережею і першим їхнім призначенням називає повноцінну роботу офлайн. Простими словами: невеликий помічник, який тримає копію сторінки, щоб вона могла відкритися без зв’язку.
У моєму застосунку його ще немає. Це одна невелика сторінка без аудіофайлів, тож я думаю, що він тут добре підійде. Цієї роботи я ще не зробив.
Отже, на практиці
| Ситуація | Чого я очікую |
|---|---|
| Зв’язок зник, поки грає | Звук іде далі |
| Ви відкриваєте сторінку без зв’язку | Вона не завантажується |
| Ви перезавантажуєте без зв’язку | Найпевніше, не завантажується |
| Режим польоту, сторінку відкрито до посадки і не закрито | Звук іде далі |
Цього мені підказує чекати сама будова застосунку. Краще я скажу так, ніж стверджуватиму, що перевірив кожен телефон.
Джерела
Спробуйте: Відкрийте Ambient Sound Online і запустіть Ocean, він безкоштовний. Потім вимкніть на хвилину Wi-Fi і послухайте.
Відкрити Ocean, безкоштовноІнтерфейс застосунку — англійською.