Kontentke ótiw

Node.js

Wikipedia — erkin enciklopediya
Node.js
Dáslepki avtor(lar) Rayan Dal
Baǵdarlamashı(lar) OpenJS Foundation
Dáslepki shıǵarılıwı 27-may, 2009
Turaqlı reliz 24.8.0 / 10-sentyabr 2025
Repozitoriy github.com/nodejs/node
Jazılǵan tiller JavaScript, C++, Python, C
Operaciyalıq sistema z/OS, Linux, macOS, Microsoft Windows, SmartOS, FreeBSD, OpenBSD, IBM AIX
Túri Orınlanıw ortalıǵı
Licenziya MIT licenziyası
Veb-saytı nodejs.org

Node.js — bul Windows, Linux, Unix, macOS hám basqa da sistemalarda isley alatuǵın kross-platformalı, ashıq kodlı JavaScript orınlanıw ortalıǵı. Node.js V8 JavaScript dvijogında jumıs isleydi hám JavaScript kodın veb-brauzerden tıs orınlaydı.

Node.js baǵdarlamashılarǵa JavaScriptten paydalanıp, komanda qatarı quralların hám server táreptegi skriptlewdi jazıwǵa imkaniyat beredi. Serverde JavaScript kodın iske túsiriw imkaniyatı kóbinese bet paydalanıwshınıń veb-brauzerine jiberilmesten aldın dinamikalıq veb-bet kontentin jaratıw ushın qollanıladı. Nátiyjede, Node.js server hám klient táreptegi programmalastırıw ushın hár túrli tillerdi qollanıw ornına, veb-qosımshalardı islep shıǵıwdı bir programmalastırıw tili dógereginde birlestiretuǵın «JavaScript hámme jerde» paradigmasın[1] kórsetedi.

Node.js asinxron kirgiziw/shıǵarıwǵa uqıplı, waqıyaǵa baǵdarlanǵan arxitekturaǵa iye. Bul dizayn sheshimleri kóplegen kirgiziw/shıǵarıw operaciyaları bar veb-qosımshalarda, sonday-aq real waqıtta isleytuǵın veb-qosımshalarda (mısalı, real waqıttaǵı baylanıs programmaları hám brauzer oyınları) ótkiziw qábiletin hám keńeytiw imkaniyatın optimallastırıwǵa[2] baǵdarlanǵan.

Node.js-tiń bólistirilgen islep shıǵıw proekti aldın Node.js Fondı[3] tárepinen basqarılǵan, al házir JS Fondı menen birlesip, OpenJS Fondın quradı. OpenJS Fondınıń jumısı Linux Fondınıń Birge islesiw Proektleri baǵdarlaması[4] tárepinen ámelge asırıladı.

Tariyxı

Rayan Dal, Node.js-tiń jaratıwshısı, 2010-jıl
Rocket Turtle, 2024-jıl fevral ayınan baslap Node.js-tiń rásmiy tumarı

Node.js dáslep 2009-jılı Rayan Dal tárepinen jazılǵan,[5] bul birinshi server táreptegi JavaScript ortalıǵı Netscape-tiń LiveWire Pro Web-inen[6] shama menen 13 jıl ótkennen keyin boldı. Dáslepki reliz tek Linux hám Mac OS X sistemaların qollap-quwatladı. Onı islep shıǵıw hám qollap-quwatlawdı Dal basqardı, keyinirek Joyent kompaniyası qáwenderlik etti[7].

Dal Apache HTTP Serveriniń kóplegen (10 000+) bir waqıttaǵı baylanıslardı qayta islewdegi sheklengen imkaniyatların, sonday-aq qosımshalardıń pútin processlerdi bloklawı yamasa bir waqıttaǵı baylanıslar ushın bir neshe orınlanıw stekleriniń payda bolıwına sebep bolıwı múmkin bolǵan izbe-iz programmalastırıwdıń ústem paradigmasın sınǵa aldı[8].

Dal proektti 2009-jıl 8-noyabrde birinshi Evropa JSConf konferenciyasında kórsetti[9][10][11]. Node.js Google-dıń V8 JavaScript dvijogın, waqıyalar ciklin hám tómen dárejeli kirgiziw/shıǵarıw (I/O) API-in birlestirdi[12].

2010-jıl yanvar ayında Node.js ortalıǵı ushın npm[13] dep atalǵan paket menedjeri usınıldı. Paket menedjeri baǵdarlamashılarǵa Node.js paketlerin hám olarǵa qosımsha derek kodın járiyalawǵa hám bólisiwge imkaniyat beredi hám paketlerdi ornatıw, jańalaw hám óshiriwdi ápiwayılastırıwǵa arnalǵan[12].

