Итоги 2024 года: JavaScript на пороге 30-летия

В этом году JavaScript отметил своё 29-летие, и, несмотря на почтенный возраст, язык продолжает удивлять своей динамикой и новыми подходами. Но 2024 год не только укрепил позиции JavaScript как главного инструмента веб-разработки, но и подчеркнул некоторые слабые места, на которые обратили внимание как разработчики, так и крупные компании.

Сигналы роста: новые инструменты и мета-фреймворки

Этот год выдался богатым на новинки, среди которых особенно выделяются два мета-фреймворка: TanStack Start от Таннера Линсли и SolidStart, разработанный Райаном Карниато.

TanStack Start базируется на популярном TanStack Router и составляет конкуренцию решениям от React, Next.js и Redwood. SolidStart, в свою очередь, был задуман как инструмент для серверного рендеринга и стал результатом трёхлетней работы Карниато.

«Сейчас от фреймворков ожидают наличие стартовых решений, которые упрощают серверное рендеринг. Именно поэтому я изначально занялся разработкой SolidStart», — поделился Карниато.

Ещё одной громкой новостью стало создание новой компании VoidZero, Inc. под руководством Евана Ю, создателя Vue и Vite. Её цель — построение единой экосистемы инструментов для JavaScript, включая новый сборщик Rolldown.

«Этот подход не только улучшит Vite, но и внесёт значительные изменения во всю экосистему JavaScript», — отметил Ю.

Angular и инкрементальная гидратация

Фреймворк Angular, вдохновившись успехом Island-архитектуры Astro, в этом году представил собственный подход к частичной гидратации в версии 19. На это ушло несколько лет работы, начиная с внедрения ленивой загрузки (deferrable views) в версии 15 и заканчивая функцией defer blocks, позволяющей откладывать выполнение компонентов до необходимости.

Обратная сторона медали: сложность и раскол

Однако не всё в JavaScript оказалось радужным. Некоторые разработчики выразили усталость от обилия фреймворков и сложности экосистемы. По данным опроса State of JavaScript 2024, использование React снизилось на 2%, хотя он по-прежнему остаётся лидером.

Интересно, что в этом году большинство респондентов (67%) признались, что чаще пишут на TypeScript, чем на самом JavaScript.

В октябре Google предложил радикальное решение — разделение JavaScript на две части:

  • JS0, содержащий только базовые функции;
  • JSSugar, с расширенными возможностями и синтаксисом, требующими компиляции в JS0.

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

Борьба за имя JavaScript

И наконец, в 2024 году Deno подала петицию в Патентное ведомство США, чтобы лишить Oracle прав на торговую марку JavaScript. Хотя итог пока неизвестен, этот случай стал ещё одним напоминанием о сложности мира JavaScript.

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

Читайте также
Volman IT нашел игру-программу, в которой нужно написать код Rust для управления флотом космических кораблей
Volman IT нашел игру-программу, в которой нужно написать код Rust для управления флотом космических кораблей
Volman IT нашел игру-программу, в которой нужно написать код Rust для управления флотом космических кораблей

Ваш код отвечает за работу двигателей, оружия, радаров и средств связи кораблей — от крошечных ракет до огромных крейсеров.

Новые инструменты для борьбы с «галлюцинациями» ИИ: как разработчики оценивают и улучшают генеративные модели
Новые инструменты для борьбы с «галлюцинациями» ИИ: как разработчики оценивают и улучшают генеративные модели
Новые инструменты для борьбы с «галлюцинациями» ИИ: как разработчики оценивают и улучшают генеративные модели

С появлением генеративного искусственного интеллекта (GenAI) перед разработчиками встала новая задача — борьба с «галлюцинациями» ИИ, когда модель выдаёт ложную или недостоверную информацию. На помощь приходят инструменты AI agentic evaluation, которые помогают оценивать и контролировать работу ИИ-агентов, делая их более предсказуемыми и надёжными.

Dev новости:  Spark от Гитхаб, Instabug, Bun
Dev новости: Spark от Гитхаб, Instabug, Bun
Dev новости: Spark от Гитхаб, Instabug, Bun

На своей конференции в Сан-Франциско GitHub анонсировал новый ИИ-инструмент GitHub Spark, который позволяет разработчикам создавать микроприложения в форме «искр» (sparks) с помощью естественного языка. Этот инструмент поддерживает интеграцию ИИ-функций и внешних источников данных без необходимости управления облачными ресурсами.

SortableJS переносит списки с перетаскиванием в Microsoft Blazor
SortableJS переносит списки с перетаскиванием в Microsoft Blazor
SortableJS переносит списки с перетаскиванием в Microsoft Blazor

Разработчики преобразовали SortableJS, инструмент JavaScript для создания списков с возможностью перетаскивания, в компонент Blazor для разработки веб-приложений Microsoft, переименовав его в Blazor Sortable.