Node.js — платформа з відкритим кодом для виконання високопродуктивних мережевих застосунків, написаних мовою JavaScript. Засновником платформи є Раян Дал (Ryan Dahl). Якщо раніше JavaScript застосовувався для обробки даних в браузері користувача, то node.js надав можливість виконувати JavaScript-скрипти на сервері та відправляти користувачеві результат їхнього виконання. Платформа Node.js перетворила JavaScript на мову загального використання з великою спільнотою розробників.
Тип | JavaScript |
---|---|
Автор | Раян Дал |
Розробники | Node.js Developers, , contributors |
Перший випуск | 27 травня 2009 |
Стабільний випуск | 14.8.0 (11 серпня 2020 ) |
Операційна система | Mac OS X, Linux, Solaris, FreeBSD, OpenBSD, Windows, webOS, |
Мова програмування | C, , JavaScript |
Доступні мови | JavaScript |
Стан розробки | активний |
Ліцензія | MIT License |
Онлайн-документація | nodejs.org/en/docs |
Репозиторій | github.com/nodejs/node |
Вебсайт | nodejs.org |
|
Node.js має наступні властивості:
- асинхронна однониткова модель виконання запитів;
- неблокуючий ввід/вивід;
- система модулів CommonJS;
- рушій JavaScript Google V8;
Для керування модулями використовується пакетний менеджер npm (node package manager).
Історія
Node.js був спочатку написаний Раяном Далом у 2009 році приблизно через тринадцять років після появи першого серверного середовища JavaScript, LiveWire Pro Web від Netscape. Первісний випуск підтримував лише Linux та Mac OS X. Його розробку та обслуговування очолював Дал, а згодом і компанія .
Дал розкритикував обмежені можливості найпопулярнішого вебсервера 2009 року, Apache HTTP Server, обробляти безліч одночасних з'єднань (до 10 000 і більше) та найпоширеніший спосіб створення коду (послідовне програмування), коли код або блокував весь процес або залучає кілька стеків виконання у разі одночасного з'єднання.
Дал продемонстрував проєкт на першій європейській JSConf 8 листопада 2009 року Node.js поєднував у собі JavaScript-рушій Google V8, цикл обробки подій на основі C-бібліотек, і низькорівневий API вводу-виводу.
У січні 2010 року для середовища Node.js був введений менеджер пакетів під назвою npm. Менеджер пакетів полегшує програмістам публікацію та обмін сирцевим кодом бібліотек Node.js і призначений для спрощення встановлення, оновлення та видалення бібліотек.
У червні 2011 року Microsoft та Joyent реалізували Windows-версію Node.js. Перше складання Node.js, що підтримує Windows, випущене в липні 2011 року.
У січні 2012 року Дал відійшов у сторону, заохочуючи колегу і творця npm Ісаака Шлютера (Isaac Schlueter) до управління проєктом. У січні 2014 року Шлютер оголосив, що проєкт буде очолювати Тімоті Фонтен (Timothy J. Fontaine).
У грудні 2014 року Федір Індутний, незадоволений надто консервативним циклом оновлень, випустив io.js, форк Node.js. Через внутрішній конфлікт щодо управління Joyent, Io.js був створений як відкрита альтернатива управління з окремим технічним комітетом. На відміну від Node.js, автори планували постійно оновлювати io.js з найсвіжішими випусками JavaScript-рушія V8.
У лютому 2015 року було оголошено про намір створити нейтральний фонд Node.js. До червня 2015 року спільноти Node.js та io.js проголосували за спільну роботу в рамках .
У вересні 2015 року Node.js v0.12 та io.js v3.3 були об'єднані разом у Node v4.0. Це об'єднання принесло можливості V8 ES6 в Node.js і довготривалий цикл випуску підтримки. Станом на 2016 рік вебсайт io.js рекомендував розробникам перейти на Node.js і не планувати подальших випусків io.js через злиття., нині той домен переадресовує запити на офіційний сайт nodejs.org [ 15 березня 2017 у Wayback Machine.].
Огляд
Платформа Node.js призначена для виконання високопродуктивних мережевих застосунків, написаних мовою програмування JavaScript. Платформа окрім роботи із серверними скриптами для веб-запитів, також використовується для створення клієнтських та серверних програм.
В платформі використовується розроблений компанією Google рушій V8.
Для забезпечення обробки великої кількості паралельних запитів у Node.js використовується асинхронна модель запуску коду, заснована на обробці подій в неблокуючому режимі та визначенні обробників зворотніх викликів (callback). Як способи мультиплексування з'єднань підтримується epoll, kqueue, /dev/poll і select. Для мультиплексування з'єднань використовується бібліотека libuv, для створення пулу нитей (thread pool) задіяна бібліотека , для виконання DNS-запитів у неблокуючому режимі інтегрований c-ares. Всі системні виклики, що спричиняють блокування, виконуються всередині пулу потоків і потім, як і обробники сигналів, передають результат своєї роботи назад через неіменовані канали (pipe).
За своєю суттю Node.js схожий на фреймворки Perl , Ruby і Python , але цикл обробки подій (event loop) у Node.js прихований від розробника і нагадує обробку подій у веб застосунку, що працює в браузері. При написанні програм для Node.js необхідно враховувати специфіку подієво-орієнтованого програмування, наприклад, замість виконання
var result = db.query ("select .. ");
з очікуванням завершення роботи і наступною обробкою результатів, в Node.js використовує принцип асинхронного виконання, тобто код трансформується в
db.query ("select .. ", function (result) { /* обробка результату */ });
При цьому управління миттєво перейде до коду який слідує після виклику функції db.query, а результат запиту буде оброблений як тільки будуть оброблені дані. Жодна функція в Node.js не повинна безпосередньо виконувати (блокуючі) операції вводу/виводу — для отримання даних з диска, від іншого процесу або з мережі потрібна установка callback-обробника.
Для розширення функціональності застосунків на базі Node.js підготовлена велика колекція модулів, в якій можна знайти реалізацію HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 серверів і клієнтів, модулі для інтеграції з різними вебфреймворками, обробники WebSocket і AJAX, конектори до СКБД (MySQL, PostgreSQL, SQLite, MongoDB), шаблонізатори, CSS-рушії, реалізації криптоалгоритмів і систем авторизації (наприклад, OAuth), XML-парсери.
Приклад використання
Приклад програми, що запускає вебсервер, виводить в консоль повідомлення, та на кожен HTTP запит відповідає повідомленням «Hello World»
var http = require('http'); // Завантажуємо модуль http // Створюємо web-сервер і вказуємо функцію обробки запиту var server = http.createServer(function (req, res) { console.log('Початок обробки запиту'); // Передаємо код відповіді і заголовки res.writeHead(200, { 'Content-Type': 'text/plain; charset=UTF-8' }); res.end('Hello world!'); }); // Запускаємо web-сервер server.listen(1991, "127.0.0.1", function () { console.log('Сервер запущено за адресою http://127.0.0.1:1991/'); });
Версії
Випуск | Кодове ім'я | Дата випуску | Статус LTS | Активний запуск LTS | Початок технічного обслуговування | Кінець обслуговування |
---|---|---|---|---|---|---|
8.x | Carbon | 2017-05-30 | Технічне обслуговування | 2017-10-31 | 2019-01-01 | 2019-12-31 |
9.x | 2017-10-01 | Немає LTS | N/A | 2018-06-30 | ||
10.x | Dubnium | 2018-04-24 | Технічне обслуговування | 2018-10-30 | 2020-04-01 | 2021-04-01 |
11.x | 2018-10-23 | Немає LTS | N/A | 2019-06-30 | ||
12.x | Erbium | 2019-04-23 | Активна | 2019-10-22 | 2021-04-01 | 2022-04-01 |
13.x | 2019-10-22 | Немає LTS | N/A | Червень 2020 | ||
14.x | Квітень 2020 | Очікує | Жовтень 2020 | Квітень 2022 | Квітень 2023 |
Модулі
Стандартна поставка node.js включає в себе кількадесят модулів, у яких реалізовані типові операції для взаємодії з операційною системою, файловою системою, мережею і протоколами, утиліти для обробки даних.
Крім того є доступними безліч модулів від незалежних розробників, програмісти можуть отримати їх з відкритих репозиторіїв і використовувати у своїх проектах.
FileSystem
Одним з широко використовуваних стандартних модулів є FileSystem, який є вбудованим та містить операції роботи з файлами.
const fs = require("fs"); fs.readFile("test.txt", function(err, data) { if (err) throw err; console.log(data); });
Цей код виведе текст з файла test.txt
, що знаходиться в тій же теці де й сам js-скрипт. Проте результат буде повернутий в бінарному, не читабельному вигляді. Для цього потрібно виконати перетворення об'єкту data
з бінарного типу на текстовий:
const fs = require("fs"); fs.readFile("test.txt",function(err,data) { if (err) throw err; data = String(data); // перетворення типів console.log(data); });
Виноски
- . Архів оригіналу за 28 квітня 2015. Процитовано 2 August 2014.
- . Архів оригіналу за 18 липня 2020. Процитовано 16 серпня 2020 — через GitHub.
- https://github.com/nodejs/node/blob/master/LICENSE
- . Training.com. Training.com. Архів оригіналу за 1 квітня 2017. Процитовано 23 жовтня 2016.
- . CNET (англ.). Архів оригіналу за 30 грудня 2019. Процитовано 20 квітня 2017.
- Ryan Dahl (9 листопада 2010). . Google Groups. Архів оригіналу за 31 травня 2019. Процитовано 5 лютого 2015.
- . Архів оригіналу за 23 лютого 2017. Процитовано 21 December 2016.
- Sams Teach Yourself Node.js in 24 Hours [ 23 березня 2017 у Wayback Machine.], Sams Publishing, 05-Sep-2012
- . Архів оригіналу за 14 травня 2017. Процитовано 11 вересня 2019.
- . Архів оригіналу за 15 травня 2017. Процитовано 11 вересня 2019.
- Professional Node.js: Building JavaScript Based Scalable Software [ 24 березня 2017 у Wayback Machine.], John Wiley & Sons, 01-Oct-2012
- . GitHub. Архів оригіналу за 1 березня 2017. Процитовано 27 липня 2016.
- . Архів оригіналу за 14 липня 2017. Процитовано 17 April 2016.
- Dahl, Ryan. . Архів оригіналу за 31 травня 2019. Процитовано 26 жовтня 2013.
- Schlueter, Isaac (15 січня 2014). . Архів оригіналу за 14 липня 2017. Процитовано 21 січня 2014.
- Krill, Paul (Dec 4, 2014). . JavaWorld. Архів оригіналу за 30 червня 2017. Процитовано Dec 15, 2014.
- Q&A: Why io.js decided to fork Node.js [ 6 листопада 2018 у Wayback Machine.], Tech Watch
- Ben Noordhuis (Nov 12, 2014). . V8 JavaScript Engine Issues. Архів оригіналу за 1 листопада 2015. Процитовано 2 February 2015.
- Mikeal, Rogers (28 січня 2015). . Архів оригіналу за 30 серпня 2015. Процитовано 2 February 2015.
- . Архів оригіналу за 24 June 2015. Процитовано 4 липня 2015.
- . Архів оригіналу за 7 січня 2017. Процитовано 28 січня 2016.
- . Архів оригіналу за 6 березня 2016. Процитовано 27 June 2015.
- Io.js, JavaScript I/O [ 4 жовтня 2016 у Wayback Machine.], «io.js has merged with the Node.js project again. There won't be any further io.js releases. All of the features in io.js are available in Node.js v4 and above.»
- nodejs/Release. GitHub (англ.). Процитовано 3 травня 2018.
- Node 8 reschedule. Процитовано 22 January 2019.
- . Архів оригіналу за 21 листопада 2018. Процитовано 18 травня 2018.
Посилання
- Офіційний сайт [ 10 липня 2020 у Wayback Machine.] (англ.)
- Код на ресурсі GitHub [ 23 червня 2011 у Wayback Machine.] (англ.)
- Офіційна документація [ 19 січня 2012 у Wayback Machine.] (англ.)
- Переклад документації [ 19 травня 2018 у Wayback Machine.] (рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Node js platforma z vidkritim kodom dlya vikonannya visokoproduktivnih merezhevih zastosunkiv napisanih movoyu JavaScript Zasnovnikom platformi ye Rayan Dal Ryan Dahl Yaksho ranishe JavaScript zastosovuvavsya dlya obrobki danih v brauzeri koristuvacha to node js nadav mozhlivist vikonuvati JavaScript skripti na serveri ta vidpravlyati koristuvachevi rezultat yihnogo vikonannya Platforma Node js peretvorila JavaScript na movu zagalnogo vikoristannya z velikoyu spilnotoyu rozrobnikiv Node jsTip JavaScriptAvtor Rayan DalRozrobniki Node js Developers contributorsPershij vipusk 27 travnya 2009 15 rokiv tomu 2009 05 27 Stabilnij vipusk 14 8 0 11 serpnya 2020 3 roki tomu 2020 08 11 Operacijna sistema Mac OS X Linux Solaris FreeBSD OpenBSD Windows webOS Mova programuvannya C C JavaScriptDostupni movi JavaScriptStan rozrobki aktivnijLicenziya MIT LicenseOnlajn dokumentaciya nodejs org en docsRepozitorij github com nodejs nodeVebsajt nodejs org Mediafajli u Vikishovishi Node js maye nastupni vlastivosti asinhronna odnonitkova model vikonannya zapitiv neblokuyuchij vvid vivid sistema moduliv CommonJS rushij JavaScript Google V8 Dlya keruvannya modulyami vikoristovuyetsya paketnij menedzher npm node package manager IstoriyaRayan Dal tvorec Node js u 2010 Node js buv spochatku napisanij Rayanom Dalom u 2009 roci priblizno cherez trinadcyat rokiv pislya poyavi pershogo servernogo seredovisha JavaScript LiveWire Pro Web vid Netscape Pervisnij vipusk pidtrimuvav lishe Linux ta Mac OS X Jogo rozrobku ta obslugovuvannya ocholyuvav Dal a zgodom i kompaniya Dal rozkritikuvav obmezheni mozhlivosti najpopulyarnishogo vebservera 2009 roku Apache HTTP Server obroblyati bezlich odnochasnih z yednan do 10 000 i bilshe ta najposhirenishij sposib stvorennya kodu poslidovne programuvannya koli kod abo blokuvav ves proces abo zaluchaye kilka stekiv vikonannya u razi odnochasnogo z yednannya Dal prodemonstruvav proyekt na pershij yevropejskij JSConf 8 listopada 2009 roku Node js poyednuvav u sobi JavaScript rushij Google V8 cikl obrobki podij na osnovi C bibliotek i nizkorivnevij API vvodu vivodu U sichni 2010 roku dlya seredovisha Node js buv vvedenij menedzher paketiv pid nazvoyu npm Menedzher paketiv polegshuye programistam publikaciyu ta obmin sircevim kodom bibliotek Node js i priznachenij dlya sproshennya vstanovlennya onovlennya ta vidalennya bibliotek U chervni 2011 roku Microsoft ta Joyent realizuvali Windows versiyu Node js Pershe skladannya Node js sho pidtrimuye Windows vipushene v lipni 2011 roku U sichni 2012 roku Dal vidijshov u storonu zaohochuyuchi kolegu i tvorcya npm Isaaka Shlyutera Isaac Schlueter do upravlinnya proyektom U sichni 2014 roku Shlyuter ogolosiv sho proyekt bude ocholyuvati Timoti Fonten Timothy J Fontaine U grudni 2014 roku Fedir Indutnij nezadovolenij nadto konservativnim ciklom onovlen vipustiv io js fork Node js Cherez vnutrishnij konflikt shodo upravlinnya Joyent Io js buv stvorenij yak vidkrita alternativa upravlinnya z okremim tehnichnim komitetom Na vidminu vid Node js avtori planuvali postijno onovlyuvati io js z najsvizhishimi vipuskami JavaScript rushiya V8 U lyutomu 2015 roku bulo ogolosheno pro namir stvoriti nejtralnij fond Node js Do chervnya 2015 roku spilnoti Node js ta io js progolosuvali za spilnu robotu v ramkah U veresni 2015 roku Node js v0 12 ta io js v3 3 buli ob yednani razom u Node v4 0 Ce ob yednannya prineslo mozhlivosti V8 ES6 v Node js i dovgotrivalij cikl vipusku pidtrimki Stanom na 2016 rik vebsajt io js rekomenduvav rozrobnikam perejti na Node js i ne planuvati podalshih vipuskiv io js cherez zlittya nini toj domen pereadresovuye zapiti na oficijnij sajt nodejs org 15 bereznya 2017 u Wayback Machine OglyadPlatforma Node js priznachena dlya vikonannya visokoproduktivnih merezhevih zastosunkiv napisanih movoyu programuvannya JavaScript Platforma okrim roboti iz servernimi skriptami dlya veb zapitiv takozh vikoristovuyetsya dlya stvorennya kliyentskih ta servernih program V platformi vikoristovuyetsya rozroblenij kompaniyeyu Google rushij V8 Dlya zabezpechennya obrobki velikoyi kilkosti paralelnih zapitiv u Node js vikoristovuyetsya asinhronna model zapusku kodu zasnovana na obrobci podij v neblokuyuchomu rezhimi ta viznachenni obrobnikiv zvorotnih viklikiv callback Yak sposobi multipleksuvannya z yednan pidtrimuyetsya epoll kqueue dev poll i select Dlya multipleksuvannya z yednan vikoristovuyetsya biblioteka libuv dlya stvorennya pulu nitej thread pool zadiyana biblioteka dlya vikonannya DNS zapitiv u neblokuyuchomu rezhimi integrovanij c ares Vsi sistemni vikliki sho sprichinyayut blokuvannya vikonuyutsya vseredini pulu potokiv i potim yak i obrobniki signaliv peredayut rezultat svoyeyi roboti nazad cherez neimenovani kanali pipe Za svoyeyu suttyu Node js shozhij na frejmvorki Perl Ruby i Python ale cikl obrobki podij event loop u Node js prihovanij vid rozrobnika i nagaduye obrobku podij u veb zastosunku sho pracyuye v brauzeri Pri napisanni program dlya Node js neobhidno vrahovuvati specifiku podiyevo oriyentovanogo programuvannya napriklad zamist vikonannya var result db query select z ochikuvannyam zavershennya roboti i nastupnoyu obrobkoyu rezultativ v Node js vikoristovuye princip asinhronnogo vikonannya tobto kod transformuyetsya v db query select function result obrobka rezultatu Pri comu upravlinnya mittyevo perejde do kodu yakij sliduye pislya vikliku funkciyi db query a rezultat zapitu bude obroblenij yak tilki budut obrobleni dani Zhodna funkciya v Node js ne povinna bezposeredno vikonuvati blokuyuchi operaciyi vvodu vivodu dlya otrimannya danih z diska vid inshogo procesu abo z merezhi potribna ustanovka callback obrobnika Dlya rozshirennya funkcionalnosti zastosunkiv na bazi Node js pidgotovlena velika kolekciya moduliv v yakij mozhna znajti realizaciyu HTTP SMTP XMPP DNS FTP IMAP POP3 serveriv i kliyentiv moduli dlya integraciyi z riznimi vebfrejmvorkami obrobniki WebSocket i AJAX konektori do SKBD MySQL PostgreSQL SQLite MongoDB shablonizatori CSS rushiyi realizaciyi kriptoalgoritmiv i sistem avtorizaciyi napriklad OAuth XML parseri Priklad vikoristannyaPriklad programi sho zapuskaye vebserver vivodit v konsol povidomlennya ta na kozhen HTTP zapit vidpovidaye povidomlennyam Hello World var http require http Zavantazhuyemo modul http Stvoryuyemo web server i vkazuyemo funkciyu obrobki zapitu var server http createServer function req res console log Pochatok obrobki zapitu Peredayemo kod vidpovidi i zagolovki res writeHead 200 Content Type text plain charset UTF 8 res end Hello world Zapuskayemo web server server listen 1991 127 0 0 1 function console log Server zapusheno za adresoyu http 127 0 0 1 1991 VersiyiVipusk Kodove im ya Data vipusku Status LTS Aktivnij zapusk LTS Pochatok tehnichnogo obslugovuvannya Kinec obslugovuvannya8 x Carbon 2017 05 30 Older version yet still supported Tehnichne obslugovuvannya 2017 10 31 2019 01 01 2019 12 319 x 2017 10 01 Nemaye LTS N A 2018 06 3010 x Dubnium 2018 04 24 Older version yet still supported Tehnichne obslugovuvannya 2018 10 30 2020 04 01 2021 04 0111 x 2018 10 23 Nemaye LTS N A 2019 06 3012 x Erbium 2019 04 23 Current stable version Aktivna 2019 10 22 2021 04 01 2022 04 0113 x 2019 10 22 Nemaye LTS N A Cherven 202014 x Kviten 2020 Future release Ochikuye Zhovten 2020 Kviten 2022 Kviten 2023ModuliStandartna postavka node js vklyuchaye v sebe kilkadesyat moduliv u yakih realizovani tipovi operaciyi dlya vzayemodiyi z operacijnoyu sistemoyu fajlovoyu sistemoyu merezheyu i protokolami utiliti dlya obrobki danih Krim togo ye dostupnimi bezlich moduliv vid nezalezhnih rozrobnikiv programisti mozhut otrimati yih z vidkritih repozitoriyiv i vikoristovuvati u svoyih proektah FileSystem Odnim z shiroko vikoristovuvanih standartnih moduliv ye FileSystem yakij ye vbudovanim ta mistit operaciyi roboti z fajlami const fs require fs fs readFile test txt function err data if err throw err console log data Cej kod vivede tekst z fajla test txt sho znahoditsya v tij zhe teci de j sam js skript Prote rezultat bude povernutij v binarnomu ne chitabelnomu viglyadi Dlya cogo potribno vikonati peretvorennya ob yektu data z binarnogo tipu na tekstovij const fs require fs fs readFile test txt function err data if err throw err data String data peretvorennya tipiv console log data Vinoski Arhiv originalu za 28 kvitnya 2015 Procitovano 2 August 2014 Arhiv originalu za 18 lipnya 2020 Procitovano 16 serpnya 2020 cherez GitHub https github com nodejs node blob master LICENSE Training com Training com Arhiv originalu za 1 kvitnya 2017 Procitovano 23 zhovtnya 2016 CNET angl Arhiv originalu za 30 grudnya 2019 Procitovano 20 kvitnya 2017 Ryan Dahl 9 listopada 2010 Google Groups Arhiv originalu za 31 travnya 2019 Procitovano 5 lyutogo 2015 Arhiv originalu za 23 lyutogo 2017 Procitovano 21 December 2016 Sams Teach Yourself Node js in 24 Hours 23 bereznya 2017 u Wayback Machine Sams Publishing 05 Sep 2012 Arhiv originalu za 14 travnya 2017 Procitovano 11 veresnya 2019 Arhiv originalu za 15 travnya 2017 Procitovano 11 veresnya 2019 Professional Node js Building JavaScript Based Scalable Software 24 bereznya 2017 u Wayback Machine John Wiley amp Sons 01 Oct 2012 GitHub Arhiv originalu za 1 bereznya 2017 Procitovano 27 lipnya 2016 Arhiv originalu za 14 lipnya 2017 Procitovano 17 April 2016 Dahl Ryan Arhiv originalu za 31 travnya 2019 Procitovano 26 zhovtnya 2013 Schlueter Isaac 15 sichnya 2014 Arhiv originalu za 14 lipnya 2017 Procitovano 21 sichnya 2014 Krill Paul Dec 4 2014 JavaWorld Arhiv originalu za 30 chervnya 2017 Procitovano Dec 15 2014 Q amp A Why io js decided to fork Node js 6 listopada 2018 u Wayback Machine Tech Watch Ben Noordhuis Nov 12 2014 V8 JavaScript Engine Issues Arhiv originalu za 1 listopada 2015 Procitovano 2 February 2015 Mikeal Rogers 28 sichnya 2015 Arhiv originalu za 30 serpnya 2015 Procitovano 2 February 2015 Arhiv originalu za 24 June 2015 Procitovano 4 lipnya 2015 Arhiv originalu za 7 sichnya 2017 Procitovano 28 sichnya 2016 Arhiv originalu za 6 bereznya 2016 Procitovano 27 June 2015 Io js JavaScript I O 4 zhovtnya 2016 u Wayback Machine io js has merged with the Node js project again There won t be any further io js releases All of the features in io js are available in Node js v4 and above nodejs Release GitHub angl Procitovano 3 travnya 2018 Node 8 reschedule Procitovano 22 January 2019 Arhiv originalu za 21 listopada 2018 Procitovano 18 travnya 2018 PosilannyaOficijnij sajt 10 lipnya 2020 u Wayback Machine angl Kod na resursi GitHub 23 chervnya 2011 u Wayback Machine angl Oficijna dokumentaciya 19 sichnya 2012 u Wayback Machine angl Pereklad dokumentaciyi 19 travnya 2018 u Wayback Machine ros