Node.js
| 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ı


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