Technische Artikel

Wofür benötigen wir Node.js?

node.js Logo on screen

In 2009 hat Ryan Dahl die Webentwicklung revolutioniert, als er Node.js vorgestellt hat.

Bis dahin konnte JavaScript nur für die Front-End Implementierung genutzt werden. Für serverseitige Anwendungen beziehungsweise im Back-End, musstest du als Entwickler:in andere Programmiersprachen einsetzen. PHP zum Beispiel. Um Webanwendungen vollständig fertigzustellen, warst du gezwungen entweder mehrere Sprachen zu beherrschen oder im Team zusammenzuarbeiten.

Seitdem es die Laufzeitumgebung Node.js gibt, kannst du JavaScript auch in der Back-End Implementierung verwenden. Das gilt übrigens auch für TypeScript.

Mittlerweile wird Node.js von vielen namhaften Unternehmen für die Erstellung von Webapplikationen verwendet. Dazu zählt zum Beispiel Netflix. Und seit einem fast tödlichen Weltraumspaziergang im Jahr 2013, hat sich auch die NASA für den Gebrauch dieser Laufzeitumgebung entschieden. Mehr dazu aber gleich. Vorher schauen wir uns noch an, was Node.js eigentlich kann.

Was versteht man unter Node.js?

Node.js ist eine Laufzeitumgebung, um deinen geschriebenen JavaScript Code außerhalb des Browsers auszuführen. Dabei basiert sie auf der V8 Engine von Google, die auch Chrome antreibt. Die V8 Engine wandelt JavaScript in Maschinencode um. Sämtliche JavaScript Features und Sprachmerkmale, die in Chrome laufen, funktionieren somit auch in Node.js. 

Und dies ist der Grund, weshalb du JavaScript auch im Back-End einsetzen kannst.

Das eigentliche Ziel

Node.js sollte aber weit mehr Probleme beheben, als eine gemeinsame Programmiersprache für das Front- und Back-End. Das eigentliche Ziel war es, uns Entwickler:innen eine einfache Möglichkeit zu bieten, um skalierbare Netzwerkprogramme zu erstellen. Somit sollen viele tausend Clients gleichzeitig und effizient bedient werden können. 

Anwendungsgebiete

Heute können wir die Vorteile in unterschiedlichen Webanwendungen wahrnehmen. Chats in Echtzeit, Daten-Streaming, komplexe Single-Page-Applikationen, IoT (Internet of Things)- und REST API-basierte Anwendungen sind alles Beispiele dafür, wo wir die Laufzeitumgebung überall einsetzen. Die enorm schnelle Ladezeit der Applikationen haben eine erhebliche Auswirkung auf die User Experience.

Node.js Anwendung bei der NASA

Wie bereits erwähnt, wird Node.js von vielen namhaften Unternehmen wie Netflix, PayPal oder Uber genutzt. Bei der NASA hilft die Laufzeitumgebung, den Lebenszyklus der Weltraumanzüge zu kontrollieren. Aber wie ist es dazu eigentlich gekommen?


Warum hat sich die NASA für Node.js entschieden?

2013 kam es bei einem Weltraumspaziergang zu einem beinahe tödlichen Unfall. Als Wasser in den Helm des Astronauten eingedrungen ist, hatte dieser erhebliche Probleme beim Atmen bekommen. Wäre sein Partner nicht in der Nähe gewesen, hätte er es wahrscheinlich nicht mehr rechtzeitig in die Station geschafft.

Bei einer anschließenden ausführlichen Untersuchung des Vorfalls, wurde die Systemarchitektur der NASA einmal genauer unter die Lupe genommen. Schnell ist klar geworden, dass die Daten der Weltraumanzüge, wie Spezifikationen, Wartungen und vorherige Ausflüge, an unterschiedlichen Orten gespeichert wurden. Zudem gab es keine vernünftige Aggregation dieser Informationen. Letztendlich war das die Schwachstelle, wodurch es zu dem fast tödlichen Vorfall gekommen ist.

Um zukünftig alle Daten für den kompletten Lebenszyklus eines Anzuges schnell zur Verfügung zu haben, wurde ein End-To-End System entwickelt, das auf einer API-getriebenen Node.js Architektur basiert. Somit kann problemlos eingesehen werden, ob sich ein Weltraumanzug für die weitere Benutzung eignet oder ausgetauscht werden muss.

Fazit

Nicht nur die NASA sondern auch große und bekannte Unternehmen nutzen Node.js für ihre Anwendungen. Darunter zählen PayPal, Netflix, Uber, LinkedIn und Medium. Neben dem großen Vorteil einer Programmiersprache für die Front- und Back-End Implementierung, gibt es viele Gründe, die für die Laufzeitumgebung sprechen. Schnelle Ladezeiten und Skalierbarkeit sind nur ein paar davon.

Du willst nun wissen, wie du einen Node.js Service erstellst? Schaue dir hierzu diesen Artikel an.


Quelle Hintergrund des Titelbilds: kostenlose Hintergrundfotos von .pngtree.com

Was dir auch gefallen könnte...

WordPress Cookie Hinweis von Real Cookie Banner