Asi pred 15 rokmi som pracoval v spoločnosti, kde sme vytvárali aplikácie pre cestovné kancelárie, pracovníkov na letiskách a letecké spoločnosti. Vytvorili sme tiež vlastný interný rámec pre komponenty používateľského rozhrania a možnosti jednostránkových aplikácií. Mali sme komponenty pre všetko: polia, tlačidlá, karty, rozsahy, dátové tabuľky, ponuky, nástroje na výber dátumu, výbery a viacnásobné výbery. Dokonca sme mali aj komponent div. Náš komponent div bol mimochodom skvelý, umožnil nám robiť zaoblené rohy vo všetkých prehliadačoch, čo, verte alebo nie, v tom čase nebolo ľahké.

Naša práca sa odohrala v bode našej histórie, keď sa JS, Ajax a dynamické HTML považovali za revolúciu, ktorá nás priviedla do budúcnosti. Zrazu sme mohli dynamicky aktualizovať stránku, získavať údaje zo servera a vyhnúť sa nutnosti prechádzať na iné stránky, čo sa javilo ako pomalé a na obrazovke medzi dvoma stránkami blikal veľký biely obdĺžnik. Bola tam fráza, ktorú spopularizoval Jeff Atwood (zakladateľ StackOverflow), ktorá znela: „Akákoľvek aplikácia, ktorá môže byť napísaná v JavaScripte, bude nakoniec napísaná v JavaScripte.“ — Jeff Atwood

V tom čase nám to pripadalo ako odvaha skutočne ísť a vytvoriť tieto aplikácie. Bolo to ako všeobecný súhlas robiť všetko s JS. Takže sme urobili všetko s JS a naozaj sme si nenašli čas na skúmanie iných spôsobov, ako robiť veci. V skutočnosti sme necítili motiváciu správne sa naučiť, čo HTML a CSS dokážu. V skutočnosti sme web nevnímali ako vyvíjajúcu sa platformu aplikácií ako celok. Väčšinou sme to vnímali ako niečo, čo musíme vyriešiť, najmä pokiaľ ide o podporu prehliadačov. Mohli by sme na to hodiť viac JS, aby sme veci urobili. Pomohlo by mi nájsť si čas a dozvedieť sa viac o tom, ako web fungoval a čo bolo dostupné na platforme? Iste, pravdepodobne som mohol oholiť veľa kódu, ktorý nebol skutočne potrebný. Ale v tom čase možno nie až tak veľa. Vidíte, rozdiely v prehliadačoch boli vtedy dosť významné. Bolo to obdobie, keď bol Internet Explorer stále dominantným prehliadačom, pričom Firefox bol tesne druhý, ale začal strácať podiel na trhu, pretože Chrome rýchlo získaval na popularite. Hoci Chrome a Firefox boli celkom dobré v zhode na webových štandardoch, prostredia, v ktorých naše aplikácie bežali, znamenali, že sme museli IE6 podporovať na dlhú dobu. Aj keď sme mohli podporovať IE8, stále sme sa museli vysporiadať s mnohými rozdielmi medzi prehliadačmi. Nielen to, ale web tej doby jednoducho nemal toľko možností zabudovaných priamo do platformy.

Rýchlo vpred k dnešku. Veci sa ohromne zmenili. Nielenže máme viac týchto schopností ako kedykoľvek predtým, ale zvýšila sa aj miera ich dostupnosti. Dovoľte mi položiť otázku ešte raz: Pomohlo by vám, keby ste si našli čas a dozvedeli sa viac o tom, ako web funguje a čo je na platforme dostupné? Absolútne áno. Naučiť sa porozumieť a používať webovú platformu dnes vám dáva obrovskú výhodu oproti ostatným vývojárom. Či už pracujete na výkone, prístupnosti, odozve, všetko dohromady, alebo len dodávate funkcie používateľského rozhrania, ak to chcete robiť ako zodpovedný inžinier, znalosť nástrojov, ktoré máte k dispozícii, vám pomôže rýchlejšie a lepšie dosiahnuť vaše ciele. Niektoré veci, na ktoré už možno nebudete potrebovať knižnicu Keď vieme, aké prehliadače dnes podporujú, otázka teda znie: Čo môžeme zavrhnúť? Potrebujeme komponent div na vytvorenie zaoblených rohov v roku 2025? Samozrejme, že nie. Vlastnosť border-radius je v súčasnosti podporovaná všetkými aktuálne používanými prehliadačmi už viac ako 15 rokov. A čoskoro príde aj tvar rohov, pre ešte elegantnejšie rohy. Pozrime sa na relatívne najnovšie funkcie, ktoré sú teraz dostupné vo všetkých hlavných prehliadačoch a ktoré môžete použiť na nahradenie existujúcich závislostí vo vašej kódovej základni. Nejde o to okamžite zahodiť všetky svoje milované knižnice a prepísať svoju kódovú základňu. Pokiaľ ide o všetko ostatné, musíte najprv vziať do úvahy podporu prehliadača a rozhodnúť sa na základe iných faktorov špecifických pre váš projekt. Nasledujúce funkcie sú implementované v troch hlavných nástrojoch prehliadača (Chromium, WebKit a Gecko), ale môžete mať odlišné požiadavky na podporu prehliadača, ktoré vám bránia v ich okamžitom použití. Teraz je však stále ten správny čas dozvedieť sa o týchto funkciách a možno ich niekedy plánujete použiť. Popovers A Dialógy Rozhranie Popover API, prvok HTML

a pseudoprvok ::backdrop vám môžu pomôcť zbaviť sa závislostí na kontextových oknách,tooltip a dialógové knižnice, ako napríklad Floating UI, Tippy.js, Tether alebo React Tooltip. Zvládajú dostupnosť a správu zamerania za vás, hneď po vybalení, sú vysoko prispôsobiteľné pomocou CSS a možno ich jednoducho animovať. Harmoniky Element
, jeho atribút name pre vzájomne sa vylučujúce prvky a pseudoelement ::details-content odstraňujú potrebu akordeónových komponentov ako Bootstrap Accordion alebo React Accordion. Len používanie platformy tu znamená, že pre ľudí, ktorí poznajú HTML/CSS, je jednoduchšie porozumieť vášmu kódu bez toho, aby sa museli najprv naučiť používať konkrétnu knižnicu. Znamená to tiež, že ste imúnny voči narušeniu zmien v knižnici alebo zrušeniu tejto knižnice. A, samozrejme, to znamená menej kódu na stiahnutie a spustenie. Vzájomne sa vylučujúce prvky detailov nepotrebujú JS na otvorenie, zatvorenie alebo animáciu. Syntax CSS Kaskádové vrstvy, pre organizovanejšiu kódovú základňu CSS, vnorenie CSS, kompaktnejšie CSS, nové farebné funkcie, relatívne farby a mix farieb, nové matematické funkcie ako abs(), sign(), pow() a ďalšie pomáhajú znižovať závislosti od predprocesorov CSS, knižníc nástrojov ako Bootstrap a Tailwind alebo dokonca runtime knižníc CSS-in-JS. Game changer :has(), jedna z dlhodobo najžiadanejších funkcií, odstraňuje potrebu komplikovanejších riešení založených na JS. JS Utilities Moderné metódy Array ako findLast() alebo at(), ako aj metódy Set, ako je rozdiel(), intersection(), union() a ďalšie, môžu znížiť závislosti na knižniciach, ako je Lodash. Kontajnerové dopyty Kontajnerové dopyty spôsobujú, že komponenty používateľského rozhrania reagujú na iné veci, ako je veľkosť výrezu, a preto sú viacnásobne použiteľné v rôznych kontextoch. Na to už nie je potrebné používať knižnicu používateľského rozhrania s vysokým obsahom JS a nie je potrebné používať ani polyfill. Rozloženie Grid, subgrid, flexbox alebo multi-column sú tu už dlho, ale pri pohľade na výsledky prieskumov State of CSS je jasné, že vývojári majú tendenciu byť veľmi opatrní pri prijímaní nových vecí a veľmi dlho čakajú, kým tak urobia. Tieto funkcie sú základnou líniou už dlhú dobu a môžete ich použiť na zbavenie sa závislostí na veciach, ako je mriežkový systém Bootstrap, nástroje flexbox Foundation Framework, pevná mriežka Bulma, mriežka Materialize alebo stĺpce Tailwind. Nehovorím, že by ste mali zahodiť svoj rámec. Váš tím ho prijal z nejakého dôvodu a jeho odstránenie môže byť veľký projekt. Ale pohľad na to, čo môže webová platforma ponúknuť bez obalu tretej strany navrchu, prináša množstvo výhod. Veci, ktoré už v blízkej budúcnosti možno nebudete potrebovať Teraz sa stručne pozrime na niektoré z vecí, na ktoré v blízkej budúcnosti nebudete potrebovať knižnicu. To znamená, že veci uvedené nižšie nie sú celkom pripravené na masové prijatie, ale uvedomenie si ich a plánovanie potenciálneho neskoršieho použitia môže byť užitočné. Umiestnenie kotvy Umiestnenie kotvy CSS sa stará o umiestňovanie kontextových okien a popisov vo vzťahu k iným prvkom a stará sa o to, aby boli viditeľné aj pri presúvaní, posúvaní alebo zmene veľkosti stránky. Ide o skvelý doplnok k vyššie uvedenému Popover API, ktorý ešte viac uľahčí migráciu z výkonovo náročnejších JS riešení. Navigačné API Navigačné API možno použiť na ovládanie navigácie v jednostránkových aplikáciách a môže byť skvelým doplnkom alebo dokonca náhradou úloh React Router, Next.js alebo Angular routing. Zobraziť rozhranie API prechodov Rozhranie View Transitions API dokáže animovať medzi rôznymi stavmi stránky. V jednostránkovej aplikácii to veľmi uľahčuje plynulé prechody medzi stavmi a môže vám to pomôcť zbaviť sa knižníc animácií, ako sú Anime.js, GSAP alebo Motion.dev. Ešte lepšie je, že API možno použiť aj s viacstránkovými aplikáciami. Pamätáte si predtým, keď som povedal, že dôvodom, prečo sme v spoločnosti, kde som pred 15 rokmi pracoval, sme vytvorili jednostránkové aplikácie, bolo vyhnúť sa bielemu záblesku opätovného načítania stránok pri navigácii? Keby bolo toto API v tom čase k dispozícii, boli by sme schopní dosiahnuť krásne efekty prechodu stránok bez rámca jednej stránky a bez veľkého počiatočného sťahovania celej aplikácie. Animácie poháňané rolovaním Animácie riadené posúvaním bežia na pozícii posúvania používateľa, nie v priebehu času, čo z nich robí skvelé riešenie pre rozprávanie príbehov a prehliadky produktov. Niektorí ľudia to trochu prehnali, ale keď sa dobre používa, môže to byť veľmi efektívny nástroj na navrhovanie a môže pomôcť zbaviť sa knižníc ako: ScrollReveal, GSAP Scroll aleboWOW.js. Prispôsobiteľné výbery Prispôsobiteľný výber je normálny prvok

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free