Комментарии 9
Чем только люди не занимаются, лишь бы под натив не писать…
Они уменьшали задержку на сеть, а не оверхед на electron.
В натив будет такая же проблема кеширования данных из сети и магическим образом она не исчезнет. Возможно, ее даже будет сложнее решать.
Последний слак довольно шустрый и теперь понятней почему.

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

НЛО прилетело и опубликовало эту надпись здесь

Ну так сообщения и чаты кешируются на стороне приложения, а не на стороне Service Worker же.

НЛО прилетело и опубликовало эту надпись здесь

Очевидно, тот факт, что веб-клиенту, который на их сайте, тоже нужен кеш.

Согласен, в консоли видно, что они из API кэшируют только feature флаги и a/b тесты.
Тем не менее, в отличи от натива, они могут делать релизы по «несколько раз в день» и запускать много a/b тестов. Мне кажеться, что такой подход — совмещение лучшего из двух миров: быстрые обновления из мира веба, и быстрый запуск из мира натива.
Слек почти всегда открыт первой вкладкой в браузере. Сделал замер трафика: при холодном старте он скачивает почти 11 мегабайт. Старт с прогретым кешем уже всего лишь 100Кб — и это достойно похвалы.

Но как мне кажется сервис-воркеры не решают всех проблем. Это лишь временный костыль, а основные проблемы сидят намного глубже.

На мой взгляд, основная проблема слека это то, что они все свое веб приложение засовывают в один большой бандл. Да там, есть какое то разбиение на файлы, но эти файлы все равно надо сначала все скачать.

Вот к примеру страница статусов:



Часто кому то приходится менять статус на свой странице? Я вот например вообще им не пользуюсь. Но в бандл мне его все равно засунули, на всякий случай, вдруг понадобится. И так еще примерно 200 таких страниц. Я может быть за всю жизнь не увижу их но мне все равно их передали по сети, в оперативочку засунули, и где то там это лежит и ждет своего часа.

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

Конечно такой подход накладывает некоторые сложности при разработке. С другой стороны — значительно ускорит загрузку клиента, так как на первом экране клиент получит только то что он хочет увидеть.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Информация

Дата основания
Местоположение
Россия
Сайт
ruvds.com
Численность
11–30 человек
Дата регистрации

Блог на Хабре