2011-jıl iyun ayında Microsoft hám Joyent Node.js-tiń jergilikli Windows versiyasın ámelge asırdı[14]. Windows-tı qollap-quwatlaytuǵın birinshi Node.js relizi 2011-jıl iyul ayında shıǵarıldı.

2012-jıl yanvar ayında Dal proekt basqarıwın npm jaratıwshısı Ayzek Shlyuterge tapsırdı[15]. 2014-jıl yanvar ayında Shlyuter proektti Timoti Dj. Fonteyn basqaratuǵının járiyaladı[16].

2014-jıl dekabr ayında Fedor Indutnıy Joyent kompaniyasınıń basqarıwına narazılıq sebepli Node.js-tiń forki io.js-ti jarattı. Bul bólek texnikalıq komiteti bar ashıq basqarıw alternativası edi. Maqset jámiyetshiliktiń pikirlerin kóbirek qabıl etetuǵın strukturanı qáliplestiriw, sonıń ishinde io.js-ti Google V8 JavaScript dvijogınıń eń sońǵı relizleri menen jańalap turıw edi, bul sol waqıttaǵı Node.js-tiń usılınan ayırmashılıq etti[17].

Node.js hám io.js-ti bir bayraq astında birlestiriw ushın qurılǵan Node.js Fondı 2015-jıl fevral ayında járiyalandı[18]. Birlesiw 2015-jıl sentyabr ayında Node.js v0.12 hám io.js v3.3 versiyalarınıń Node v4.0 ge birigiwi menen ámelge astı[19]. Bul birlesiw V8 ES6 ózgesheliklerin Node.js-ke kirgizdi hám uzaq múddetli qollap-quwatlaw reliz ciklin basladı[20]. 2016-jılǵa kelip, io.js veb-saytı Node.js-ke qaytıwdı usınıs etti hám io.js-tiń basqa relizleri shıqpaytuǵının járiyaladı, bul fork processin nátiyjeli juwmaqlap, birlesiwdiń tabısın bekkemledi[21].

2019-jılı JS Fondı hám Node.js Fondı birlesip, OpenJS Fondın quradı.

Brendlew

Node.js logotibi orınlaw ortalıǵınıń kross-platformalı tábiyatın súwretlewshi, bir-birin basıp ótetuǵın sızıqları bar jasıl altı múyeshlikten ibarat[22]. Rocket Turtle dizayn tańlawınan keyin 2024-jıl fevral ayında Node.js-tiń rásmiy tumarı retinde tańlandı[23].

Sholıw

Node.js JavaScript hám hár túrli tiykarǵı funkcional imkaniyatlardı basqaratuǵın «moduller» toplamın paydalanıp, veb-serverler hám tarmaq quralların jaratıwǵa imkaniyat beredi[9][12][24][25][26]. Fayl sisteması kirgiziw/shıǵarıw, tarmaq (DNS, HTTP, TCP, TLS/SSL yamasa UDP), ekilik maǵlıwmatlar (buferler), kriptografiya funkciyaları, maǵlıwmatlar aǵımları hám basqa tiykarǵı funkciyalar ushın moduller usınılǵan[12][25][27]. Node.js modulleri server qosımshaların jazıw quramalılıǵın azaytıwǵa arnalǵan API-di paydalanadı[12][25].

JavaScript - Node.js tábiyiy túrde qollap-quwatlaytuǵın jalǵız til, biraq JS-ke kompilyaciya etiletuǵın kóplegen tiller bar[28]. Nátiyjede, Node.js qosımshaları CoffeeScript,[29] Dart, TypeScript, ClojureScript hám basqa tillerde de jazılıwı múmkin.

Node.js tiykarınan veb-serverler sıyaqlı tarmaq programmaların qurıw ushın qollanıladı[24]. Node.js hám PHP arasındaǵı eń áhmiyetli ayırmashılıq - PHP-degi kópshilik funkciyalar tamamlanǵanǵa shekem bloklanadı (buyrıqlar tek aldınǵı buyrıqlar tamamlanǵannan keyin orınlanadı), al Node.js funkciyaları bloklamaydı (buyrıqlar bir waqıtta orınlanadı hám tamamlanǵanın yamasa sátsizlikke ushıraǵanın bildiriw ushın keri shaqırıwlardı paydalanadı)[24].

Node.js rásmiy túrde Linux, macOS hám Microsoft Windows 8.1 hám Server 2012 (hám onnan keyingiler) tárepinen qollap-quwatlanadı, SmartOS hám IBM AIX ushın 2-dárejeli qollap-quwatlaw hám FreeBSD ushın eksperimental qollap-quwatlaw bar. OpenBSD de isley aladı, al LTS versiyaları IBM i (AS/400) ushın bar[30]. Derek kodın sonday-aq NonStop OS[31] hám Unix serverleri sıyaqlı rásmiy túrde qollap-quwatlanbaytuǵın uqsas operaciyalıq sistemalarda da qurıw múmkin.

