Első alkalmazás létrehozása
Előfeltételek
Szekció neve “Előfeltételek”- Bun telepítve (
bun --version≥ 1.0) - Futó ElyOS példány (Docker-rel vagy lokálisan) — szükséges az alkalmazás feltöltéséhez és az ElyOS rendszeren belüli teszteléséhez (nem csak standalone módban). Lásd: Docker-alapú futtatás
Projekt létrehozása
Szekció neve “Projekt létrehozása”Az ElyOS-hoz elérhető CLI segítségével hozd létre az új alkalmazás projektet:
bunx @elyos-dev/create-appAz interaktív wizard végigvezet a beállításokon:
- Alkalmazás ID — kebab-case azonosító (pl.
my-app) - Megjelenítési név — amit a felhasználók látnak
- Leírás — rövid leírás
- Szerző —
Név <email>formátumban - Template —
blank,basic,advanced,datatable, vagysidebar - Jogosultságok —
database,notifications,remote_functions
Vagy megadhatod a nevet és a template-et közvetlenül:
bunx @elyos-dev/create-app my-app --template blankbunx @elyos-dev/create-app my-app --template basicbunx @elyos-dev/create-app my-app --template advancedbunx @elyos-dev/create-app my-app --template datatable --no-installElérhető template-ek
Szekció neve “Elérhető template-ek”| Template | Mire jó |
|---|---|
starter | Tiszta lap — csak az SDK, te döntöd el mi kerül bele |
basic | Egyszerű UI alkalmazás, nincs szerver oldali logika |
advanced | Szerver függvényekkel, Settings komponenssel |
datatable | CRUD alkalmazás DataTable-lel és szerver CRUD műveletekkel |
sidebar | Oldalsávos navigációval rendelkező alkalmazás (AppLayout mód, menu.json) |
blank template
Szekció neve “blank template”A blank template a legminimálisabb kiindulópont: csak az SDK és a kötelező fájlok kerülnek bele. A wizard a template kiválasztása után három follow-up kérdést tesz fel, amelyekkel opcionálisan hozzáadhatók a leggyakoribb funkciók:
- Oldalsáv navigáció? — ha igen, létrejön a
src/components/mappa egyOverview.sveltekomponenssel és amenu.json - Szerver függvények? — ha igen, létrejön a
server/functions.tsegy példa függvénnyel - Adatbázis migrációk? — ha igen, létrejön a
migrations/001_init.sqlegy minta tábladefinícióval. Az ElyOS installer telepítéskor automatikusan futtatja a migrációkat és prefixeli a táblaneveket a plugin sémájával (plugin__app_id) - i18n fordítások? — ha igen, létrejön a
locales/mappahu.jsonésen.jsonfájlokkal
A generált struktúra (minden opcióval):
my-app/├── manifest.json├── src/│ ├── App.svelte # Fő komponens│ ├── main.ts # Belépési pont│ └── components/ # (ha oldalsáv: igen)│ └── Overview.svelte├── server/ # (ha szerver függvények: igen)│ └── functions.ts├── migrations/ # (ha adatbázis migrációk: igen)│ └── 001_init.sql├── locales/ # (ha i18n: igen)│ ├── hu.json│ └── en.json└── assets/ └── icon.svgbasic template
Szekció neve “basic template”A basic template egy egyszerű, egyoldalas alkalmazást generál. Ideális kezdőknek és egyszerű alkalmazásokhoz.
A basic template egy egyszerű, egyoldalas alkalmazást generál. Ideális kezdőknek és egyszerű alkalmazásokhoz.
A generált struktúra:
my-app/├── manifest.json├── src/│ ├── App.svelte # Fő komponens│ └── main.ts # Belépési pont├── locales/│ ├── hu.json│ └── en.json└── assets/ └── icon.svgadvanced template
Szekció neve “advanced template”Az advanced template szerver oldali logikát és egy Settings komponenst tartalmaz. Ideális olyan alkalmazásokhoz, amelyeknek szerver függvényekre van szükségük.
A generált struktúra:
my-app/├── manifest.json├── src/│ ├── App.svelte # Fő komponens│ ├── main.ts # Belépési pont│ └── components/│ └── Settings.svelte├── server/│ └── functions.ts # Szerver oldali függvények├── locales/│ ├── hu.json│ └── en.json└── assets/ └── icon.svgdatatable template
Szekció neve “datatable template”A datatable template egy teljes CRUD alkalmazást generál DataTable komponenssel és szerver oldali CRUD műveletekkel. Ideális adatkezelő alkalmazásokhoz.
A generált struktúra:
my-app/├── manifest.json├── src/│ ├── App.svelte # Fő komponens│ ├── main.ts # Belépési pont│ └── components/│ ├── DataTable.svelte│ └── Settings.svelte├── server/│ └── functions.ts # CRUD szerver függvények├── locales/│ ├── hu.json│ └── en.json└── assets/ └── icon.svgsidebar template
Szekció neve “sidebar template”A sidebar template egy oldalsávos navigációs elrendezést generál, ahol az alkalmazás több oldalból áll. Az ElyOS az AppLayout komponensét használja a megjelenítéshez — az alkalmazás ablakának bal oldalán egy navigációs sáv jelenik meg, a jobb oldalon a kiválasztott oldal tartalma.
A generált struktúra:
my-app/├── manifest.json├── menu.json # Oldalsáv navigáció definíciója├── src/│ ├── App.svelte # Fő komponens (oldalsáv + routing)│ └── components/│ ├── Overview.svelte│ └── Settings.svelte├── locales/│ ├── hu.json│ └── en.json└── migrations/ # Adatbázis migrációk (ha database permission van) └── 001_init.sqlA menu.json határozza meg az oldalsáv menüpontjait:
[ { "id": "overview", "labelKey": "menu.overview", "component": "Overview" }, { "id": "settings", "labelKey": "menu.settings", "component": "Settings" }]A labelKey értékei namespace nélküliek — a rendszer automatikusan hozzáfűzi az app:{id}. prefixet a fordítások keresésekor.
Projekt struktúra
Szekció neve “Projekt struktúra”A generált projekt struktúrája:
my-app/├── manifest.json # Alkalmazás metaadatok (kötelező)├── package.json # Függőségek és scriptek├── vite.config.ts # Build konfiguráció├── tsconfig.json # TypeScript konfiguráció├── src/│ ├── main.ts # Belépési pont, Mock SDK init│ ├── App.svelte # Fő komponens│ └── components/ # Alkomponensek (advanced/datatable template-ben)├── server/ # Szerver oldali függvények (advanced/datatable)│ └── functions.ts├── locales/ # Fordítások│ ├── hu.json│ └── en.json└── assets/ └── icon.svg # Alkalmazás ikonKézi létrehozás (sdk-demo másolása)
Szekció neve “Kézi létrehozás (sdk-demo másolása)”Ha a monorepo-n belül dolgozol, másolhatod az sdk-demo példát:
cp -r examples/apps/sdk-demo examples/apps/my-appcd examples/apps/my-app# Módosítsd a manifest.json-t (id, name, description)bun installFüggőségek telepítése
Szekció neve “Függőségek telepítése”cd my-appbun installA @elyos/sdk csomag elérhető az npm registry-ben és a JSR-en is — tartalmazza a TypeScript típusdefiníciókat és a fejlesztői Mock SDK-t.
Első build
Szekció neve “Első build”bun run buildEz létrehozza a dist/index.iife.js fájlt — ez az ElyOS által betöltött bundle.
Következő lépések
Szekció neve “Következő lépések”- Fejlesztői workflow — standalone dev mód és Mock SDK
- manifest.json referencia — minden mező részletesen
- Build és feltöltés —
.elyospkgcsomag és telepítés