Pred približno 15 leti sem delal v podjetju, kjer smo gradili aplikacije za potovalne agente, letališke delavce in letalske družbe. Zgradili smo tudi svoje lastno ogrodje za komponente uporabniškega vmesnika in zmogljivosti enostranskih aplikacij. Imeli smo komponente za vse: polja, gumbe, zavihke, obsege, podatkovne tabele, menije, izbirnike datumov, izbire in več izbir. Imeli smo celo komponento div. Mimogrede, naša komponenta div je bila odlična, omogočala nam je delati zaobljene vogale v vseh brskalnikih, kar, verjeli ali ne, takrat ni bilo lahko narediti.

Naše delo je potekalo na točki naše zgodovine, ko so JS, Ajax in dinamični HTML veljali za revolucijo, ki nas je popeljala v prihodnost. Nenadoma smo lahko dinamično posodobili stran, dobili podatke iz strežnika in se izognili navigaciji na druge strani, kar je bilo videti kot počasno in je na zaslonu med obema stranema utripal velik bel pravokotnik. Obstajal je stavek, ki ga je Jeff Atwood (ustanovitelj StackOverflow) razglasil: "Vsaka aplikacija, ki jo je mogoče napisati v JavaScriptu, bo sčasoma napisana v JavaScriptu."— Jeff Atwood

Takrat se nam je to zdelo kot upanje, da bi dejansko ustvarili te aplikacije. Zdelo se je kot splošno odobravanje, da počnem vse z JS. Tako smo vse naredili z JS in si nismo vzeli časa za raziskovanje drugih načinov dela. V resnici nismo čutili spodbude, da bi se pravilno naučili, kaj zmoreta HTML in CSS. Spleta v resnici nismo dojemali kot razvijajoče se platforme aplikacij v celoti. Na to smo večinoma gledali kot na nekaj, kar moramo zaobiti, zlasti ko je šlo za podporo brskalnika. Lahko bi samo dodali več JS-ja, da bi opravili stvari. Ali bi mi kaj pomagalo, če bi si vzel čas in izvedel več o tem, kako splet deluje in kaj je na voljo na platformi? Seveda bi verjetno lahko odstranil kup kode, ki ni bila resnično potrebna. Toda takrat morda ne toliko. Vidite, razlike v brskalnikih so bile takrat precejšnje. To je bil čas, ko je bil Internet Explorer še vedno prevladujoči brskalnik, Firefox pa je bil skoraj drugi, vendar je začel izgubljati tržni delež zaradi Chroma, ki je hitro pridobival na priljubljenosti. Čeprav sta se Chrome in Firefox zelo dobro strinjala glede spletnih standardov, so okolja, v katerih so delovale naše aplikacije, pomenila, da smo morali dolgo časa podpirati IE6. Tudi ko nam je bilo dovoljeno podpirati IE8, smo se še vedno morali ukvarjati z veliko razlikami med brskalniki. Ne samo to, takratni splet preprosto ni imel toliko zmogljivosti, vgrajenih neposredno v platformo.

Hitro naprej do danes. Stvari so se izjemno spremenile. Ne samo, da imamo več teh zmogljivosti kot kadar koli prej, ampak se je povečala tudi stopnja, s katero postanejo na voljo. Naj torej še enkrat postavim vprašanje: ali bi vam danes pomagalo, če bi si vzeli čas in izvedeli več o tem, kako splet deluje in kaj je na voljo na platformi? Absolutno da. Če se danes naučite razumeti in uporabljati spletno platformo, ste v veliki prednosti pred drugimi razvijalci. Ne glede na to, ali delate na zmogljivosti, dostopnosti, odzivnosti, vsem skupaj ali samo na pošiljanju funkcij uporabniškega vmesnika, če želite to storiti kot odgovoren inženir, vam poznavanje orodij, ki so vam na voljo, pomaga hitreje in bolje doseči vaše cilje. Nekatere stvari, za katere morda ne potrebujete več knjižnice Če vemo, kaj brskalniki danes podpirajo, se postavlja vprašanje: kaj lahko opustimo? Ali potrebujemo komponento div za ustvarjanje zaobljenih vogalov leta 2025? Seveda ne. Lastnost border-radius trenutno podpirajo vsi trenutno uporabljeni brskalniki že več kot 15 let. Kmalu bo na voljo tudi kotna oblika za še bolj modne kote. Oglejmo si razmeroma nedavne funkcije, ki so zdaj na voljo v vseh večjih brskalnikih in jih lahko uporabite za zamenjavo obstoječih odvisnosti v svoji kodni bazi. Bistvo ni v tem, da takoj opustite vse svoje ljubljene knjižnice in ponovno napišete svojo kodno zbirko. Kar zadeva vse ostalo, boste morali najprej upoštevati podporo brskalnika in se odločiti na podlagi drugih dejavnikov, značilnih za vaš projekt. Naslednje funkcije so implementirane v treh glavnih motorjih brskalnika (Chromium, WebKit in Gecko), vendar imate morda drugačne zahteve glede podpore brskalnika, zaradi katerih jih ne morete uporabiti takoj. Zdaj je še vedno pravi čas, da se poučite o teh funkcijah in jih morda kdaj nameravate uporabiti. Popkovi in pogovorna okna API Popover, element HTML

