© Liashko/Shutterstock.com
Entwickler Magazin
Typensicher auf dem Server: Web-APIs mit Node.js und TypeScript

Leichtgewichtig und performant

JavaScript bzw. TypeScript werden mehr und mehr für die Cliententwicklung eingesetzt. Egal, ob einfache interaktive Websites oder große Cross-Plattform-Anwendungen, die im Web, auf mobilen Geräten und auf dem Desktop lauffähig sind - überall kann JavaScript bzw. TypeScript eingesetzt werden. Mit Node.js besteht die Möglichkeit, die leichtgewichtige Sprache auch auf dem Server einzusetzen. Vom Command-Line-Interface über regelmäßige Jobs bis hin zu Web-APIs lässt sich alles mit Node.js entwickeln. Wie das geht, erläutert dieser Artikel.

Manuel Rauber


JavaScript war lange eine dem Client bzw. dem Browser vorbehaltene Sprache und wird genutzt, um Dynamik auf dem Client zu ermöglichen. Auf dem Server waren wir Entwickler gezwungen, eine andere Sprache zum Bereitstellen eines Web-API zu nutzen. Das heißt auch, dass Logik, die auf dem Client und auf dem Server benötigt wird, dupliziert werden musste. Seit dem Release von Node.js [1] im Jahre 2009 waren wir erstmals in der Lage, JavaScript auch auf dem Server zu nutzen – und somit auch Code zwischen Client und Server zu teilen (Universal JavaScript oder Isomorphic JavaScript). Das Wissen um JavaScript, das wir uns bei der Cliententwicklung angeeignet haben, können wir also auch auf dem Server einsetzen.

Doch was ist die Motivation zur Nutzung von Type­Script [2]? Während die ersten Anwendungen mit Java­Script noch recht klein und überschaubar waren, sind heutige Anwendungen groß und können unter anderem viel Geschäftslogik beinhalten. Viel Disziplin und klare Strukturen sind nötig, um eine große Codebase in Java­Script zu verwalten. Auch unsere IDEs haben mit großen JavaScript-Projekten nach wie vor Probleme, eine passende IntelliSense anzubieten. Die Vorschläge sind zwar bereits sehr gut, da die IDEs im Hintergrund das JavaScript parsen und versuchen zu verstehen, aber die Vorschläge sind oftmals ein reines Best Guess.

Genau hier kann TypeScript eingesetzt werden und uns beim täglichen Entwickeln unterstützen. TypeScript ist ein Superset von JavaScript, das bedeutet, dass jede gültige JavaScript-Datei auch eine gültige TypeScript-Datei ist. Damit kann jedes bestehende Projekt durch den TypeScript-Compiler (TSC) verarbeitet werden, ohne dass es zu einem Fehler kommt. Wie der Name von TypeScript schon andeutet, können wir damit JavaScript um Typen anreichern und erlangen damit Typsicherheit in einer sonst sehr dynamischen Sprache. Durch das Superset können wir auch nur dort Typen einsetzen, wo wir sie benötigen, oder bewusst dort weglassen, wo wir die maximale Dynamik von JavaScript einsetzen wollen.

Wenn wir Typen in unserer Anwendung einsetzen, erleichtern wir unserer IDE die statische Codeanalyse. Im Gegenzug erhalten wir eine sehr gute IntelliSense und können weiteres Tooling einsetzen, das auf statischer Codeanalyse aufbaut, bspw. Refactoring oder Linting.

Zusätzlich erhalten wir mit TypeScript die Möglichkeit, Features von JavaScript zu nutzen, die erst in kommenden Sprachversionen unterstützt werden. Durch den TypeScript-Compiler wird im Kompilierungspr...

Entwickler Magazin
Typensicher auf dem Server: Web-APIs mit Node.js und TypeScript

Leichtgewichtig und performant

JavaScript bzw. TypeScript werden mehr und mehr für die Cliententwicklung eingesetzt. Egal, ob einfache interaktive Websites oder große Cross-Plattform-Anwendungen, die im Web, auf mobilen Geräten und auf dem Desktop lauffähig sind - überall kann JavaScript bzw. TypeScript eingesetzt werden. Mit Node.js besteht die Möglichkeit, die leichtgewichtige Sprache auch auf dem Server einzusetzen. Vom Command-Line-Interface über regelmäßige Jobs bis hin zu Web-APIs lässt sich alles mit Node.js entwickeln. Wie das geht, erläutert dieser Artikel.

Manuel Rauber


JavaScript war lange eine dem Client bzw. dem Browser vorbehaltene Sprache und wird genutzt, um Dynamik auf dem Client zu ermöglichen. Auf dem Server waren wir Entwickler gezwungen, eine andere Sprache zum Bereitstellen eines Web-API zu nutzen. Das heißt auch, dass Logik, die auf dem Client und auf dem Server benötigt wird, dupliziert werden musste. Seit dem Release von Node.js [1] im Jahre 2009 waren wir erstmals in der Lage, JavaScript auch auf dem Server zu nutzen – und somit auch Code zwischen Client und Server zu teilen (Universal JavaScript oder Isomorphic JavaScript). Das Wissen um JavaScript, das wir uns bei der Cliententwicklung angeeignet haben, können wir also auch auf dem Server einsetzen.

Doch was ist die Motivation zur Nutzung von Type­Script [2]? Während die ersten Anwendungen mit Java­Script noch recht klein und überschaubar waren, sind heutige Anwendungen groß und können unter anderem viel Geschäftslogik beinhalten. Viel Disziplin und klare Strukturen sind nötig, um eine große Codebase in Java­Script zu verwalten. Auch unsere IDEs haben mit großen JavaScript-Projekten nach wie vor Probleme, eine passende IntelliSense anzubieten. Die Vorschläge sind zwar bereits sehr gut, da die IDEs im Hintergrund das JavaScript parsen und versuchen zu verstehen, aber die Vorschläge sind oftmals ein reines Best Guess.

Genau hier kann TypeScript eingesetzt werden und uns beim täglichen Entwickeln unterstützen. TypeScript ist ein Superset von JavaScript, das bedeutet, dass jede gültige JavaScript-Datei auch eine gültige TypeScript-Datei ist. Damit kann jedes bestehende Projekt durch den TypeScript-Compiler (TSC) verarbeitet werden, ohne dass es zu einem Fehler kommt. Wie der Name von TypeScript schon andeutet, können wir damit JavaScript um Typen anreichern und erlangen damit Typsicherheit in einer sonst sehr dynamischen Sprache. Durch das Superset können wir auch nur dort Typen einsetzen, wo wir sie benötigen, oder bewusst dort weglassen, wo wir die maximale Dynamik von JavaScript einsetzen wollen.

Wenn wir Typen in unserer Anwendung einsetzen, erleichtern wir unserer IDE die statische Codeanalyse. Im Gegenzug erhalten wir eine sehr gute IntelliSense und können weiteres Tooling einsetzen, das auf statischer Codeanalyse aufbaut, bspw. Refactoring oder Linting.

Zusätzlich erhalten wir mit TypeScript die Möglichkeit, Features von JavaScript zu nutzen, die erst in kommenden Sprachversionen unterstützt werden. Durch den TypeScript-Compiler wird im Kompilierungspr...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang