TGViewer
SuperOleg dev notes SuperOleg dev notes @super_oleg_dev · 1.75K subscribers
Post #80 860
Вот и SvelteKit начали изящно стримить данные с сервера на клиент - https://svelte.dev/blog/streaming-snapshots-sveltekit

Для сериализации всего что только можно используется либа также от Рича Харриса - devalue

Не так давно (не знаю точно откуда сама идея пошла для мета-фреймворков) такой функционал в Remix добавили, Await + defer - https://remix.run/docs/en/v1/guides/streaming

Как работает фича с React и Remix хорошо и наглядно объяснено в этом gist'е.

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

Во многом это возможно именно из-за поддержи стриминга на уровне фреймворков - это await в темплейтах Svelte и Suspense у React - при использовании стриминговых API для рендеринга React имеет возможность для Suspense с промисами отправить на клиент fallback, а по завершении промиса отправить нужную разметку на клиент для обновления UI

Это не та оптимизация, которая должна быть дефолтом - но может помочь в ряде кейсов, когда основной функционал страницы заблокирован тяжелым запросом (например любая выдача - поисковая, билеты, отели)

Из клиентских фич React самое близкое сравнение это кажется startTransition API, тут также надо самостоятельно решить, когда необходима эта оптимизация, и в нужном месте она может дать очень хорошие результаты.

Очень хочется добавить такую фичу в tramvai, где уже есть свои особенности, для запросов используются Actions, которые имеют небольшой таймаут на выполнение на сервере, и информация об этом передается на клиент.
Если экшен не был выполнен на сервере - он автоматически будет запущен на клиенте, можно назвать это синхронизацией.
И вот тут основной минус, что надо долго ждать запуска клиентского экшена, загрузку всех ресурсов, самой страницы и ее гидрации.
Хорошее поле для улучшений)
svelte.dev Streaming, snapshots, and other new features since SvelteKit 1.0 Exciting improvements in the latest version of SvelteKit
  • 👍 10
More from @super_oleg_dev
  1. Sep 10, 2026Посмотреть на работу анимаций и скролла можно в нашей демке, основанной на примере Remix ф…
  2. Sep 10, 2026Далее, про скролл. В принципе для SPA-приложений это база, если при переходах на разные ст…
  3. Sep 10, 2026Раз уж меня прорвало, вспомню ещё один интересный кейс. Решали примерно в одно время две п…
  4. Sep 10, 2026Вместо тысячи слов, пример работы и сразу разметка, которая долетает в HTML - и наш механи…
  5. Sep 10, 2026Когда-то давно рассказывал про интеграцию стриминга и deferred загрузки данных в Tramvai -…
  6. Sep 7, 2026TIL, небольшой, но интересный кейс! Делал кастомный анализ бандла через Claude, пишет мне…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →