Teljes értékű feladatkezelő Gleam-mel: Egy nyelv, minden platformra

Teljes értékű feladatkezelő Gleam-mel: Egy nyelv, minden platformra

Ápr 30, 2026 gleam full-stack development type safety web architecture backend development frontend development cross-platform apps erlang lustre tauri

Teljes értékű feladatkezelő Gleam-mel: Egy nyelv, minden platformra

Sok éve kergetjük a fejlesztők álmát: egyszer írjuk meg a kódot, és fussanak mindenhol. Próbáltuk Java applet-ekkel, Electronnel, React Native-tel, Flutterrel. De mi van, ha nem a keretrendszereken múlik? Mi lenne, ha eleve a megfelelő nyelvet választanánk?

Íme a Gleam: statikusan típusos nyelv, ami Erlangra fordul backendre, JavaScriptre pedig frontendre. Így tényleg egységes full-stack fejlesztés jön létre. Most megnézzük, hogyan működik ez a gyakorlatban: építünk egy feladatkezelőt, ami megmutatja a teljes erejét.

A cél: Egy kód, sok platform

Ne essünk abba a hibába, hogy keretrendszerek ígéreteit vegyük komolyan. Azok általában csak egy-két platformra szólnak. A Gleam más: ugyanazt a forráskódot fordulja le teljesen különböző runtime-okra.

A mi Doable nevű feladatkezelőnk szándékosan egyszerű. CRUD műveletek: létrehozás, olvasás, frissítés, törlés. De ez csak a felszín. Alatta teljes architektúra húzódik meg:

  • JSON HTTP API Erlanggal és PostgreSQL-lel
  • Böngészős frontend reaktív állapotkezeléssel
  • Asztali appok Windowsra, macOS-re, Linuxra Taurival
  • Mobil appok iOS-re és Androidra, szintén Taurival

Mindez ugyanabból a kódból. Ugyanazok a típusok. Ugyanazok a validációk.

Architektúra: Fejlesztés és éles környezet

Hogyan dolgozik a fejlesztő?

Fejlesztésnél gyors visszajelzés kell. Dockeres adatbázis, hot-reload szerver, integrációs tesztek anélkül, hogy mindent újrafordítanánk.

Így áll össze:

  • PostgreSQL Dockerben, külön fejlesztői és teszteszközökre
  • Gleam API szerver Dockerben vagy lokálisan
  • Egy Lustre dev szerver kezeli a hot reloadot böngészőhöz, asztalihoz, mobilhoz
  • API proxy kezeli a CORS-t – minden egy kapun át
  • Tesztek közvetlenül a router ellen, külön tesztetbase-szel

Ez nem luxus. 30 másodperc várakozás változás közt lassít, mint a halál.

Éles környezet egyszerűen

Élesben minden Dockerbe kerül. Caddy az egységes belépő: proxy-z a Gleam API-ra és a frontend fájlokra.

Böngészőben Caddy szolgálja ki a frontendet és az API-t. Tauri appok lokálisan bundle-ölik a frontendet, de API-ra Taurival érik el a Caddy-t. Ugyanaz az app, platformra optimalizálva.

A stack részletesen

Backend: Erlang megbízhatósága

API szerver Wisp-pel és Mist-tel fordul Erlangra. Nem csak webkeretrendszer: örököljük az Erlang telekom-stabilitását. Konkurencia, hibatűrés, skálázás – erre más nyelvek még tanulnak.

PostgreSQL hozza a relációs megbízhatóságot, amit Erlangosok évtizedek óta ismernek.

Megosztott kód: A nagy nyeremény

Gleam zsenialitása a shared projekt: multi-target Gleam library, ami mindkét platformra fordul. Típusok, validációk, szerializálás – minden közös. Task struktúra frissítve? Automatikusan frissül mindenhol.

Nincs típuseltérés frontend és backend közt. Nincs "nálam működik" meglepetés. A fordító elkapja a hibákat indulás előtt.

Frontend: Elm-minta Lustre-rel

Webes frontend Lustre-rel, Elm Architecture-rel: bevált UI állapotkezelés. Elm-et ismerők azonnal otthon érzik magukat. Újaknak: ez a predictable frontend arany استاندارد.

Asztali és mobil ugyanazt követi, csak más targeteken.

Miért jó ez a következő projektednek?

Full-stack típusbiztonság kulcsfontosságú összetett appoknál. Íme, mi változik:

Refaktorálás kockázatmentesen. Tábla mező átnevezve? Shared típus frissítve, a fordító megmondja, hol kell javítani a 47 helyen.

Konzisztencia ingyen. Validációt nem kell TypeScriptből Swiftbe, Kotlinná alakítani. Gleamben megírjuk, három targetre fordul.

Onboarding gyorsabban. Új csapattag egy nyelvvel, egy típusrendszerrel indul, nem három ökoszisztémával.

Működés egyszerűbb. Kevesebb nyelv, kevesebb függőség, kevesebb deploy-stratégia, kevesebb meglepetés.

A valóság

Gleam a webfejlesztés jövője? Nem biztos. Kisebb közösség, kevesebb library, nehezebb toborzás TypeScript vagy Python ellen.

De greenfield full-stack projektekhez, ahol típusbiztonság és egységesség számít? Kihagy kategóriákat a bugokból.

A feladatkezelő egyszerű – pont ez a lényeg. Kis skálán bizonyít. Nagy appok bonyolultabbak, de az alapelv marad: egyszer fordítunk, mindenhol validálunk, sokfelé deployolunk.

Kezdés

Ha érdekel, a tanulási görbe kezelhető. Syntax ismerős: JavaScript, Python, Rust elemek. Típusok erősek, de nem kell azonnal mesternek lenni.

Kezdd Erlang backenddel, API építésével. Aztán Lustre frontend, shared típusok – és nézd, ahogy eltűnnek a bugok. Egységes full-stack után a régi fragmentált módok régimódinak hatnak.

A full-stack jövője talán nem rétegenként más toolok. Hanem egy nyelv, ami minden réteget céloz.


Kipróbálod a Gleam full-stacket? Nézd meg a Gleam doksit, és gondold át, mit nyerhet a következő projekted típusbiztos, multi-platform fordítással.

Read in other languages:

RU BG EL CS UZ TR SV FI RO PT PL NB NL IT FR ES DE DA ZH-HANS EN