Sebastian Springer MaibornWolff

„Node.js lässt Ihnen viele Freiheiten, wenn es um die Gestaltung von Applikationen geht. Das ist jedoch Fluch und Segen zugleich.“

Es gibt viele gute Gründe, warum man sich vor und während der Entwicklung einer Node.js-Applikation Gedanken über die Architektur machen sollte. Einer der wichtigsten Gründe ist, dass stetig neue Anforderungen an die eigene Applikation gestellt werden und sich diese im Lauf der Zeit auch ändern können. Deshalb sollte die Applikation mithilfe einer guten Node.js-Architektur über ein gewisses Maß an Flexibilität verfügen.

Nicht nur aus Anforderungssicht ist eine stabile und konsistente Architektur in einer Node.js-Applikation wichtig, sie hilft auch beim Umgang mit dem stetigen Wandel, dem Sie in der JavaScript-Welt gegenüberstehen. In diesem Artikel lernen Sie einige Aspekte von Node.js-Architekturen kennen, die Sie in Ihrer Applikation anwenden können, um Ihren Arbeitsalltag zu erleichtern.

Allgemein: Werkzeugunterstützung nutzen

Für zahlreiche Problemstellungen in der Entwicklung von Node.js-Applikationen gibt es mittlerweile einige Werkzeuge, die Sie bei der Arbeit unterstützen. Generell sollten Sie allerdings darauf achten, dass Sie sich wiederholende Aufgaben möglichst durch den Einsatz von Werkzeugen oder Bibliotheken automatisieren. Das spart Zeit und reduziert Fehlerpotenzial.

Ein Beispiel für ein solches Werkzeug ist ESLint, ein Werkzeug zur statischen Codeanalyse für JavaScript. ESLint lässt sich mit wenigen Handgriffen in ein Projekt einbinden und dann sowohl als Aktion im Build-Prozess der Applikation als auch direkt im Entwicklungsprozess als Plug-in der Entwicklungsumgebung integrieren. Einigen Sie sich im Projektteam auf einen Codestandard wie ihn beispielsweise der Airbnb Style Guide vorgibt, können Sie ESLint dazu verwenden, die Einhaltung des Codestandards sicherzustellen. Es gibt einige weitere Aspekte, die zu einer guten Node.js-Architektur beitragen – acht hilfreiche Tipps und Tricks habe ich zusammengetragen.

1. Modularisierung

Node.js verfügt über ein Modulsystem, mit dem Sie Ihre Applikation in kleinere Einheiten strukturieren können. Damit lässt sich das Single-Responsibility-Prinzip umsetzen. Es besagt, dass jedes Modul und jede Klasse nur eine bestimmte Verantwortung hat, sich also nur um eine bestimmte Sache kümmern soll. Halten Sie dieses Prinzip ein, komponieren Sie Ihre Applikation aus einer Menge kleinerer Bausteine. Diese sollten untereinander in einer möglichst losen Verbindung stehen, um die Unabhängigkeit sicherzustellen. Bauen Sie Ihre Applikation nach diesem Prinzip auf, haben Sie die Möglichkeit, einzelne Module unabhängig von der Gesamtapplikation zu modernisieren oder auszutauschen.

Schon in den ersten Versionen von Node.js wurde ein solcher modularer Aufbau durch das Modulsystem unterstützt. Ursprünglich kam das CommonJS-Modulsystem mit der require-Funktion für den Import von Modulen und dem module.exports-Konstrukt zum Exportieren von Schnittstellen zum Einsatz. Seit einigen Versionen wird auch das ECMAScript-Modulsystem unterstützt. Dieses ist zunächst standardmäßig deaktiviert und muss von Ihnen durch die Option –experimental-modules aktiviert werden. Das Modulsystem arbeitet mit den Schlüsselworten import zum Laden von Modulen und export zur Definition von Schnittstellen. Die Dateien, die das ECMAScript-Modulsystem verwenden, müssen auf .mjs statt auf .js enden. Berücksichtigen Sie das nicht, erhalten Sie eine Fehlermeldung.

Den vollständigen Artikel lesen Sie in der Ausgabe:

PHP Magazin 6.18 - "Web-App Quickstart: Web-App samt API und Docker-Container"

Alle Infos zum Heft
579858110Node.js-Architektur: acht hilfreiche Tipps
X
- Gib Deinen Standort ein -
- or -