Что было важного у JavaScript в 2023: сигналы, RSC

Важные события в 2023 связанные с JavaScript — внедрение сигналов, React компоненты для сервера. JS уже фуллстек?

Интересной тенденцией стало широкое распространение Signals в различных фреймворках, типа: React, RSC (React server Components).

Создатель фреймворка Solid Райан Карниато, отмечает, что количество мета-фреймворков которые используют сигналы продолжает расти. В 16 версии Angular уже внедрил сигналы и у Vue есть рендеринг на основе их. Preact, Qwik используют также. Недавно было объявлено, что Svelte 5 тоже перейдет к рендерингу на основе сигналов.

В течении 2023 разработчики изучали RSC (React Server Components). В комьюнити React большим событием стали Next.js & RSC. Было очень много докладов и мероприятий на эту тему.

Signals

Signals — это реактивные примитивы, управляющие состоянием приложения. Они позволяют следить за изменениями в написанных приложениях. И похоже добавление сигналов может изменить подход у разработчиков к реактивному программированию и сделать это повсеместно.

Сигналы довольно простые и состоят из геттера, сеттера и значения. Раньше они назывались Observables, atoms, Subjects, Refs. Они работают вместе с Effects, Autoruns, Watches или Computeds.

React Server Components

Эли Уйт из команды React.js подтвердил, что, главной новостью в 2023 были React server Components. И ему понравилось видеть, как сообщество приняли RSC и это стало крупным изменением для большинства людей — от простого пользовательского интерфейса до значительного влияния на архитектуру. Особенно касалось приложений где SPA не были достаточны.

У Next.js большим изменением был предоставленный новый Router, который поддерживает RSC. Цель нового Router’a была сохранить поддержку предыдущей версии и это позволило разработчикам переходить постепенно к новым функциям и увеличению производительности, без крупных изменений.

RSC позволяет предотвратить отправку дополнительного JS кода для клиента, что будет важно для медленного интернета. И уже многие инженеры-разработчики из Vercel (Next.js) и другие — считают, что Javascript готов для серверной части.

Full-Stack JavaScript

Комментарий от Эда Хуанга, главного технического директора компании PingCAP:

«JS становится язым полного стека и он теперь не для ‘фронтенд-трюков’. Node.js начал стировать границы между разработкой фронтенда и бекенда, позволяя использовать JS и там, и там. Также появляются хостинг сервера, которые уже заточены под выполнение JavaScript, для более быстрой разработки и развертывания. Всё это ведет к тому, что экосистема JavaScript становится самой продуктивной и креативной в текущей сфере технологий WEB’a».

Читайте также
Что нового для разработчиков в Chrome 119
Что нового для разработчиков в Chrome 119
Что нового для разработчиков в Chrome 119

Обновлен верхний предел срока действия файлов cookie, уже находящихся в хранилище, в CSS появились новые псевдоклассы , синтаксис относительного цвета и многое другое. Подробнее в обзоре.

Конференция QCon: как бороться с поддельными ИИ-изображениями при помощи библиотек JavaScript
Конференция QCon: как бороться с поддельными ИИ-изображениями при помощи библиотек JavaScript
Конференция QCon: как бороться с поддельными ИИ-изображениями при помощи библиотек JavaScript

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

Опубликовали релиз легковесного http-сервера lighttpd 1.4.73
Опубликовали релиз легковесного http-сервера lighttpd 1.4.73
Опубликовали релиз легковесного http-сервера lighttpd 1.4.73

Он пытается сочетать высокую производительность, безопасность, соответствие стандартам и гибкость настройки.

Запустили llm.js — библиотеку для запуска больших языковых моделей в браузере
Запустили llm.js — библиотеку для запуска больших языковых моделей в браузере
Запустили llm.js — библиотеку для запуска больших языковых моделей в браузере

Появилась библиотека llm.js для запуска больших языковых моделей в браузере. Она написана на JavaScript. Библиотеку опубликовали на GitHub.