Состоялся релиз 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 μπορεί να χρησιμοποιηθεί τόσο για τη συντήρηση διακομιστών εφαρμογών Web όσο και για τη δημιουργία κανονικών προγραμμάτων δικτύου πελατών και διακομιστών. Για την επέκταση της λειτουργικότητας των εφαρμογών για το Node.js, έχει προετοιμαστεί μια μεγάλη συλλογή λειτουργικών μονάδων, στις οποίες μπορείτε να βρείτε ενότητες με την υλοποίηση HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 διακομιστές και πελάτες, ενότητες για ενοποίηση με διάφορα πλαίσια web, προγράμματα χειρισμού WebSocket και Ajax, υποδοχές DBMS (MySQL, PostgreSQL, SQLite, MongoDB), μηχανές προτύπων, μηχανές CSS, υλοποιήσεις αλγορίθμων κρυπτογράφησης και συστήματα εξουσιοδότησης (OAuth), αναλυτές XML.
Για να χειριστεί μεγάλο αριθμό ταυτόχρονων αιτημάτων, το Node.js χρησιμοποιεί ένα ασύγχρονο μοντέλο εκτέλεσης κώδικα που βασίζεται σε χειρισμό συμβάντων χωρίς αποκλεισμό και στον ορισμό χειριστών επανάκλησης. Οι υποστηριζόμενες μέθοδοι για την πολυπλεξία συνδέσεων περιλαμβάνουν τις epoll, kqueue, /dev/poll και select. Για την πολλαπλή σύνδεση, χρησιμοποιείται η βιβλιοθήκη libuv, η οποία είναι ένα υπερσύνολο της libev σε συστήματα Unix και της IOCP σε Windows. Η βιβλιοθήκη libeio χρησιμοποιείται για τη δημιουργία μιας ομάδας νημάτων και το c-ares είναι ενσωματωμένο για την εκτέλεση ερωτημάτων DNS σε λειτουργία χωρίς αποκλεισμό. Όλες οι κλήσεις συστήματος αποκλεισμού εκτελούνται μέσα στην ομάδα νημάτων και στη συνέχεια, όπως οι χειριστές σημάτων, περνούν το αποτέλεσμα της εργασίας τους πίσω μέσω ενός ανώνυμου αγωγού.
Выполнение JavaScript-кода обеспечивается через задействование разработанного компанией Google движка V8. По своей сути Node.js похож на фреймворки Perl AnyEvent, Ruby Event Machine, Python asyncio и реализацию событий в Tcl, но цикл обработки событий (event loop) в Node.js скрыт от разработчика и напоминает обработку событий в web-приложении, работающем в браузере.
Πηγή: opennet.ru
