Node.js 26.0.0 प्लेटफ़ॉर्म जारी किया गया

Состоялся релиз Node.js 26.0.0, платформы для выполнения сетевых приложений на языке JavaScript. Node.js 26.0 отнесён к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Поддержка Node.js 26.x будет осуществляться до мая 2029 года. Сопровождение прошлой LTS-ветки Node.js 24.x будет осуществляться до 30 апреля 2028 года, а позапрошлой 22.x — до 30 апреля 2027 года. Сопровождение LTS-ветки 20.x прекращено 30 апреля 2026 года, а промежуточной ветки Node.js 25.x будет прекращено 1 июня 2026 года.

मुख्य सुधार:

  • Включён по умолчанию API Temporal, предлагающий альтернативный набор методов для работы с датами и временем. API позволяет манипулировать датами с учётом и без учёта часовых поясов, конвертировать время, форматировать вывод и выполнять арифметические операции со временем. Время может задаваться в независимом от часового пояса представлении (Temporal.PlainDate, Temporal.PlainTime, Temporal.PlainDateTime), с привязкой к часовому поясу (Temporal.ZonedDateTime) и в эпохальном представлении (Temporal.Instant — число наносекунд с 1 января 1970 года).
  • Движок V8 обновлён до версии 14.6, применяемой в Chromium 146. Из улучшений по сравнению с прошлым выпуском Node.js отмечена возможность объединять несколько итераторов в один с помощью метода Iterator.concat(), а также реализация спецификации «upsert» для упрощения работы с коллекциями пар ключ/значение в JavaScript-объектах Map и WeakMap.
  • HTTP-клиент undici обновлён до ветки 8.x.
  • Удалён метод http.Server.prototype.writeHeader(), вместо которого следует использовать http.Server.prototype.writeHead().

Node.js प्लेटफ़ॉर्म का उपयोग वेब अनुप्रयोगों के सर्वर रखरखाव और नियमित क्लाइंट और सर्वर नेटवर्क प्रोग्राम बनाने दोनों के लिए किया जा सकता है। Node.js के लिए अनुप्रयोगों की कार्यक्षमता का विस्तार करने के लिए, मॉड्यूल का एक बड़ा संग्रह तैयार किया गया है, जिसमें आप HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 सर्वर और क्लाइंट के कार्यान्वयन के साथ मॉड्यूल, एकीकरण के लिए मॉड्यूल पा सकते हैं। विभिन्न वेब फ्रेमवर्क, वेबसॉकेट और Ajax हैंडलर, DBMS कनेक्टर (MySQL, PostgreSQL, SQLite, MongoDB), टेम्प्लेटिंग इंजन, CSS इंजन, क्रिप्टो एल्गोरिदम और प्राधिकरण सिस्टम (OAuth), XML पार्सर के कार्यान्वयन के साथ।

बड़ी संख्या में समवर्ती अनुरोधों को संभालने के लिए, Node.js गैर-अवरुद्ध ईवेंट हैंडलिंग और कॉलबैक हैंडलर्स को परिभाषित करने पर आधारित एक अतुल्यकालिक कोड निष्पादन मॉडल का उपयोग करता है। मल्टीप्लेक्सिंग कनेक्शन के लिए समर्थित विधियों में epoll, kqueue, /dev/poll, और select शामिल हैं। कनेक्शन को मल्टीप्लेक्स करने के लिए, libuv लाइब्रेरी का उपयोग किया जाता है, जो कि यूनिक्स सिस्टम पर libev और विंडोज़ पर IOCP का सुपरसेट है। libeio लाइब्रेरी का उपयोग थ्रेड पूल बनाने के लिए किया जाता है, और c-ares को नॉन-ब्लॉकिंग मोड में DNS क्वेरीज़ निष्पादित करने के लिए एकीकृत किया जाता है। सभी ब्लॉकिंग सिस्टम कॉल्स को थ्रेड पूल के अंदर निष्पादित किया जाता है और फिर, सिग्नल हैंडलर्स की तरह, अपने कार्य के परिणाम को एक अनाम पाइप के माध्यम से वापस भेज दिया जाता है।

Выполнение JavaScript-кода обеспечивается через задействование разработанного компанией Google движка V8. По своей сути Node.js похож на фреймворки Perl AnyEvent, Ruby Event Machine, Python asyncio и реализацию событий в Tcl, но цикл обработки событий (event loop) в Node.js скрыт от разработчика и напоминает обработку событий в web-приложении, работающем в браузере.

स्रोत: opennet.ru