-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Grober Überblick über die von uns genuzte Architektur im Backend und Frontend.
Die Serverseitige Plattform ist iojs (Communityfork von nodejs), welche auf der Google Chrome Engine V8 basiert. Entwickelt wird also mit Javascript, jedoch wird in diesem Projekt Typescript benutzt, was ein Superset von Javascript ist und vor Ausführung in reines Javascript compiliert wird.
Als Paketmanager wird npm (Node Packet Manager) verwendet um Dependencies zu organisieren und externe Module einzubinden. Npm wird auch benutzt um unsere eigenen selbst entwickelten Plugins in unseren Server einzubinden (Dazu später mehr).
Das Server-Framework welches uns die Infrastruktur anbietet und mit welcher wir entwickeln ist hapijs. Dieses Framework erlaubt eine einfache Implementierung des Applikationsservers auf Basis von Plugins. Dabei können alle Funktionalitäten des Servers einfach in andere Module ausgelagert werden und vor dem Serverstart eingebunden werden. Dies hat den Vorteil, dass der tatsächliche Server-Code sehr schlank und übersichtlich ist. Folgender Code veranschaulicht das:
// index.js
Hapi = require('hapi'); // framework importieren
// Plugins
DatenbankPlugin = require('datenbank-plugin');
Plugin1 = require('plugin1);
Plugin2 = require('plugin2);
server = new Hapi.Server(); // neue Instanz erzeugen
server.register([DatenbankPlugin, Plugin1, Plugin2]); // Plugins einbinden
server.start() // Server startenMehr ist im Grunde nicht notwendig.