Hacker News Digest

Тег: #state-management

Постов: 3

URLs are state containers (alfy.blog) 🔥 Горячее 💬 Длинная дискуссия

URL может быть не просто адресом страницы, а полноценным хранилищем состояния веб-приложения. Автор статьи случайно обнаружил это, когда в коде PrismJS нашёл URL, который полностью восстанавливал его конфигурацию подсветки синтаксиса — все темы, языки и плагины были закодированы в одном адресе. Это напомнило ему о мощи URL как инструмента управления состоянием, который часто игнорируют в пользу сложных решений вроде глобальных хранилищ и контекстов.

URL предоставляет четыре ключевых преимущества бесплатно: возможность делиться ссылками, создавать закладки, использовать историю браузера и глубокую навигацию. Разные части URL кодируют различные типы состояния: путь — для иерархической навигации, параметры запроса — для фильтров и настроек, якоря — для клиентской навигации. Среди распространённых паттернов для параметров запроса — множественные значения через разделители, вложенные данные, булевы флаги и массивы.

by thm • 02 ноября 2025 г. в 11:12 • 458 points

ОригиналHN

#prismjs#serialization#state-management#url-parameters#urls#web-applications

Комментарии (196)

  • Обсуждение охватывает вопросы: стоит ли хранить состояние в URL, какие ограничения накладывает это, какие есть альтернативы и какие есть подводные камни (отсутствие семантики, безопасность, длинные URL-ы и т.д.).
  • Участники обмениваются опытом, что иногда приводит к тому, что URL становится слишком длинным, что это может вызвать проблемы.
  • Обсуждается, что такое состояние должно быть сериализуемо так, чтобы его можно было закодировать в URL, и что такое состояние должно быть сериализуемо так, чтобы его можно было сохранить в URL.
  • Разговор затрагивает, что такое состояние должно быть сериализуемо так, чтобы его можно было сохранить в URL.
  • Участники обсуждают, что такое состояние должно быть сериализуемо так, чтобы его можно было сохранить в URL.

React vs. Backbone in 2025 (backbonenotbad.hyperclay.com) 🔥 Горячее 💬 Длинная дискуссия

Несмотря на 15 лет развития фронтенда, сравнение React и Backbone показывает удивительно мало прогресса в снижении сложности. Код для одинаковой функциональности в обеих фреймворках примерно одинаков по длине, что ставит под сомнение все усилия сообщества. React выглядит чище, но это достигается за счет скрытой сложности абстракций, в то время как Backbone предлагает явное, хоть и многословное, описание происходящего.

"Вы торгуете явной простотой за сложность абстракций" — ключевая мысль статьи. React скрывает множество деталей: неожиданное очищение инпутов из-за смены ключей компонентов, бесконечные циклы в useEffect из-за нестабильных зависимостей, "устаревшие" замыкания в обработчиках событий. Эти не крайние случаи, а обычные проблемы, требующие понимания алгоритмов согласования, фаз рендеринга и планировщика React.

Для 99% приложений, не имеющих тысячи компонентов на странице, такая сложность может быть избыточна. Фундаментальная задача "событие + состояние = UI" остается простой, но современные фреймворки создают ненужные абстракции, мешающие пониманию и отладке. Возможно, сообществу стоит искать более прозрачные и "взламываемые" решения, подобные Backbone и jQuery.

by mjsu • 25 октября 2025 г. в 09:43 • 259 points

ОригиналHN

#backbonejs#dom#javascript#reactjs#state-management

Комментарии (193)

  • Обсуждение показало, что споры между сторонниками React и Backbone часто сводятся к сравнению простых примеров, что не отражает реальную сложность больших приложений и может вводить в заблуждение.
  • Участники подчеркнули, что React и Backbone решают разные задачи: первый предлагает сложную, но мощную систему управления состоянием, тогда как второй предоставляет прямой и прозрачный контроль над DOM.
  • Несколько человек отметили, что выбор между инструментами должен зависеть от характера проекта и команды, а не от сравнения "Hello World" примеров.
  • Обсуждение также затронуло вопрос о том, что разработчики могут переоценивать или недооценивать сложность, связанную с управлением состоянием, и как это влияет на выбор инструмента.
  • Наконец, было высказано мнение, что выбор между React и Backbone должен быть основан на факторах, таких как размер команды, сложность проекта и долгосрочная поддерживаемость, а не на сравнение простых примеров кода.

I Switched from Htmx to Datastar (everydaysuperpowers.dev) 🔥 Горячее 💬 Длинная дискуссия

Автор перешёл с HTMX на Datastar, потому что последний убирает две проблемы: размер кода и сложность синхронизации фронтенда с бэкендом. Он показывает, что на практике это сокращает код на 60-70% и убирает необходимость вручную управлять состоянием на клиенте. Datastar заставляет сервер описывать, какие элементы и как должны обновляться, и это упрощает логику. Пример: вместо 3-4 атрибутов HTMX достаточно одного data-on-click. Это также убирает необходимость вручную следить за событиеми и состоянием, потому что вся логика находится в одном месте.

by ksec • 10 октября 2025 г. в 06:49 • 282 points

ОригиналHN

#backend#datastar#frontend#htmx#http#server-sent-events#state-management

Комментарии (207)

  • Обсуждение в основном вращается вокруг сравнения Datastar и HTMX, где участники делятся опытом, спорят о том, какие фичи действительно нужны, и обсуждают, какие из фреймворков лучше подходят для разных сценариев использования.
  • Несколько участников подчеркивают, что Datastar требует оплаты за ряд базовых функций, что вызывает сомнения в ценности продукта для open-source сообщества.
  • Некоторые комментаторы высказывают, что Datastar и HTMX имеют разные подходы к обновлению контента: Datastar использует Server-Sent Events, в то время как HTMX использует обычные HTTP-запросы.
  • Участники обсуждают, что Datastar требует больше кода на стороне сервера, в то время как HTMX позволяет легко обновлять различные части страницы без дополнительного кода.
  • Некоторые комментаторы высказывают, что Datastar и HTMX имеют разные подходы к обновлению контента: Datastar использует Server-Sent Events, в то время как HTMX использует обычные HTTP-запросы.