www.wikidata.de-de.nina.az
Node js ist eine plattformubergreifende Open Source JavaScript Laufzeitumgebung die JavaScript Code ausserhalb eines Webbrowsers ausfuhren kann Damit kann zum Beispiel ein Webserver betrieben werden Node js wird in der JavaScript Laufzeitumgebung V8 ausgefuhrt die ursprunglich fur Google Chrome entwickelt wurde und bietet eine ressourcensparende Architektur die eine besonders grosse Anzahl gleichzeitig bestehender Netzwerkverbindungen ermoglicht 9 10 11 Node js wurde ursprunglich von Ryan Dahl 2009 entwickelt einem Software Entwickler aus San Diego Kalifornien 12 2018 stellte Ryan Dahl mit Deno einen Nachfolger fur Node js vor der einige als grundlegende Probleme identifizierte Eigenschaften von Node js beheben soll 13 Node jsBasisdatenEntwickler OpenJS Foundation Ryan DahlErscheinungsjahr 27 Mai 2009 1 Aktuelle Version 20 5 1 Current 9 Aug 2023 2 18 17 1 LTS 9 Aug 2023 3 16 20 2 LTS 9 Aug 2023 4 Betriebssystem Linux Microsoft Windows 5 BSD Betriebssystem 5 macOS 5 Unix ahnliches System AIX Android 6 iOSProgrammiersprache C 7 C JavaScriptKategorie Framework InterpreterLizenz MIT Lizenz 8 nodejs org Inhaltsverzeichnis 1 Architektur 2 Performance 3 Module 4 Kritik 5 Beispiele 6 Ehemaliger Fork io js 7 Versionen 8 Projekte 9 Auszeichnungen 10 Literatur 11 Weblinks 12 EinzelnachweiseArchitektur BearbeitenDie Skriptsprache JavaScript gibt eine ereignisgesteuerte Architektur vor Diese hat im Server Betrieb den Vorteil pro bestehender Verbindung weniger Arbeitsspeicher zu benotigen als bei vergleichbaren Anwendungen die fur jede geoffnete Verbindung einen eigenen Thread starten Performance BearbeitenNode js wird mit besonderem Fokus auf die Performance entwickelt So kommt nonblocking I O statt standardmassigem blockierendem I O zum Einsatz Zugriffe auf das Netzwerk und Dateisystem werden uber die von Libuv bereitgestellte Ereignisschleife event loop und den darunterliegenden Thread Pool abgearbeitet 14 Dadurch werden weniger eigene Threads erstellt und der Overhead minimal gehalten Module BearbeitenNode js enthalt einige Module die direkt in das Binarpaket kompiliert wurden Dazu gehoren neben dem Modul fur asynchronen Netzwerkzugriff auch Adapter fur das Dateisystem Puffer Zeitgeber und eine allgemein gehaltene Datenstrom Klasse Daruber hinaus konnen zusatzliche Module eingebunden werden zum Beispiel uber vorkompilierte Dateien mit der Dateiendung node oder in Form einfacher JavaScript Dateien Die JavaScript Module folgen der CommonJS Konvention einem Standard fur JavaScript Systeme die ausserhalb von Browsern betrieben werden und stellen somit uber eine Variable namens exports Zugriff auf Funktionen und Variablen des entsprechenden Moduls her 15 Zur Verwaltung der Module gibt es den Paketmanager npm in dessen Depot sich uber 751 000 Pakete Stand Juli 2018 befinden 16 Dieser sorgt unter Berucksichtigung von Abhangigkeiten fur die Installation Aktualisierung und das Kompilieren von Binarmodulen 17 Kritik BearbeitenDer ursprungliche Entwickler von Node js Ryan Dahl kritisierte das Node js Projekt stark Das Build System von Node js node gyp bezeichnete er als den grossten Fehler des Projekts Im Rahmen der JSConf EU 2018 benannte er zehn grosse Designfehler der Laufzeitumgebung Das Build System von Node js sei immens kompliziert und von gewohnlichen Programmierern schwer zu handhaben Damit meinte er Module die nicht in JavaScript sondern in anderen Sprachen wie C geschrieben wurden und im Build Prozess kompiliert werden mussen 18 Auch kritisierte er die Komplexitat des Modulsystems Seine Vorstellung einer neuen Laufzeitumgebung Deno klang wie eine Entschuldigung an all die Programmierer die unter der von ihm entwickelten Technologie gelitten hatten Dabei wurden die meisten Design Entscheidungen nicht von ihm sondern anderen Entwicklern gefallt Ryan Dahl war nur bis 2012 Projektleiter von Node js 19 Beispiele BearbeitenHTTP Server Version eines Hallo Welt Programmes in Node js das text html als Content Type Header und den Port 3000 verwendet const http require http http createServer function req res res writeHead 200 Content Type text html res write Hallo Welt res end listen 3000 Als weiteres Beispiel ein einfacher TCP Server der auf Port 7000 Daten empfangt mit Hallo antwortet und dann alle empfangenen Daten unverandert zum Client zurucksendet const net require net const endOfLine require os EOL const server net createServer function socket socket setEncoding utf8 socket write Hallo endOfLine socket pipe socket end false socket on end function socket end Auf Wiedersehen endOfLine server listen 7000 localhost Ehemaliger Fork io js BearbeitenAufgrund von Unzufriedenheit mit dem Tempo der Weiterentwicklung spaltete sich das Projekt io js von Node js ab in dem einige der wichtigsten Node js Entwickler weiterarbeiteten die mit dem Mutterprojekt unzufrieden waren 20 21 Das erste Release wurde am 13 Januar 2015 freigegeben Der Fork ist kompatibel zu Node js und dem Node Package Manager 22 Am 15 Mai 2015 verkundeten beide Projekte die Zusammenfuhrung zur Node js Foundation die eine gemeinsame Weiterentwicklung unter einem Open Government Modell ermoglichen soll 23 24 Die Zusammenfuhrung wurde mit dem Erscheinen von Node js 4 0 abgeschlossen 25 Versionen BearbeitenNeue Hauptversionen werden alle sechs Monate veroffentlicht Mit geraden Nummern versehene Versionen werden im April veroffentlicht mit ungeraden Nummern versehene im Oktober Wenn eine neue ungerade Versionsnummer veroffentlicht wird wechselt die vorige gerade in den LTS Zustand Long Term Support wird zunachst weitere 12 Monate aktiv gepflegt und anschliessend weitere 18 Monate nur noch gewartet 26 Version Codename Veroffentlichung LTS Status Start aktives LTS Start Wartung Ende WartungAltere Version nicht mehr unterstutzt v0 10 x 2013 03 11 Altere Version nicht mehr unterstutzt eingestellt 2015 10 01 2016 10 31Altere Version nicht mehr unterstutzt v0 12 x 2015 02 06 Altere Version nicht mehr unterstutzt eingestellt 2016 04 01 2016 12 31Altere Version nicht mehr unterstutzt 4 x Argon 26 2015 09 08 Altere Version nicht mehr unterstutzt eingestellt 2015 10 01 2017 04 01 2018 04 30Altere Version nicht mehr unterstutzt 5 x 2015 10 29 kein LTS N A 2016 06 30Altere Version nicht mehr unterstutzt 6 x Boron 26 2016 04 26 Altere Version nicht mehr unterstutzt eingestellt 2016 10 18 2018 04 30 2019 04 30Altere Version nicht mehr unterstutzt 7 x 2016 10 25 kein LTS N A 2017 06 30Altere Version nicht mehr unterstutzt 8 x Carbon 26 2017 05 30 Altere Version nicht mehr unterstutzt eingestellt 2017 10 31 2019 01 01 27 2019 12 31Altere Version nicht mehr unterstutzt 9 x 2017 10 01 kein LTS N A 2018 06 30Altere Version nicht mehr unterstutzt 10 x Dubnium 26 2018 04 24 Altere Version nicht mehr unterstutzt eingestellt 2018 10 30 2020 04 01 2021 04 01Altere Version nicht mehr unterstutzt 11 x 2018 10 23 kein LTS N A 2019 06 01Altere Version nicht mehr unterstutzt 12 x Erbium 26 2019 04 23 Altere Version nicht mehr unterstutzt eingestellt 2019 10 22 2020 10 20 2022 04 30Altere Version nicht mehr unterstutzt 13 x 2019 10 22 Altere Version nicht mehr unterstutzt eingestellt N A 2020 04 01 2020 06 01Altere Version nicht mehr unterstutzt 14 x Fermium 26 2020 04 21 Altere Version nicht mehr unterstutzt eingestellt 2020 10 20 2021 10 20 2023 04 30Altere Version nicht mehr unterstutzt 15 x 2020 10 21 Altere Version nicht mehr unterstutzt eingestellt N A 2021 04 01 2021 06 01Altere Version noch unterstutzt 16 x Gallium 26 2021 04 20 Altere Version noch unterstutzt Wartung 2021 10 26 2022 10 18 2023 09 11 28 Altere Version nicht mehr unterstutzt 17 x 2021 10 19 Altere Version nicht mehr unterstutzt eingestellt N A 2022 04 01 2022 06 01Altere Version noch unterstutzt 18 x Hydrogen 26 2022 05 03 Altere Version noch unterstutzt LTS 2022 10 25 2023 10 18 2025 04 30Altere Version nicht mehr unterstutzt 19 x 2022 10 17 Altere Version nicht mehr unterstutzt eingestellt N A 2023 04 01 2023 06 01Aktuelle Version 20 x Iron 26 2023 04 18 Aktuelle Version aktuell 2023 10 24 2024 10 22 2026 04 30Projekte BearbeitenEine Liste von ausgewahlten Projekten die auf Node js basieren Etherpad Lite ein kollaborativer Text Editor 29 30 PDFKit 31 WebOS von vormals HP 32 StackVM 33 darauf aufbauend browserling 34 Cross Browser Testen im Browser NodeBB 35 36 eine Echtzeit Internetforen Software Ghost 37 38 das von der Blog Software WordPress inspiriert wurde Trello eine webbasierte ProjektmanagementsoftwareDaruber hinaus enthalt das offizielle Node js Wiki eine Liste von Projekten Anwendungen und Unternehmen die Node js einsetzen 39 Auszeichnungen BearbeitenIm Juli 2011 wurde dem Node js Entwickler Ryan Dahl auf der Konferenz Oscon einer der O Reilly Open Source Awards verliehen 40 InfoWorld zeichnete Node js im August 2011 mit dem Bossie Award fur die beste Open Source Software in der Kategorie Entwicklertools aus 41 Literatur BearbeitenGolo Roden Node js amp Co 1 Auflage dpunkt Verlag Heidelberg 2012 ISBN 978 3 89864 829 5 Sebastian Springer Node js Das umfassende Handbuch 1 Auflage Galileo Computing 2013 ISBN 978 3 8362 2119 1 Golo Roden Gestatten Node js Heise online 18 Oktober 2012 Felix Geisendorfer Wie Node js JavaScript auf dem Server revolutioniert Schubrakete fur JavaScript T3N Magazin 8 Dezember 2010 Oliver Ochs JavaScript auf dem Server mit Node in JavaScript fur Enterprise Entwickler 1 Auflage dpunkt Verlag Heidelberg 2012 ISBN 978 3 89864 728 1 S 133 ff Tom Hughes Croucher Mike Wilson Einfuhrung in Node js 1 Auflage O Reilly 2012 ISBN 978 3 86899 797 2 Weblinks Bearbeiten nbsp Commons Node js Sammlung von Bildern Videos und Audiodateien Website des Projektes node js englisch Website der Paketverwaltung npm englisch Bericht uber Node js auf Chaosradio Express Website des Projekts io js Memento vom 14 Februar 2016 im Internet Archive englisch tech lounge ein ausfuhrlicher und kostenfreier Einfuhrungs Videokurs Beispielanwendung TextUrl von sharkbyte Node js Tutorial Learn basics of Node js englisch Einzelnachweise Bearbeiten node v0 x archive on GitHub 2023 08 09 Version 20 5 1 Current RafaelGSS Abgerufen am 13 August 2023 englisch 2023 08 09 Version 18 17 1 Hydrogen LTS RafaelGSS Abgerufen am 13 August 2023 englisch 2023 08 09 Version 16 20 2 Gallium LTS RafaelGSS Abgerufen am 13 August 2023 englisch a b c In Free Software Directory In GitHub The node Open Source Project on Open Hub Languages Page In Open Hub abgerufen am 18 Oktober 2018 node LICENSE at master nodejs node GitHub abgerufen am 27 November 2020 About Node js Abgerufen am 8 Juni 2020 englisch Sebastian Springer Node js Das JavaScript Framework im Uberblick 31 Marz 2013 abgerufen am 8 Juni 2020 Was ist Node js Memento vom 29 Mai 2018 im Internet Archive training com Developed originally in 2009 by Ryan Dahl Node js is an open source JavaScript run time environment heise de Ryan Dahl Designfehler von Node js und sein neues Projekt Welcome to the libuv documentation libuv documentation Abgerufen am 24 Mai 2020 Getting CommonJS Memento vom 21 Februar 2014 im Internet Archive englisch npmjs com npmjs com npm registry Module in Node js Memento vom 4 Juli 2018 im Internet Archive heise de Build System grosster Fehler von Node js Entwickler de Ann Cathrin Klose Node js ist der De facto Standard in Sachen serverseitigem JavaScript Neben Node konnten sich wenig Alternativen am Markt etablieren jetzt hat Ryan Dahl Erfinder von Node mit Deno einen neuen Anlauf gestartet Seine Prasentation wirft Fragen auf Node js gains a new fork much to Joyent s dismay infoworld com abgerufen am 5 Dezember 2014 io js JsWiki de Memento vom 18 Marz 2016 im Internet Archive Golo Roden Hoffnung fur Node js Community io js 1 0 planmassig veroffentlicht In Heise online 14 Januar 2015 abgerufen am 10 Marz 2016 Node js and io js leaders are building an open neutral Node js Foundation to support the future of the platform nodejs org 15 Mai 2015 abgerufen am 17 Juni 2015 io js Week of May 15th io js decides to join the Node Foundation medium com 15 Mai 2015 abgerufen am 29 Juli 2022 Node js Foundation Node v4 0 0 Stable 8 September 2015 abgerufen am 9 September 2015 englisch a b c d e f g h i j Ubersicht der Node js Versionen auf GitHub Abgerufen am 1 Mai 2023 Node 8 reschedule Abgerufen am 22 Januar 2019 Bringing forward the End of Life Date for Node js 16 Abgerufen am 13 Marz 2023 Wie Etherpad Lite entstand EtherPad Memento des Originals vom 12 Oktober 2013 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot nodecode de PDFKit PDF Dokumente generieren mit JavaScript auf golem de Introducing HP webOS 2 1 Memento vom 19 Marz 2011 im Internet Archive englisch StackVM Virtuelle Maschinen fur die Mitbenutzung auf golem de browserling com NodeBB org NodeBB das Node js Forum Memento des Originals vom 9 November 2013 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot nodecode de Ghost Just a blogging platform ein CMS Ghost CMS Endlich ist es da Memento vom 19 Dezember 2013 im Internet Archive Projects Applications and Companies Using Node In nodejs node v0 x archive GitHub 25 Marz 2016 abgerufen am 29 Dezember 2016 englisch Andrea Muller Oscon Open Source Awards verliehen In Heise online 29 Juli 2011 abgerufen am 10 Marz 2016 Bossie Awards 2011 The best open source application development software InfoWorld s Test Center picks the best open source development tools of 2011 Memento vom 29 Juli 2014 im Internet Archive englisch Normdaten Sachbegriff GND 1027030742 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Node js amp oldid 236367655