Platforma arxitekturası

Node.js waqıyaǵa baǵdarlanǵan programmalastırıwdı paydalanıp, JavaScriptte tez isleytuǵın veb-serverlerdi islep shıǵıwǵa imkaniyat beredi[12]. Baǵdarlamashılar wazıypanıń tamamlanǵanın bildiriw ushın keri shaqırıwlardı paydalanatuǵın ápiwayılastırılǵan model arqalı aǵımlar arqalı islewdi qollanbastan, keńeytiw imkaniyatına iye serverlerdi jarata aladı[12]. Node.js skriptlew tiliniń (JavaScript) ańsatlıǵın Unix tarmaq programmalastırıwınıń kúshi menen birlestiredi[12].

Node.js Google-dıń V8 JavaScript dvijogı tiykarında qurılǵan, sebebi ol BSD licenziyası boyınsha ashıq kodlı edi hám HTTP, DNS hám TCP sıyaqlı tiykarǵı protokollardı keń qamtıwshı qollap-quwatlawǵa iye edi[9]. JavaScripttiń bar ataqlılıǵı Node.js-ti veb-baǵdarlamalastırıw jámiyetshiligi ushın qoljetimli etti[9].

Sanaat tárepinen qollap-quwatlanıwı

Node.js ushın mıńlaǵan ashıq kodlı kitapxanalar bar, olardıń kópshiligi npm veb-saytında jaylasqan. Node.js jámiyetin qollap-quwatlaytuǵın bir neshe baǵdarlamashılar konferenciyaları hám ilajları ótkeriledi, sonıń ishinde NodeConf, Node Interactive hám Node Summit, sonday-aq bir qatar regionallıq ilajlar bar.

Ashıq kodlı jámiyetshilik qosımshalardı islep shıǵıwdı tezletiw ushın veb-freymvorklar jarattı. Bunday freymvorklarǵa Express.js, Socket.IO, Sails.js, Next.js hám Meteor kiredi[12][32]. Microsoft .NET sıyaqlı basqa tiller yamasa orınlaw ortalıqları menen baylanısıw ushın da hár túrli paketler jaratılǵan[33].

Zamanagóy desktop IDE-leri Node.js qosımshaları ushın arnawlı redaktorlaw hám sazlaw imkaniyatların usınadı. Bunday IDE-lerge Atom, Brackets, JetBrains WebStorm,[34][35] Microsoft Visual Studio (Node.js Tools for Visual Studio menen,[36] yamasa Node anıqlamaları bar TypeScript penen[37][38][39][40]), NetBeans,[41] Nodeclipse Enide Studio[42] (Eclipse tiykarında) hám Visual Studio Code kiredi[43][44]. Ayırım onlayn IDE-ler de Node.js-ti qollap-quwatlaydı, mısalı, Codeanywhere, Eclipse Che, Cloud9 IDE hám Node-RED-tegi vizual aǵım redaktorı.

Node.js Jelastic, Google Cloud Platform, AWS Elastic Beanstalk, Azure Web Apps hám Joyent sıyaqlı bir qatar bultlı xosting platformalarında qollap-quwatlanadı.

