Když stavíš klienta, REST nebo GraphQL rozhodne o údržbě

Z Mazovia
Wersja z dnia 17:56, 1 paź 2026 autorstwa MeghanBtq7232093 (dyskusja | edycje) (Utworzono nową stronę "Volba mezi REST a GraphQL se nepozná podle toho, co je modernější, ale podle tvaru dat a počtu klientů. REST je sada samostatných endpointů, každý [https://www.brandsreviews.com/search?keyword=vrac%C3%AD%20pevnou vrací pevnou] strukturu. GraphQL je jeden endpoint s dotazovacím jazykem, kde si klient určí, která pole chce. První otázka tedy zní: mají klienti podobné potřeby, nebo se výrazně liší? Pokud ano, GraphQL šetří přenos dat i po…")
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)

Volba mezi REST a GraphQL se nepozná podle toho, co je modernější, ale podle tvaru dat a počtu klientů. REST je sada samostatných endpointů, každý vrací pevnou strukturu. GraphQL je jeden endpoint s dotazovacím jazykem, kde si klient určí, která pole chce. První otázka tedy zní: mají klienti podobné potřeby, nebo se výrazně liší? Pokud ano, GraphQL šetří přenos dat i počet verzí. Pokud ne, REST je jednodušší na pochopení i provoz.

Nakonec se nebojte kombinace. REST pro veřejné a souborové endpointy, GraphQL pro složité čtecí scénáře uvnitř produktu. Rozhodujte podle konkrétních dotazů, které klienti posílají, ne podle toho, co zní moderněji. Změřte počet požadavků na obrazovku, velikost odpovědí a dobu odezvy. Teprve čísla ukážou, zda se vyplatí měnit architekturu.

Nakonec si hlídejte slovník. Slova jako „určitě", „stoprocentně" nebo „do té doby to bude" znějí dobře, ale vytvářejí závazek, který nemůžete splnit. Nahraďte je slovy „předpokládám", „odhaduji", „pokud se nic nezmění". Není to slabost, je to přesnost. Klient, který slyší poctivý odhad s podmínkami, vám bude věřit i tehdy, když se termín posune. Klient, který slyšel slib, vám nebude věřit už nikdy.

Pozor na zámek dodavatele. Pokud databáze používá vlastní rozšíření nebo nestandardní dialekt SQL, přenos jinam bude bolet. Ptej se předem, jaké nástroje umožňují export a jestli formát zálohy odpovídá standardu. Stejně tak sleduj, jak se chová připojení při výpadku sítě. Automatické obnovení spojení zní samozřejmě, ale v praxi bývá zdrojem chyb, které se projeví až za týden. Otestuj to dřív, než na tom postavíš provoz.

Zvažte i tým a nástroje. GraphQL vyžaduje schéma, které se musí udržovat, a klienti často generují typy. To je výhoda v typovaných jazycích, ale znamená to další rekonstrukce koupelny krok za krokem v CI. REST zvládne i malý tým bez speciálních znalostí. Pokud potřebujete rychle dodat první verzi a rozsah dat je malý, začněte RESTem. GraphQL přidejte ve chvíli, kdy vás opakované požadavky na složení dat skutečně brzdí, ne dřív.

Na konci porovnej jen dvě věci: jak dlouho trvá obnova a kolik práce dá přejít jinam. Pokud jsou obě čísla přijatelná, rozhodni se podle toho, co umí tvůj tým. Technologie, kterou nikdo neumí ovládat, je dražší než ta, která má vyšší cenu za provoz.

CSS se připojuje buď přímo do dokumentu, nebo jako samostatný soubor. Samostatný soubor je lepší, protože se stejné styly dají použít na více stránkách a prohlížeč si je uloží do mezipaměti. Selektorů existuje několik typů: podle názvu značky, podle třídy a podle identifikátoru. Třídy se používají opakovaně, identifikátor má být na stránce jen jednou. Záměna těchto dvou věcí vede k nepředvídatelným výsledkům a kódu, kterému po týdnu nikdo nerozumí.

U dávkového vkládání a hromadných aktualizací se často objevuje jiná chyba: aplikace spojí do jednoho dotazu a zapomene, že počet parametrů musí odpovídat počtu zástupných symbolů. Pokud se počet neshoduje, vývojář sáhne po ručním skládání a tím vrátí injektáž zpět do hry. Bezpečnější je zpracovat dávku po menších částech nebo použít jeden připravený dotaz v cyklu, i za cenu mírně vyšší režie.

Klient se ptá, kdy bude hotovo. Většina lidí v tu chvíli řekne číslo, které zní dobře, a doufá, že to nějak vyjde. To je první chyba. Odhad není slib a čím víc se tváří jako slib, tím horší je následek, když se posune. Cílem není klienta potěšit v tuto chvíli, ale udržet důvěru i za měsíc, až se bude ptát znovu.

Neurčitost není slabost, mlčení o rizicích ano Neurčitý odhad neznamená, že nemáte říct nic. Znamená, že k číslu přidáte podmínky. „Tři týdny, pokud se nezmění rozsah a pokud do dvou dnů dostanu přístupy" je konkrétnější než „tři týdny" a zároveň vás chrání. Vypište dvě až tři věci, které odhad mohou posunout, a dejte je klientovi písemně. Když se pak něco změní, nejednáte o výmluvu, ale o dříve pojmenované riziko.

Prvním krokem je změřit skutečnou latenci mezi aplikací a databází. Vezmi reálný provoz, ne testovací dotazy na prázdných tabulkách. Zjisti, jestli převažují čtení, nebo zápisy, jak velké jsou výsledné sady a jestli dotazy používají indexy. Pokud databáze běží na jiném místě než aplikace, každý dotaz zaplatí síťovou režii. U jednoduchých dotazů se to nasčítá do sekund, u analytických už tak dlouhých dotazů to zmizí. Tohle číslo rozhoduje víc než cena za gigabajt.

rekonstrukce koupelny krok za krokemčněte tím, že oddělíte odhad od závazku. Místo „bude to do pátku" řekněte „pracovní odhad je pět dní, ale závazek vám dám, až projdeme zadání". Tím se z rozhovoru stane plánování, ne soutěž v optimismu. Pokud klient tlačí na konkrétní datum, je to signál, že potřebuje naplánovat něco dalšího. Zeptejte se čeho. Často zjistíte, že mu stačí vědět, kdy začnete, ne kdy skončíte.