# Miért válassza ki a Total.js-t egy Node.js alkalmazáshoz

> Mit ad a Total.js egy Node.js csapatnak: függőségmentes mag, minden olyan üzleti alkalmazásra van szüksége, amely egy keretrendszerben van, beépített hitelesítés és validáció, gyors tanulás és teljes nyílt forráskódú alkalmazások.

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

A Total.js 5 egy teljes értékű Node.js alkalmazás-keretrendszer, `total5` néven terjesztve. Egyetlen csomag HTTP útvonalakat, bemenet-validációt, szerveroldalon renderelt nézeteket, hitelesítést, feltöltéseket, WebSocket útvonalakat, ütemezett feladatokat, lokalizációt, e-mailt és még sok mást ad egy csapatnak, mindezt úgy tervezve, hogy együtt működjön. Az alkalmazást építed, ahelyett hogy egy tucat különálló könyvtárat választanál ki, kötnél össze és tartanál karban.

## Mit kap a projekted

| Mire van szüksége a projektednek | Mit ad neked a Total.js | Nézd meg a Forge-ban |
|---|---|---|
| Belső üzleti alkalmazás űrlapokkal, védett útvonalakkal és fájlfeltöltéssel | Natív bemeneti sémák, hitelesítési hookok és feltöltéskezelés, használatra készen | [Validáció](/en/total5/validate-json-body/), [hitelesítés](/en/total5/protect-routes-with-auth/), [feltöltések](/en/total5/file-upload/) |
| Irányítópult élő frissítésekkel és időszakos jelentésekkel | WebSocket útvonalak, ütemezett feladatok és e-mail ugyanabban a keretrendszerben | [WebSocket példa](/en/total5/websocket-chat/), [cron feladatok](/en/total5/cron-jobs/), [e-mail](/en/total5/send-email/) |
| Egy kis csapat, amely egy szerveralkalmazást akar szállítani és karbantartani | Automatikusan betöltött fájlok és közös konvenciók, amelyek minden projektet ismerőssé tesznek | [Projektszerkezet](/en/docs/project-structure/), [konvenciók](/en/docs/totaljs-agent-conventions/) |
| Szerveroldalon renderelt alkalmazás | Nézetek, layoutok és lokalizáció ugyanazon a keretrendszeren belül | [Nézetek és layoutok](/en/total5/views-and-layouts/), [lokalizáció](/en/total5/localization/) |

Minden sor egy olyan példára mutat, amelyet a Forge lefuttat. A A frontenden a Total.js-hez jComponent és [több száz kész komponensből álló katalógus](/en/components/) tartozik, így ugyanaz az ökoszisztéma a felületet is lefedi; a használatuk opcionális.

## Miért választják a csapatok a Total.js-t

Külső függőségek nélküli mag. A telepített `total5` csomag nem deklarál harmadik féltől származó futásidejű függőséget. Nincs különböző szerzők moduljaiból álló lánc, amelyet kompatibilisen kell tartani, nincs elhagyott csomag, amely megállítja a buildedet, és nincs meglepetés egy tranzitív frissítésből. Az ilyen folytonosság közvetlen és erőteljes hatással van arra, mennyire skálázódik egy projekt, és milyen könnyű évekig karbantartani: amit ma megtanulsz és kiadsz, az tovább működik, egyetlen projekt támogatásával.

A keretrendszer magában foglalja a hitelesítést, az aláírt üléseket, a CSRF ellenőrzéseket, a titkosító jelszavakat és a cselekvési beviteli validációt. [Taskboard Reference alkalmazás](/en/docs/taskboard-reference/) Egy alkalmazásban kombináljuk őket.

Gyors tanulási görbe. A Total.js JavaScript, gyorsan elsajátítható konvenciókkal, így egy csapat, amely még nem ismeri, nincs hátrányban. A Total.js tárolók szkriptek, példák és teljes, MIT licencű alkalmazások nagy gyűjteményét tartalmazzák, amelyeket olvashatsz, újrahasznosíthatsz és amelyekből tanulhatsz, a Forge pedig lefuttatott recepteket ad a többihez.

Gyors és könnyű. A Total.js gyors, és az egyetlen, függőségi fa nélküli csomag könnyűvé teszi: kevesebb a betöltendő, frissítendő és auditálandó dolog, ami kis szervereken és kis eszközökön számít a legtöbbet. A Forge ellenőrzött körülmények között méri, és minden terhelésre közzéteszi a késleltetést, a CPU-t és a memóriát a nyers adatokkal együtt a [benchmarkok](/en/benchmarks/) oldalon.

## Kezdd egyszerűen: egy közvetlen HTTP útvonallal

Ez a futtatható példa egy kompakt natív sémával validál egy törzset, és közvetlenül egy vezérlőből válaszol: néhány sor és semmi extra réteg. Ahogy az alkalmazás nő, a doménakciók újrafelhasználható, validált szerződést adnak, amelyet útvonalakból, kódból és eszközökből is meghívhatsz.

```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 });
}
```

## Források

A Forge az állításait olyan dolgokhoz köti, amelyeket le tudsz futtatni. A [Total.js irányelvek](https://github.com/totaljs-es/guidelines) az ökoszisztéma kódolási stílusát írják le, az [Total.js AI Context](https://github.com/totaljs/aicontext) megvalósítási útmutatást ad, a [forrásmanifest](/ai-sources.json) pedig rögzíti az átnézett revíziókat. Ha egy útmutató és a telepített keretrendszer valaha eltér, a telepített forráskód a mérvadó.