Derekler

  1. gcuomo «JavaScript Everywhere and the Three Amigos (Into the wild BLUE yonder!)». www.ibm.com (24-oktyabr 2013-jıl). 14-noyabr 2013-jılda túp nusqadan arxivlendi. Qaraldı: 24-oktyabr 2013-jıl.
  2. Laurent Orsini. «What You Need To Know About Node.js». readwrite.com (7-noyabr 2013-jıl). Qaraldı: 6-fevral 2022-jıl.
  3. «Node.js Foundation - Node.js». nodejs.org. Qaraldı: 4-iyul 2015-jıl.
  4. «Linux Foundation Collaborative Projects». linuxfoundation.org (4-iyul 2015-jıl). Qaraldı: 4-iyul 2015-jıl.
  5. «About Node.js, and why you should add Node.js to your skill set?». Training.com (11-sentyabr 2016-jıl). 1-aprel 2017-jılda túp nusqadan arxivlendi. Qaraldı: 23-oktyabr 2016-jıl.
  6. Staff, CNET News (1996-10-15). "Netscape opens intranet attack" (in en). CNET. https://www.cnet.com/news/netscape-opens-intranet-attack/.
  7. Ryan Dahl. «Joyent and Node». Google Groups (9-noyabr 2010-jıl). Qaraldı: 5-fevral 2015-jıl.
  8. Garbar, Dzmitry «PHP 7 vs Node.js? They Can Be Partners, Not Competitors For a Developer!». belitsoft.com. Qaraldı: 21-dekabr 2016-jıl.
  9. 1 2 3 4 Sams Teach Yourself Node.js in 24 Hours, Sams Publishing, 05-Sep-2012
  10. Ubl, Malte «JSConf.eu 2009, Berlin, Germany». www.jsconf.eu (9-sentyabr 2009-jıl). Qaraldı: 9-sentyabr 2009-jıl.
  11. «Ryan Dahl: Original Node.js presentation» (8-iyun 2012-jıl). 15-dekabr 2021-jılda túp nusqadan arxivlendi. Úlgi:Cbignore
  12. 1 2 3 4 5 6 7 8 9 Professional Node.js: Building JavaScript Based Scalable Software, John Wiley & Sons, 01-Oct-2012
  13. «Earliest releases of npm». GitHub. Qaraldı: 27-iyul 2016-jıl.
  14. Ryandahl «Porting Node to Windows With Microsoft's Help». nodejs.org (23-iyun 2011-jıl). Qaraldı: 17-aprel 2016-jıl.
  15. Dahl, Ryan «New gatekeeper». Qaraldı: 26-oktyabr 2013-jıl.
  16. Schlueter, Isaac «The Next Phase of Node.js» (15-yanvar 2014-jıl). Qaraldı: 21-yanvar 2014-jıl.
  17. Q&A: Why io.js decided to fork Node.js, InfoWorld Tech Watch
  18. «Node.js Foundation Advances Community Collaboration, Announces New Members and Ratified Technical Governance». 24-iyun 2015-jılda túp nusqadan arxivlendi. Qaraldı: 4-iyul 2015-jıl.
  19. «Node.js Foundation Combines Node.js and io.js Into Single Codebase in New Release». nodejs.org (14-sentyabr 2015-jıl). Qaraldı: 28-yanvar 2016-jıl.
  20. «io.js and Node.js merge». medium.com (19-may 2015-jıl). Qaraldı: 27-iyun 2015-jıl.
  21. Io.js, JavaScript I/O, "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."
  22. «Brand Guide». Node.js. OpenJS Foundation. Qaraldı: 22-mart 2024-jıl.
  23. «Node.JS on X: "Meet Rocket Turtle there are many ways 👋"». Qaraldı: 22-mart 2024-jıl.
  24. 1 2 3 Node.js for PHP Developers, O'Reilly Media, Inc., 2013
  25. 1 2 3 Node.js Essentials, Packt Publishing, 10-Nov-2015
  26. Smashing Node.js: JavaScript Everywhere, John Wiley & Sons, 14-Aug-2012
  27. Modules, Nodejs Website
  28. «List of languages that compile to JS». Github.
  29. CoffeeScript on Node.js. O'Reilly Media, Inc., 15 April 2013. ISBN 9781449316846. 
  30. Foundation, Node js «Installing Node.js via package manager» (en). Node.js. Qaraldı: 19-may 2019-jıl.
  31. «bomBora - Node.js for NonStop». infrasoft.com.au. Infrasoft. 11-mart 2018-jılda túp nusqadan arxivlendi. Qaraldı: 14-avgust 2015-jıl.
  32. Express.js Guide: The Comprehensive Book on Express.js, Azat Mardan, 28-May-2014
  33. Edge.js bridges the gap between Node.js and .NET, TechRepublic, Tony Patton, 1 July 2014
  34. Node.js, WebStorm supports integration with the Node.js runtime environment, WebStorm Help
  35. Running and Debugging Node.js, WebStorm Help
  36. «Node.js Tools for Visual Studio». microsoft.com. Qaraldı: 1-fevral 2016-jıl.
  37. soywiz/typescript-node-definitions TypeScript's typings for some popular node.js modules, GitHub
  38. DefinitelyTyped, GitHub
  39. «The repository for high quality TypeScript type definitions». definitelytyped.org. 3-fevral 2016-jılda túp nusqadan arxivlendi.
  40. ImageBoard, A Node.js + Express + MongoDB application built using TypeScript on the server 18 May 2019 sánesinde Wayback Machine saytında arxivlendi., TypeScript Samples
  41. Krill, Paul «Node.js takes center stage in NetBeans 8.1». infoworld.com. InfoWorld (10-noyabr 2015-jıl). Qaraldı: 10-noyabr 2015-jıl.
  42. Úlgi:Usurped, Nodeclipse Website
  43. Hello Visual Studio Code (with NodeJS), Channel 9, Microsoft
  44. Node.js Applications with VS Code, Visual Studio Code