Node.js 24: ваше следующее обновление Big Frontend?

Разработчик программного обеспечения с открытым исходным кодом Matteo Collina, член технического руководящего комитета Node.js, есть вопрос для вас: почему вы не обновляете node.js?

И почему, ради жалости, загружаются неподдерживаемые узлы 12, когда узел 20 уже находится в режиме обслуживания?

«Узел 12 там, вы видите, что красный поднимается, я понятия не имею», — сказала Коллина, указывая на график, который, действительно, показал, что загрузки узла 12 увеличиваются. Это вызвало нервный смех. «В любом случае, вы не обновляете узел, не так ли? Почему вы не обновляете его?… Узел 24 будет новым активным LT; пожалуйста, ребята, обновление».

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

Collina создала фастифическую структуру, а также является соучредителем и техническим директором Plateralatic.dev, облачной собственной платформы, созданной для упрощения разработки Node.js. Он предложил отчеты о состоянии node.js для обновления разработчиков о node.js, популярном кроссплатформенном времени выполнения, которое позволяет разработчикам выполнять код JavaScript за пределами браузера. Он сделал свои замечания на JSNation в этом месяце, гибридном мероприятии, состоявшемся в Амстердаме.

Он начал, менеджер пакетов узлов (NPM) и Node.js — две стороны одной монеты. По его словам, NPM — самый популярный реестр с открытым исходным кодом, чтобы загрузить вещи.

«Модульное использование растет более или менее 50% каждый год, и каждые два года удваивается», — сказал он. «Вы загружаете много модулей, ребята, я не знаю. Это не падает».

По его словам, загрузки Node.js были 271 миллион в декабре 2024 года, а в мае это число составило 375 миллионов загрузок за месяц.

«Я понятия не имею, почему, прежде всего, вы не обновляете node.js», — сказал он.

Узел 18 вышел из поддержки в апреле, но огромное количество людей все еще используют его — на самом деле, он был загружен 50 миллионов раз в мае, отметил он.

Данные также показали, что разработчики, как правило, пропускают версию, когда они обновляются.

«Это узел 16, хорошо, падает вниз — все еще загружен, я не знаю, 30 миллионов раз в месяц», — сказал он. «Извините, ребята, я ошеломлен.… Вы видите, что не так много людей прыгают с узла 16 до узла 20 сразу».

Matteo Collina обсуждает загрузку более старых версий Node.js на JSNation этого месяца. Снимок экрана через презентацию JSNation.

Это привело к его шагу за то, почему вы должны обновить node.js: одним словом, безопасность.

«Проект Node очень усердно работает, чтобы обеспечить вам все в безопасности и дать вам хороший релиз безопасности каждый квартал. Вам нравятся наши релизы безопасности? Может, возможно, нет», — сказал он. «Хорошо, они нам тоже не нравятся, но мы живем в этом мире».

По его словам, Alpha Omega, проект Foundation Linux, предоставляет некоторые финансирование для Node.js для поддержания своей осанки безопасности. Ранее эти средства составляли около 300 тысяч долларов, но в 2025 году финансирование было сокращено вдвое до 150 тысяч долларов, добавил он.

Node.js обновления

Node теперь требует () ESM — он работает из коробки, поэтому вы можете загружать модули ES в контексте CommonJS, тем самым улучшая взаимодействие между CommonJS и ESM в приложении Node.js.

Связано с этим, если вы используете последнюю версию node.js, .mjs больше не нужна. .MJS использовался для явного указания, что файл JavaScript следует рассматривать как модуль ECMASCRIPT. Теперь разработчики могут просто запускать его, и это работает без использования .mjs.

«Никому это не понравилось […] Скрипт, — сказал он. — Так что вы можете просто запустить его, и он просто работает ».

Еще одно большое изменение: TypeScript теперь заканчивается из коробки, которую Коллина приписывала работе Марко Ипполито, старшего инженера по безопасности в Herodevs и члене технического руководящего комитета Node.js.

Они надеются иметь это как флаг на узле 22 и стабильный от узла 24, добавил он.

По его словам, были также изменения в V8, которые позволили команде узлов улучшить производительность открытой телеметрии примерно на 7%. V8-это открытый исходный код Google, высокопроизводительный JavaScript и двигатель Webassembly, который написан в C ++. Это двигатель, который питает Node.js.

«Это также сделало много вещей на основе асинхронного местного хранилища значительно быстрее», — сказала Коллина. «Там [are] Многие новые вещи пришли благодаря этому ».

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

«Вы можете сделать, по сути, финализатор или сделка, когда вы выходите из сферы», — сказал он. «Это уже работает для таймеров и других API на узле 24, но мы планируем добавить это через все из них. Почему это полезно? Потому что, по сути, вы сможете использовать файл или использовать поток, и они будут автоматически разбираться и чистить правильно, особенно если он находится под нативным ресурсом.

Это решает давнюю проблему в JavaScript, что было сложно, особенно с асинхронными операциями. Была вероятность того, что ошибка, возникающая до того, как разработчик явно закрыл, что ресурс может привести к тому, что он останется открытым, что, в свою очередь, привело к утечкам. Автоматическая сборы мусора JavaScript не очистила эти немаморожные «нативные ресурсы», такие как дескрипторы файлов.

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

Ватт: сервер приложений Node.js

Коллина также рассказала о сервере приложений для node.js, который он выпустил в прошлом году на платформе Platformatic.dev. По его словам, сервер, называемый WATT, производит приложения корпоративные качества из коробки.

«Он запускает ваше приложение в его оптимизированном многопоточечном, запускающем несколько приложений node.js в одном и том же потоке, в том же процессе, используя потоки и стандартизация зонда, журналов, метрик, открытая телеметрия и т. Д., И так далее»,-сказал он.

Это позволило node.js сделать несколько хороших вещей, добавил он, например, Run Php.

По его словам, можно было запустить PHP на node.js, но теперь PHP внутри Node.js работает как нативное дополнение в отдельном потоке.

«По сути, вы можете создать один процесс, в котором у вас есть приложение для следующего.js и ваше приложение PHP», — сказал он. «Как это работает? Он запускает PHP в отдельном потоке, и таким образом он может блокировать и делать все эти вещи».

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

«Я работал над таким приложением, я думаю, 2017 год с очень популярной газетой, использующей WordPress для редактирования, а затем [they] Хотел использовать React для их фронта, — сказал он. — В наши дни много программного обеспечения встроено в PHP, которое, вероятно, не уйдет в ближайшее время ».

Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Loraine Lawson — ветеран -репортер, который в течение 25 лет освещал технологические проблемы от интеграции данных до безопасности. Прежде чем присоединиться к новому стеку, она работала редактором Banking Technology Site Bank Automation News. Она … читайте больше от Лорейн Лоусон

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *