# Warum Total.js für eine Node.js-Anwendung wählen?

> Was Total.js einem Node.js-Team bietet: einen abhängigkeitsfreien Kern, alles, was eine Geschäftsanwendung benötigt, in einem Framework, integrierte Authentifizierung und Validierung, eine schnelle Lernkurve und vollständige Open-Source-Anwendungen als Ausgangspunkt.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: de
Content-SHA256: c718b79790d840ab36ae2b75ce40cfdaeef81b93adb5ad3cf6c121d81e39b83c
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

Total.js 5 ist ein vollständiges Anwendungs-Framework für Node.js, verteilt als `total5`. Ein einziges Paket gibt einem Team HTTP-Routen, Eingabevalidierung, serverseitig gerenderte Views, Authentifizierung, Uploads, WebSocket-Routen, geplante Jobs, Lokalisierung, E-Mail und mehr, alles darauf ausgelegt, zusammenzuarbeiten. Du baust die Anwendung, statt ein Dutzend einzelner Bibliotheken auszuwählen, zu verdrahten und zu pflegen.

## Was dein Projekt bekommt

| Was dein Projekt braucht | Was Total.js dir gibt | Sieh es in Forge |
|---|---|---|
| Eine interne Geschäftsanwendung mit Formularen, geschützten Routen und Datei-Uploads | Native Eingabeschemas, Authentifizierungs-Hooks und Upload-Behandlung, sofort einsatzbereit | [Validierung](/en/total5/validate-json-body/), [Authentifizierung](/en/total5/protect-routes-with-auth/), [Uploads](/en/total5/file-upload/) |
| Ein Dashboard mit Live-Updates und periodischen Berichten | WebSocket-Routen, geplante Jobs und E-Mail im selben Framework | [WebSocket-Beispiel](/en/total5/websocket-chat/), [Cron-Jobs](/en/total5/cron-jobs/), [E-Mail](/en/total5/send-email/) |
| Ein kleines Team, das eine Server-Anwendung ausliefern und pflegen will | Automatisch geladene Dateien und ein gemeinsamer Satz von Konventionen, die jedes Projekt vertraut halten | [Projektstruktur](/en/docs/project-structure/), [Konventionen](/en/docs/totaljs-agent-conventions/) |
| Eine serverseitig gerenderte Anwendung | Views, Layouts und Lokalisierung im selben Framework | [Views und Layouts](/en/total5/views-and-layouts/), [Lokalisierung](/en/total5/localization/) |

Jede Zeile verlinkt auf ein Beispiel, das Forge ausführt. Im Frontend bringt Total.js jComponent und einen [Katalog Hunderter fertiger Komponenten](/en/components/) mit, sodass dasselbe Ökosystem auch die Oberfläche abdeckt; ihre Nutzung ist optional.

## Warum Teams Total.js wählen

Ein Kern ohne externe Abhängigkeiten. Das installierte Paket `total5` deklariert keine Laufzeit-Abhängigkeiten von Dritten. Es gibt keine Kette von Modulen verschiedener Autoren, die kompatibel gehalten werden müssen, kein verwaistes Paket, das deinen Build stoppt, keine Überraschung durch ein transitives Update. Diese Kontinuität wirkt direkt und kraftvoll darauf, wie gut ein Projekt skaliert und wie leicht es über Jahre wartbar bleibt: Was du heute lernst und auslieferst, funktioniert weiter, getragen von einem einzigen Projekt.

Das Rahmen umfasst die Authentifizierung, unterzeichneten Sitzungen, CSRF-Checks, Script Password Hashing und Action Input Validation. [Taskboard Referenzanwendung](/en/docs/taskboard-reference/) Kombinieren Sie sie in einer Anwendung.

Eine schnelle Lernkurve. Total.js ist JavaScript, mit Konventionen, die man schnell aufnimmt, sodass ein Team, das es noch nicht kennt, nicht im Nachteil ist. Die Total.js-Repositorys enthalten eine große Sammlung von Skripten, Beispielen und kompletten Anwendungen unter MIT-Lizenz, die du lesen, wiederverwenden und von denen du lernen kannst, und Forge ergänzt ausgeführte Rezepte für den Rest.

Schnell und leicht. Total.js ist schnell, und ein einziges Paket ohne Abhängigkeitsbaum hält es leicht: weniger zu laden, zu aktualisieren und zu prüfen, was auf kleinen Servern und kleinen Geräten am meisten zählt. Forge misst es unter kontrollierten Bedingungen und veröffentlicht Latenz, CPU und Speicher für jede Last, mit den Rohdaten, in den [Benchmarks](/en/benchmarks/).

## Fang einfach an: eine direkte HTTP-Route

Dieses ausführbare Beispiel validiert einen Body mit einem kompakten nativen Schema und antwortet direkt aus einem Controller: wenige Zeilen und keine zusätzlichen Schichten. Wächst die Anwendung, fügen Domänen-Aktionen einen wiederverwendbaren, validierten Vertrag hinzu, den du aus Routen, Code und Werkzeugen aufrufen kannst.

```js controllers/contacts.js
var schema = NEWSCHEMA('ContactsInput', '*name:String');

exports.install = function() {
	ROUTE('GET /health/', health);
	ROUTE('POST /contacts/', create);
};

function health($) {
	$.json({ ok: true });
}

function create($) {
	var result = schema.transform($.body);
	if (result.error) {
		$.response.status = 400;
		$.json({ error: 'invalid' });
		return;
	}
	$.response.status = 201;
	$.json({ name: result.response.name });
}
```

## Quellen

Forge belegt seine Aussagen mit Dingen, die du ausführen kannst. Die [Total.js-Richtlinien](https://github.com/totaljs-es/guidelines) beschreiben den Programmierstil des Ökosystems, [Total.js AI Context](https://github.com/totaljs/aicontext) liefert Implementierungshinweise und das [Quellenmanifest](/ai-sources.json) hält die geprüften Revisionen fest. Weichen eine Anleitung und das installierte Framework einmal voneinander ab, ist der installierte Quellcode die Referenz.