in psevdoelement ::backdrop vam lahko pomagajo znebiti se odvisnosti od pojavnih oken,opis orodja in pogovorne knjižnice, kot so Floating UI, Tippy.js, Tether ali React Tooltip. Ukvarjajo se z dostopnostjo in upravljanjem osredotočenosti namesto vas takoj po namestitvi, zelo prilagodljivi so z uporabo CSS in jih je mogoče preprosto animirati. Harmonike Element
, njegov atribut imena za medsebojno izključujoče elemente in psevdoelement ::details-content odpravljajo potrebo po komponentah harmonike, kot sta Bootstrap Accordion ali komponenta React Accordion. Samo uporaba platforme tukaj pomeni, da ljudje, ki poznajo HTML/CSS, lažje razumejo vašo kodo, ne da bi se morali najprej naučiti uporabljati določeno knjižnico. Pomeni tudi, da ste imuni na zlom sprememb v knjižnici ali ukinitev te knjižnice. In seveda pomeni manj kode za prenos in zagon. Medsebojno izključujoči se elementi podrobnosti ne potrebujejo JS za odpiranje, zapiranje ali animiranje. Sintaksa CSS Kaskadni sloji za bolj organizirano kodno osnovo CSS, gnezdenje CSS za bolj kompakten CSS, nove barvne funkcije, relativne barve in mešanje barv, nove matematične funkcije, kot so abs(), sign(), pow() in druge, pomagajo zmanjšati odvisnost od predprocesorjev CSS, knjižnic pripomočkov, kot sta Bootstrap in Tailwind, ali celo knjižnic CSS-in-JS za izvajanje. Sprememba iger :has(), ki je že dolgo ena najbolj zahtevanih funkcij, odpravlja potrebo po bolj zapletenih rešitvah, ki temeljijo na JS. Pripomočki JS Sodobne metode Array, kot so findLast() ali at(), kot tudi metode Set, kot so difference(), intersection(), union() in druge, lahko zmanjšajo odvisnost od knjižnic, kot je Lodash. Poizvedbe vsebnika Vsebniške poizvedbe povzročijo, da se komponente uporabniškega vmesnika odzivajo na stvari, ki niso velikost vidnega polja, in jih zato omogočijo večjo ponovno uporabo v različnih kontekstih. Za to ni več treba uporabljati knjižnice uporabniškega vmesnika, ki je obremenjena z JS, in tudi polifilla ni treba uporabljati. Postavitev Mreža, podmreža, flexbox ali večstolpci so že dolgo prisotni, a če pogledamo rezultate raziskav o stanju CSS, je jasno, da so razvijalci ponavadi zelo previdni pri sprejemanju novih stvari in čakajo zelo dolgo, preden to storijo. Te funkcije so bile že dolgo osnovne in bi jih lahko uporabili, da bi se znebili odvisnosti od stvari, kot so omrežni sistem Bootstrap, pripomočki flexbox Foundation Framework, fiksna mreža Bulma, mreža Materialize ali stolpci Tailwind. Ne pravim, da bi morali opustiti svoj okvir. Vaša ekipa ga je sprejela z razlogom in njegovo odstranjevanje je lahko velik projekt. Če pogledamo, kaj lahko spletna platforma ponudi brez ovoja tretje osebe na vrhu, prinaša veliko prednosti. Stvari, ki jih v bližnji prihodnosti morda ne boste več potrebovali Zdaj pa si na hitro poglejmo nekaj stvari, za katere v bližnji prihodnosti ne boste potrebovali knjižnice. To pomeni, da spodnje stvari še niso povsem pripravljene za množično sprejetje, vendar je lahko njihovo zavedanje in načrtovanje morebitne kasnejše uporabe v pomoč. Pozicioniranje sidra Pozicioniranje sidra CSS skrbi za pozicioniranje pojavnih elementov in namigov orodij glede na druge elemente ter skrbi za njihovo ohranjanje v pogledu, tudi ko premikate, drsite ali spreminjate velikost strani. To je odlično dopolnilo prej omenjenemu Popover API-ju, ki bo še olajšal selitev z zmogljivostno intenzivnejših rešitev JS. API za navigacijo Navigacijski API se lahko uporablja za upravljanje navigacije v enostranskih aplikacijah in je lahko odlično dopolnilo ali celo zamenjava za usmerjevalne naloge React Router, Next.js ali Angular. API za ogled prehodov API za prehode pogleda lahko animira med različnimi stanji strani. Na enostranski aplikaciji to zelo olajša gladke prehode med stanji in vam lahko pomaga, da se znebite knjižnic animacij, kot so Anime.js, GSAP ali Motion.dev. Še bolje, API je mogoče uporabiti tudi z večstranskimi aplikacijami. Se spomnite, ko sem prej rekel, da je bil razlog, da smo v podjetju, kjer sem delal pred 15 leti, izdelali enostranske aplikacije, da bi se izognili belemu utripu ponovnega nalaganja strani med krmarjenjem? Če bi bil ta API takrat na voljo, bi lahko dosegli čudovite učinke prehoda strani brez ogrodja ene strani in brez velikega začetnega prenosa celotne aplikacije. Animacije, ki jih poganja drsenje Animacije, ki jih poganja drsenje, se izvajajo na uporabnikovem položaju drsenja in ne skozi čas, zaradi česar so odlična rešitev za pripovedovanje zgodb in oglede izdelkov. Nekateri ljudje so z njim nekoliko pretiravali, a če ga dobro uporabljate, je lahko zelo učinkovito orodje za načrtovanje in se lahko znebi knjižnic, kot so: ScrollReveal, GSAP Scroll aliWOW.js. Prilagodljive izbire Prilagodljiv select je običajen element

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

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free