A Total.js erősségei és az alkalmazásproblémák, amelyeket megoldanak
A Total.js nem csak a HTTP útválasztás miatt érdemel figyelmet. Központi erőssége egy függőségmentes keretrendszermag, amely sok backend szolgáltatást fog össze közös konvenciók alatt. Egy API-kat, üzleti alkalmazásokat vagy élő irányítópultokat építő csapat számára ez kevesebb külön kiválasztott csomagot és kevesebb integrációs kódot jelenthet.
Értékelendő erősségek
| Erősség | Mit kínál egy alkalmazásnak | Forrás vagy példa |
|---|---|---|
| Keretrendszermag harmadik féltől származó npm függőségek nélkül | A telepített total5@0.0.19 csomag nem deklarál külső futásidejű függőséget. A keretrendszer által nyújtott szolgáltatások nem hoznak magukkal saját harmadik féltől származó npm függőségi fákat. Ez egyszerűsíti a függőségkezelés ezen részét. | A keretrendszer forráskódja és csomagmanifesztje, hivatalos platformleírás |
| Integrált backend szolgáltatások | Az útválasztás, sémák, nézetek, feltöltések, ütemezett feladatok, e-mail és lokalizáció megoszthatják egy alkalmazás konvencióit. Egy üzleti alkalmazás több követelményt is lefedhet anélkül, hogy mindegyikhez külön könyvtárat kellene összeállítani. | Projektszerkezet, feltöltések, cron, e-mail, lokalizáció |
| Natív bemenet-validáció és hitelesítési szolgáltatások | A kötelező mezőknek, a bemeneti szerződéseknek, a védett útvonalaknak és a munkameneteknek natív keretrendszer-építőelemeik vannak. A csapatok közös mintákat alkalmazhatnak ahelyett, hogy minden mechanizmust a nulláról terveznének. | Bemenet-validáció, védett útvonalak, munkamenetek |
| Valós idejű kommunikáció | A WebSocket szerver- és kliensszolgáltatások kétirányú alkalmazásokat támogatnak, mint az élő irányítópultok, értesítések és összekapcsolt szolgáltatások. | WebSocket szerver, WebSocket kliens |
| FlowStream a backendben | Az összekapcsolt komponensek lehetővé teszik egy alkalmazásnak, hogy üzenetfeldolgozási munkafolyamatokat fejezzen ki, és futás közben módosítsa a komponensek konfigurációját. Ez hasznos automatizálási és integrációs pipeline-okhoz. | FlowStream példa, komponensteszt |
| Natív Python-folyamat integráció | A PYPELINE a keretrendszer által kezelt utat ad Python szkriptek indítására és adatcserére. A Node.js alkalmazás megtarthatja az API-ját és az orkesztrációját, miközben a Python egy speciális feladatot lát el. | A PYPELINE belépési pontja, megvalósítás |
| Szerveroldalon renderelt oldalak ugyanabban a keretrendszerben | A nézetek, layoutok, include-ok és a lokalizáció olyan alkalmazásokat támogatnak, amelyek szerveroldalon renderelt HTML-t akarnak API-k és valós idejű végpontok mellett. | Nézetek és layoutok, include-ok és erőforrások |
| Közvetlen útvonalak és újrafelhasználható akciók | Egy kis végpont válaszolhat a vezérlőjéből; egy doménművelet használhat akciót és annak validált szerződését. Az alkalmazás kiválaszthatja a szükséges réteget. | Közvetlen vezérlő példa, natív akció példa |
| MIT licenc alatti nyílt forráskódú keretrendszer | A csapatok megvizsgálhatják a megvalósítást, és a licencfeltételeken belül adaptálhatják, kereskedelmi alkalmazásokhoz is. | A keretrendszer licence |
Python-együttműködés: egy konkrét képesség
A megvizsgált total5@0.0.19 forráskódban a PYPELINE(name, options) a pypelines/ helyről old fel elnevezett szkripteket, vagy beágyazott Pythont fogad el. A megvalósítása egy python3 folyamatot indít, és helyi socketen cserél üzeneteket, JSON, szöveg és bináris adatok támogatásával. Ez egy beépített híd a Node.js alkalmazás és a Python-feldolgozás között, nem a JavaScript futtatókörnyezeten belül futó Python.
A Pythonnak telepítve kell lennie a célkörnyezetben. Egy szkript Python csomagokat is igényelhet. A folyamatfelügyeletet, a feladathibákat, az áteresztőképességet és a telepítési kompatibilitást a tervezett alkalmazásra validálni kell. Ez az oldal ennek a szolgáltatásnak a forráskód-vizsgálatát rögzíti; nem állít végrehajtott Python-körutat vagy minden operációs rendszeren ellenőrzött telepítést.
Teljesítmény és telepítések kis eszközökön
A sebesség és az erőforrás-hatékonyság értékes okok a Total.js vizsgálatára, különösen, ha egy telepítésnek kevés a RAM-ja vagy kis eszközön fut. Mérd a teljes alkalmazásterhelést: a keretrendszer verziója, a validációs útvonal, az egyidejűség, a payloadok, a háttérfolyamatok, a késleltetés, a hibák és a memória-visszanyerés mind számítanak.
Egy hasznos közzétett eredmény megadja a hardvert, a futtatókörnyezetet, a pontos keretrendszerverziókat és egy reprodukálható terhelést. Egy Raspberry Pi telepítésről szóló jelentésnek tartalmaznia kell az eszköz modelljét, az alkalmazási forgatókönyvet és a mért folyamatokat. Ettől lesz egy valódi üzemi eredmény mások számára hasznos. Ez az oldal nem ad univerzális RAM-értéket, és nem állítja, hogy egy keretrendszer mindig felülmúl egy másikat; a benchmark-következtetések a tényleges eredményeikhez tartoznak.
Biztonsági előnyök, pontosan megfogalmazva
A harmadik féltől származó npm függőségek elkerülése a magban eltávolítja ezeket a harmadik féltől származó függőségi láncokat a keretrendszer telepítéséből. A natív bemenet-validáció és hitelesítési szolgáltatások közös biztonsági építőelemeket adnak az alkalmazásoknak. Ezek konkrét erősségek.
Nem helyettesítik a keretrendszer saját megvalósításának felülvizsgálatát, sem az alkalmazás jogosultságkezelését, a munkamenet-süti beállításait és a proxy konfigurációját. Az összehasonlító biztonsági állításhoz meghatározott értékelés kell; a csomagok száma önmagában nem teremtheti meg.
A keretrendszermag függőségi szabályzata azt sem akadályozza meg, hogy egy alkalmazás adatbázis-drivert, SDK-t vagy Python csomagokat használjon.
Bizonyíték és hatókör
Ez az útmutató a helyi total5@0.0.19 csomagban megvizsgált képességeket írja le, és Forge-példákra és hivatalos forrásokra hivatkozik. A main ágra mutató forráshivatkozások változhatnak; egy API átmásolása előtt ellenőrizd a telepített verziót. A hivatalos platformoldal tágabb ökoszisztémát fed le, külön alkalmazásokkal és frontend eszközökkel; ezek nem mind szükséges backend függőségek.
A végrehajtási manifeszt csak az útmutató általa megnevezett két bevezető példáját fedi le. Nem tanúsítja minden hivatkozott receptet, és nem futtatja a táblázat képességeit. Olvasd el a következőt a kiválasztási szempontokhoz: mikor érdemes fontolóra venni a Total.js-t, a megvalósítási útmutatáshoz pedig: a natív asszisztens-konvenciók.