Čo je Lua?
Lua je ľahký, rýchly a vstaviteľný skriptovací jazyk vytvorený v Brazílii v roku 1993. Vyniká svojou jednoduchosťou a minimálnou veľkosťou. Lua sa najčastejšie používa ako vstavený skriptovací jazyk v hrách, embedded systémoch a aplikáciách.
Definícia Lua
Čo je Lua
Lua (v portugalčine „mesiac") je ľahký, interpretovaný programovací jazyk vytvorený na Pontifical Catholic University of Rio de Janeiro (PUC-Rio) v Brazílii. Vyvinuli ho Roberto Ierusalimschy, Luiz Henrique de Figueiredo a Waldemar Celes. Prvá verzia vyšla v roku 1993.
Lua bola navrhnutá ako vstaviteľný jazyk — ľahko sa integruje do C/C++ aplikácií. Celý interpret zaberá len asi 200 KB, čo ju robí ideálnou pre prostredia s obmedzenými zdrojmi.
Kde sa Lua používa
- Herný priemysel — World of Warcraft (addony), Roblox, Garry's Mod, LÖVE 2D engine
- Embedded systémy — IoT zariadenia, routery (OpenWrt používa Lua cez LuCI)
- Webové servery — Nginx rozšírenia cez OpenResty/lua-nginx-module
- Konfigurácia — Neovim používa Lua ako konfiguračný a rozširovací jazyk
- Redis — serverové skripty pre atómové operácie
Vlastnosti
Lua má minimalistický dizajn s iba 8 základnými typmi a jednou dátovou štruktúrou — tabuľkou (asociatívne pole). Tabuľky slúžia ako polia, slovníky, objekty aj moduly. Lua podporuje prvotné funkcie, uzávery (closures), korutiny a metatabuľky na implementáciu OOP.
Praktický príklad
Príklad: Herné štúdio vyvíja RPG hru a chce umožniť hráčom vytvárať vlastné modifikácie.
Engine hry je napísaný v C++, ale herná logika (dialógy, questy, AI nepriateľov) je skriptovaná v Lua. Modderi môžu písať vlastné Lua skripty bez znalosti C++. Lua je bezpečne sandboxovaná, takže modifikácie nemôžu poškodiť engine hry.
Často kladené otázky
Prečo sa Lua používa v hrách?
Lua je extrémne ľahká (200 KB), rýchla a jednoducho sa vstaví do C/C++ enginu. Umožňuje oddeliť hernú logiku od enginu, čo zrýchľuje vývoj a umožňuje modding. World of Warcraft a Roblox sú najznámejšie príklady.
Je Lua vhodná ako prvý programovací jazyk?
Lua má veľmi jednoduchý syntax a dá sa naučiť rýchlo. Avšak jej špecializované použitie (vstavený jazyk) znamená, že pre začiatočníkov je praktickejšie začať s Pythonom alebo JavaScriptom.
Čo je LuaJIT?
LuaJIT je Just-in-Time kompilátor pre Lua, ktorý výrazne zvyšuje výkon — v niektorých prípadoch je rýchlejší ako C. LuaJIT je kompatibilný s Lua 5.1 a používa sa v OpenResty, Neovime a ďalších výkonovo citlivých aplikáciách.
Súvisiace pojmy
Potrebujete pomôcť s webom?
Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.