Skip to main content

Источник: Trаshbох

Современные сайты по функционалу могут составить конкуренцию нативным приложениям. Но только в теории. На практике веб-сервисы ограничены возможностями браузеров. Ярким примером является продукция Apple.

В iOS Apple не дает пользователям свободы выбора браузера. На корпоративных мобильных устройствах доступен только Safari. Подождите, а как насчет сторонних веб-браузеров из App Store? Хром, Фаерфокс, Опера? Внутри они все те же Safari и построены на движке WebKit. То есть реальной конкуренции между браузерами на iOS и iPadOS нет.

Самая большая проблема здесь в том, что Safari хуже всего подходит для современного веб-серфинга. По крайней мере, так считают разработчики веб-версии Telegram WebK. И у них есть веские основания так полагать.

Мобильное сафари

1) Push-уведомления

Почему Safari тормозит?  11 причин от веб-разработчиков Telegram

Это важный элемент любого мессенджера. Совершенно очевидно, почему — они позволяют быстро получать новые сообщения. Однако мобильный Safari просто не поддерживает push-уведомления. Поэтому комфортно пользоваться веб-версиями мессенджеров на iOS невозможно.

2) Текстовые поля

Safari автоматически прокручивает страницу, как только вы нажимаете на поле ввода. Это делается для того, чтобы активный элемент находился в центре дисплея. Но из-за этого может сломаться интерфейс веб-приложения. И разработчики не могут настроить этот параметр, так как его нет.

3) Проблемы с контекстным меню

Чтобы в веб-сервисе появлялось контекстное меню, разработчики используют небольшую задержку после тапа. Но в Safari нет универсального метода для вызова такого меню. Кроме того, с обновлениями ОС могут перестать работать решения разработчиков.

4) Случайные перезагрузки

Почему Safari тормозит?  11 причин от веб-разработчиков Telegram

Safari часто перезагружает страницу, когда пользователь увеличивает масштаб видео или пролистывает много тяжелого контента. Из-за этого прерываются все действия пользователя и сбрасывается позиция, например, в чате.

Общие проблемы с браузером

1) Неподдерживаемые видеостикеры (формат WebM)

Почему Safari тормозит?  11 причин от веб-разработчиков Telegram

Браузер Safari не поддерживает популярные видеокодеки VP8 и VP9. Из-за этого у пользователей нет доступа к видеостикерам, которым нужны только эти кодеки. Разработчики Telegram могли исправить это, внедрив сторонние инструменты. Но с ними есть проблема — они весят в несколько раз больше, чем все веб-приложение мессенджера.

2) Нет поддержки формата Opus

Opus — это формат аудиофайла, используемый Telegram для голосовых сообщений. Он очень мало весит, при этом выдавая качественный и внятный звук. Но из-за того, что Safari не поддерживает Opus, веб-версия Telegram (WebK) использует специальный модуль для преобразования файлов Opus в формат WAV. Это единственный способ воспроизведения голосовых сообщений в браузере iOS.

3) Нет общих работников

Что такое рабочие? Отдельный Worker — это скрипт, работающий в фоновом режиме. WebK использует выделенного работника для объединения задач, связанных с сетью и шифрованием. Shared Worker работает не только для одной вкладки — сразу несколько из них могут использовать скрипт. Safari не поддерживает это решение.

4) Отсутствие некоторых методов

Среди кучи методов, которые разработчики используют в своих сервисах, стоит отметить requestIdleCallback. Этот метод позволяет ставить в очередь ресурсоемкие операции. То есть их можно обработать позже, когда пользователь ничего не делает и в системе есть свободные ресурсы. Chrome и Firefox имеют этот метод. Сафари нет.

5) Визуальные артефакты

Иногда Safari не может правильно обрабатывать многоуровневые веб-приложения со сложной анимацией, поэтому в браузере могут возникать различные сбои. Разработчикам WebK пришлось сильно упростить эффекты реакций на сообщения.

6) Эффекты размытия

Хотя размытие встречается во многих элементах интерфейса iOS, в Safari этот эффект обрабатывается гораздо медленнее, чем в других браузерах. Соответственно сайты работают хуже.

7) Плавная прокрутка

В Safari иногда не удается добиться плавной анимации прокрутки. Это связано с тем, что в некоторых ситуациях браузер искусственно ограничивает частоту кадров до 30. Особенно это заметно на устройствах с мониторами 120 Гц. Иногда, когда вы нажимаете на закрепленные сообщения, исходные сообщения из ответов или прокручиваете прямо до конца чата, вы можете увидеть отсутствие плавности.

выводы

Многие из этих функций легко интегрируются в браузер. Более того, они есть во всех других популярных браузерах — пример тому — Chrome на Android. Apple может сделать то же самое со своим продуктом. Вместо этого они намеренно отказались от веб-сервисов, чтобы заставить пользователей использовать нативные приложения. Зачем? Затем можно брать комиссию в размере 30% с каждой покупки внутри.

Источник: Trаshbох

Оставить комментарий