Інженер Google розповів, чому на iOS немає нормальних браузерів
Більшість користувачів iOS щиро вважають Safari найкращим браузером для iPhone. Він зручний, інтуїтивно зрозумілий і, що найголовніше, дуже економічний і швидкий. На відміну від Google Chrome, Safari витрачає менше оперативної пам'яті, а працює при цьому швидше. Що й говорити про навантаження на процесор, який при роботі з Safari явно витрачає менше ресурсів і не розігрівається як доменна піч. Загалом, якщо у вас iPhone, то ваш вибір - це Safari. Але в Google вважають, що Apple просто пускає пил в очі, а на iOS взагалі немає нормальних браузерів.
За словами Алекса Рассела, інженера-програміста з команди розробки Google Chrome, браузери під iOS унікально невиробничі і нефункціональні. Їм бракує обчислювальних здібностей, через що вони не в змозі реалізувати весь потенціал веб-додатків, які сьогодні цілком могли б замінити собою нативні. Тому, стверджує Рассел, заява Тіма Кука про те, що користувачі iOS можуть вибирати між софтом з App Store і PWA, не відповідає дійсності.
Чим WebKit гірший Chromium
Основна проблема браузерів на iOS полягає в тому, що вони всі працюють на базі движка WebKit. Навіть Google Chrome, який у класичному виконанні написаний на Chromium, на iOS використовує власний движок Apple. Просто в Купертіно не залишають розробникам інших можливостей, вимагаючи, щоб вони писали свої браузери на WebKit. А цей движок сильно обмежує їх у розвитку, не дозволяючи розвиватися належним чином і йти в ногу з часом.
Ось які проблеми є у WebKit:
- По-перше, WebKit прив'язаний до iOS, і Apple оновлює його тільки в складі регулярних апдейтів, через що браузери не можуть своєчасно отримувати необхідні нововведення.
- По-друге, Apple контролює WebKit, а значить, і всі браузери на iOS, вирішуючи, які функції вони будуть підтримувати, а які ні. Так було у випадку з API геймпадів, через що підтримка хмарних ігрових сервісів у браузерах з'явилася з великою затримкою.
- По-третє, з функціональної точки зору WebKit сильно поступається Chromium, оскільки не дозволяє ефективно взаємодіяти з прогресивними веб-додатками, а значить, їх не можна вважати повноцінною альтернативою нативному софту.
Недоліки PWA на iOS
Рассел запевняє, що Apple навмисно обмежує сумісність WebKit з прогресивними веб-додатками, щоб користувачі не могли розглядати їх як альтернативу традиційному ПЗ. На це прямо вказує кілька факторів:
- WebKit не дозволяє PWA нормально працювати з повідомленнями;
- Відсутні стандартні кнопки встановлення PWA (як на Android);
- Проблеми з фоновою синхронізацією даних PWA;
- Обмежений доступ до таких компонентів, як Bluetooth, NFC, USB тощо;
- Відсутність підтримки безкоштовного відеостандарту AV1;
- Обмежені можливості розробників для створення PWA.
За великим рахунком розробник все говорить по справі. Так, подекуди він надмірно драматизує, наприклад, як у випадку з продуктивністю WebKit. Однак майже всі його претензії до сумісності PWA з WebKit і iOS в цілому досить адекватні. Адже Apple, на відміну від Google, навіть не намагається вивести прогресивні веб-додатки в легальне поле.
iOS не пропонує ні кнопок установки, як Android, де відразу видно, що це нормальний додаток, який нехай і працює на потужностях браузера, ні доступу до багатьох системних функцій і апаратних компонентів пристрою. В результаті користуватися PWA на iOS стає в кращому випадку важко.
Але головний недолік браузерів на iOS - це відсутність підтримки сторонніх движків. Ясна річ, для чого Apple спочатку встановила це обмеження. Вона хотіла домогтися високої продуктивності, і домоглася її. Однак тепер, коли всім колом ввижаються монополії, Apple явно потрібно відмовитися від цього принципу і дозволити на iOS роботу сторонніх движків.