Kam jinam
To je děsně rychlý
To je děsně rychlý; Vůbec nechápu, jak to děláte
Tuhle větu pronesl obchodní partner, když jsme mu Framework předváděli. Sám dodává aplikaci a ví, jakou dá práci dodat něco rychlého.
A pár měsíců později jsme chystali řešení pro klienta, který importoval přes půl milionu produktů. Produktová databáze stavěná na milion položek dokáže prověřit rychlost každého systému. Ani s tou neměl systém problémy, ale to je jiná písnička. Proč? Protože rychlost Frameworku neurčuje rychlost jednoho selectu, ale svižnost celého kódu.
Proč je AyMINE rychlý
Základem tajemství, proč je framework rychlý, je aplikace. Server se nikdy a nikde nestará od visuální část aplikace. Netvoří tabulky, nedělá rozbalovací seznamy, neotvírá detail záznamu. Všechno dělá aplikace - přeloží texty, vykreslí tlačítka, rozhodne, které funkce se mají provést a která tlačítka je třeba schovat.
Před pár lety, když jsme začínali, jsme vůbec žádný framework dělat nechtěli. Začali jsme Laravel, vyzkoušeli Django, pracovali s Nette. O Symfony ani nemluvě. Všechny mají jedno společné - backend tvoří stránky a ani na rychlých serverech není náročnější aplikace svižná.
Kde AyMINE získá čas
AyMINE načte základní část aplikace při prvním spuštění. Řádově jde o cca 10MB na 4G připojení je to v průměru 5s. Mnoha webovým stránkám to trvá déle. Postupně si aplikace dotahuje další data, aby nezdržovala na začátku. Všechna data jsou od té chvíle uložena u uživatele a znovu se načtou teprve když vývojáři vydají update.
AyMINE si stáhne definice objektů, oken, barev, uživatelských práv, překlady. Od té chvíle už stahuje jenom data. Díky tomu jsou další datové toky mnohem menší, než když se o celé stránky stará server. AyMINE je proto rychlejší i proti systémům, které nemají problém s výkonem serveru - nejenom, že po něm mnoho nechtějí, navíc omezují i datové toky.
Ekologický systém
Rychlost systému je závislá na potřebném výkonu hardware. Díky celkové nenáročnosti stačí systému mu na provoz stačí výrazně méně výkonný hardware, než např. Symfony nebo Laravel - podle porovnání cca 1/3.
Mohlo by se zdát, že přenesení požadavků ze serveru na koncové stanice nic neušetří, jenom se "proud" tedy výkon spotřebuje jinde. Ale není tomu tak. Aplikace beží bez problémů i na letitých mobilech (Andorid 9, 3GB RAM), kde rozhodně žádný přebytečný výkon není.
Aplikaci v AyMINE Frameworku je bez problémů možné provozovat i na letité NAS (Network Access Server, musí ale podporovat PHP8.2 což není standard). Menšímu týmu taková konfigurace stačí, spíš u něj bude problém, že je optimalizovaný na diskové služby, takže má obecně větší latenci.