© Liashko/Shutterstock.com
Entwickler Magazin
TypeScript-Applikationen und Libraries modular und wiederverwendbar gestalten

Modular mit Node.js und TypeScript

JavaScript hat die Welt erobert und ist dort, wo Java vor Jahren gerne gewesen wäre: auf verschiedensten Plattformen, sowohl am Client als auch am Server. Doch wie baut man die TypeScript Libraries und -Apps möglichst wiederverwendbar auf?

Thomas Mahringer


JavaScript ist zur Universalsprache für verschiedenste Aufgaben auf verschiedensten Plattformen geworden: Von „klassischer“ clientseitiger Entwicklung für Websites oder Apps über serverseitige Lösungen mit Node.js bis hin zu Scripting- und Verwaltungstools. Mit TypeScript steht ein mächtiger Transpiler zur Verfügung, dessen statische Typisierung skalierbare Entwicklung, Fehlerfindung zur Compile-Zeit, bessere IDE-Integration und Rücktranspilierung von neueren ECMAScript-Konstrukten in ältere ECMAScript-Versionen ermöglicht. Bei all diesen Vorteilen wäre es doch schön, wenn man vorrangig nur mehr mit TypeScript programmierte und damit viel Aufwand bei der Ausbildung und Schulung der Mitarbeiter, bei Projekt-Onboardings und bei der Applikationsentwicklung sparen könnte.

Eine Frage für Unternehmen, Entwickler und Architekten

Ich wurde kürzlich auf einer Veranstaltung gefragt, welche Programmiersprache man neuen bzw. umzuschulenden Mitarbeitern beibringen solle. Es ergab sich schnell eine hitzige Diskussion und Statistiken wie z. B. die von IEEE Spectrum [1], des PYPL PopularitY of Programming Language Index [2] oder des TIOBE Index [3] wurden in den Raum geworfen. Wenn man auf GitHub nachsieht, sind die meisten Pushs und die aktivsten Repositories diejenigen mit JavaScript. Ein Blick auf jährliche Wachstumsraten zeigt JavaScript als einen der Wachstumsträger. Wie auch immer die genauen Zahlen sein mögen, die Bandbreite der JavaScript-Einsatzgebiete wächst laufend, und moderne progressive Web- und Mobile-Apps mit Frameworks wie React und AngularJS tun ihr Übriges.

Eine für alle – JavaScript am Client und am Server

Gesetzt den Fall, wir entschließen uns nun bei einem neuen Projekt für den „TypeScript-only“-Weg, müssen wir uns überlegen, wie und mit welchen Tools wir den Entwicklungszyklus aufbauen und die Applikation strukturieren und paketieren. Ein großes Ziel dabei ist, dass wir an Client und Server die gleichen Mechanismen verwenden und einen hohen Code-Reuse erreichen.

Die Aufgabe: eine Single-Page-App mit einem Node. js-Serverteil

Wir nehmen als Bespiel eine Single-Page-Applikation, die auf Node.js-REST-Services zugreift. Diese Services kommunizieren ihrerseits über eine Datenzugriffsschicht und den Tedious-Treiber mit SQL Azure. Abbildung 1 zeigt die vereinfachte Architektur.

Abb. 1: Architekturüberblick

Die Herausforderung besteht nun darin, die am Client und am Server benötigten Funktionen (das Domain Model sowie Utilities für Arrays, Datumsberechnung, Lo...

Entwickler Magazin
TypeScript-Applikationen und Libraries modular und wiederverwendbar gestalten

Modular mit Node.js und TypeScript

JavaScript hat die Welt erobert und ist dort, wo Java vor Jahren gerne gewesen wäre: auf verschiedensten Plattformen, sowohl am Client als auch am Server. Doch wie baut man die TypeScript Libraries und -Apps möglichst wiederverwendbar auf?

Thomas Mahringer


JavaScript ist zur Universalsprache für verschiedenste Aufgaben auf verschiedensten Plattformen geworden: Von „klassischer“ clientseitiger Entwicklung für Websites oder Apps über serverseitige Lösungen mit Node.js bis hin zu Scripting- und Verwaltungstools. Mit TypeScript steht ein mächtiger Transpiler zur Verfügung, dessen statische Typisierung skalierbare Entwicklung, Fehlerfindung zur Compile-Zeit, bessere IDE-Integration und Rücktranspilierung von neueren ECMAScript-Konstrukten in ältere ECMAScript-Versionen ermöglicht. Bei all diesen Vorteilen wäre es doch schön, wenn man vorrangig nur mehr mit TypeScript programmierte und damit viel Aufwand bei der Ausbildung und Schulung der Mitarbeiter, bei Projekt-Onboardings und bei der Applikationsentwicklung sparen könnte.

Eine Frage für Unternehmen, Entwickler und Architekten

Ich wurde kürzlich auf einer Veranstaltung gefragt, welche Programmiersprache man neuen bzw. umzuschulenden Mitarbeitern beibringen solle. Es ergab sich schnell eine hitzige Diskussion und Statistiken wie z. B. die von IEEE Spectrum [1], des PYPL PopularitY of Programming Language Index [2] oder des TIOBE Index [3] wurden in den Raum geworfen. Wenn man auf GitHub nachsieht, sind die meisten Pushs und die aktivsten Repositories diejenigen mit JavaScript. Ein Blick auf jährliche Wachstumsraten zeigt JavaScript als einen der Wachstumsträger. Wie auch immer die genauen Zahlen sein mögen, die Bandbreite der JavaScript-Einsatzgebiete wächst laufend, und moderne progressive Web- und Mobile-Apps mit Frameworks wie React und AngularJS tun ihr Übriges.

Eine für alle – JavaScript am Client und am Server

Gesetzt den Fall, wir entschließen uns nun bei einem neuen Projekt für den „TypeScript-only“-Weg, müssen wir uns überlegen, wie und mit welchen Tools wir den Entwicklungszyklus aufbauen und die Applikation strukturieren und paketieren. Ein großes Ziel dabei ist, dass wir an Client und Server die gleichen Mechanismen verwenden und einen hohen Code-Reuse erreichen.

Die Aufgabe: eine Single-Page-App mit einem Node. js-Serverteil

Wir nehmen als Bespiel eine Single-Page-Applikation, die auf Node.js-REST-Services zugreift. Diese Services kommunizieren ihrerseits über eine Datenzugriffsschicht und den Tedious-Treiber mit SQL Azure. Abbildung 1 zeigt die vereinfachte Architektur.

Abb. 1: Architekturüberblick

Die Herausforderung besteht nun darin, die am Client und am Server benötigten Funktionen (das Domain Model sowie Utilities für Arrays, Datumsberechnung, Lo...

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