© Allen Paul Photography/Shutterstock.com
Run, Deno, Run – Teil 2

Erste Schritte mit Oak und REST


Im ersten Teil haben wir Deno kennengelernt, nun wollen wir anspruchsvollere Anwendungen damit bauen. Dafür werfen wir einen Blick auf Oak, ein Middleware-Framework für Deno und zeigen dann, wie man die Anwendung um REST ergänzt.

Oak ist momentan das beliebteste Werkzeug, um Webanwendungen mit Deno zu erstellen. Das Middleware Framework tritt bei Deno [1] an die Stelle, die Koa [2] und Express [3] im Fall von Node.js einnehmen. Wenn wir von Webanwendungen mit Deno sprechen, dann werden diese in der Regel nicht über den Browser aufgerufen – abgesehen vom serverseitigen Rendern einer Frontend-Anwendung. Stattdessen erstellen Sie mit Oak Serveranwendungen in Deno als Backend-Applikation – quasi die Schnittstelle zwischen Ihrer Frontend-Anwendung und einer potenziellen Datenbank oder anderen Datenquellen (beispielsweise REST APIs, GraphQL-APIs).

Hier zur besseren Einordnung eine Liste von möglichen Technologiestacks zum Erstellen von Client-Server-Architekturen:

  • React.js (Frontend) + Oak (Backend) + PostgreSQL (Datenbank)

  • Vue.js (Frontend) + Oak (Backend) + MongoDB (Datenbank)

  • Angular (Frontend) + Oak (Backend) + Neo4j (Datenbank)

Tauschen Sie Oak [4] mit anderen Backend Frameworks genauso aus, wie Sie React.js mit Vue.js und Angular.js ersetzen, wenn es um Frontend-Anwendungen geht. Das Deno-Ökosystem bietet nicht nur eine, sondern verschiedene Lösungen, die jede für sich ihre Stärken und Schwächen aufweist. Für unser Beispiel verwenden wir einen Oak-Server, da dies die beliebteste Wahl beim Erstellen von JavaScript-Backend-Anwendungen mit Deno ist.

Oak in Deno

Sehen wir uns das praktisch an und binden Oak in eine Deno-Anwendung ein. Öffnen Sie dazu das im ersten Teil erstellte Deno-Projekt oder erstellen Sie ein neues. Legen Sie dann eine TypeScript-Datei mit dem Namen src/server.ts an, in die Sie den Code aus Listing 1 kopieren. Der erledigt folgende Aufgaben: Er importiert Oak, erstellt eine Instanz einer Oak-Anwendung und ruft so einen Oak-Server auf. Ausführbar ist dieser Code erst nach dem nächsten Schritt, da bisher die Middleware fehlt. 'deno run --allow-net server.ts' würde Ihnen mit 'throw new TypeError(„There is no middleware to process requests.“); ' antworten.

Listing 1

import { Application } from 'https://deno.land/x/oak/mod.ts'; const port = 8000; const app = new Application(); app.addEventListener('listen', () => { console.log('Listening on localhost:${port}'); }); await app.listen({ port });

Wichtig ist, dass Sie den Event Listener (addE...

Exklusives Abo-Special

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