Umbes 15 aastat tagasi töötasin ettevõttes, kus ehitasime rakendusi reisibüroodele, lennujaama töötajatele ja lennufirmadele. Samuti lõime oma majasisese raamistiku kasutajaliidese komponentide ja üheleheliste rakenduste võimaluste jaoks. Meil olid komponendid kõige jaoks: väljad, nupud, vahelehed, vahemikud, andmetabelid, menüüd, kuupäevavalijad, valikud ja mitmikvalimised. Meil oli isegi div komponent. Meie div-komponent oli muide suurepärane, võimaldas meil teha ümaraid nurki kõigis brauserites, mida, uskuge või mitte, polnud sel ajal lihtne teha.

Meie töö leidis aset meie ajaloo hetkel, mil JS-i, Ajaxi ja dünaamilist HTML-i peeti revolutsiooniks, mis tõi meid tulevikku. Järsku saime lehte dünaamiliselt värskendada, serverist andmeid hankida ja vältida teistele lehtedele navigeerimist, mida peeti aeglaseks ja kahe lehe vahel vilkus ekraanil suur valge ristkülik. Seal oli fraas, mille tegi populaarseks Jeff Atwood (StackOverflow asutaja), mis kõlas: "Iga rakendus, mida saab JavaScriptis kirjutada, kirjutatakse lõpuks JavaScriptis." - Jeff Atwood

Meie jaoks tundus see tol ajal kui julgus neid rakendusi luua. Tundus nagu üldine heakskiit teha kõike JS-iga. Seega tegime kõik koos JS-iga ja me ei võtnud tegelikult aega, et uurida muid toimimisviise. Me ei tundnud tegelikult stiimulit õppida, mida HTML ja CSS teha võiksid. Me ei tajunud veebi tervikuna areneva rakendusplatvormina. Peamiselt nägime seda kui midagi, mille ümber tuleks töötada, eriti kui tegemist oli brauseri toega. Võiksime lihtsalt rohkem JS-i visata, et asjad tehtud saaks. Kas oleksin aidanud aja võtmine veebi toimimise ja platvormil saadaoleva kohta lisateabe saamiseks? Muidugi, ma oleksin ilmselt võinud maha ajada hulga koodi, mida tegelikult vaja poleks olnud. Kuid tol ajal võib-olla mitte nii palju. Näete, brauseri erinevused olid siis üsna märkimisväärsed. See oli aeg, mil Internet Explorer oli endiselt domineeriv brauser, kus Firefox oli lähedal teisel kohal, kuid hakkas Chrome'i kiire populaarsuse tõttu turuosa kaotama. Kuigi Chrome ja Firefox olid veebistandardite osas üsna head kokku leppima, tingis keskkonnad, milles meie rakendused töötasid, seda, et pidime IE6-d pikka aega toetama. Isegi siis, kui meil lubati IE8-d toetada, pidime siiski leppima paljude brauseritevaheliste erinevustega. Vähe sellest, tolleaegsel veebil polnud lihtsalt platvormi sisse ehitatud nii palju võimalusi.

Kiirelt edasi tänasesse. Asjad on tohutult muutunud. Meil pole neid võimalusi mitte ainult rohkem kui kunagi varem, vaid ka nende kättesaadavaks saamise kiirus on kasvanud. Lubage mul siis uuesti esitada küsimus: kas veebi toimimise ja platvormil saadaoleva kohta lisateabe võtmine aitaks teid täna? Absoluutselt jah. Tänapäeval veebiplatvormi mõistma ja kasutama õppimine annab teile teiste arendajate ees tohutu eelise. Olenemata sellest, kas töötate jõudluse, juurdepääsetavuse, reageerimisvõime (kõik need koos) või lihtsalt kasutajaliidese funktsioonide tarnimisega, kui soovite seda teha vastutustundliku insenerina, aitab teile saadaolevate tööriistade tundmine teil oma eesmärke kiiremini ja paremini saavutada. Mõned asjad, mille jaoks te ei pruugi enam raamatukogu vajada Teades, mida brauserid tänapäeval toetavad, on küsimus järgmine: millest me saame loobuda? Kas vajame 2025. aastal ümarate nurkade tegemiseks div-komponenti? Muidugi, me ei tee seda. Piiriraadiuse atribuuti on toetanud kõik praegu kasutatavad brauserid praegusel hetkel enam kui 15 aastat. Ja peagi on tulemas ka nurgakuju, mis sobib veelgi uhkemate nurkade jaoks. Vaatame suhteliselt hiljutisi funktsioone, mis on nüüd saadaval kõigis suuremates brauserites ja mida saate kasutada koodibaasi olemasolevate sõltuvuste asendamiseks. Asi ei ole selles, et kõik oma armastatud raamatukogud kohe ära visata ja oma koodibaasi ümber kirjutada. Mis puutub kõigesse muusse, siis peate esmalt võtma arvesse brauseri tuge ja otsustama muude teie projektile iseloomulike tegurite põhjal. Järgmised funktsioonid on rakendatud kolmes peamises brauserimootoris (Chromium, WebKit ja Gecko), kuid teil võivad olla erinevad brauseri tuginõuded, mis takistavad teil neid koheselt kasutamast. Praegu on siiski hea aeg nende funktsioonidega tutvumiseks ja võib-olla plaanite neid mingil hetkel kasutada. Hüpikaknad ja dialoogid Popover API, HTML-element

ja pseudoelement ::backdrop aitavad teil vabaneda sõltuvustest hüpikakendest,tööriistavihjed ja dialoogiteegid, nagu ujuv kasutajaliides, Tippy.js, Tether või React Tooltip. Need haldavad teie eest juurdepääsetavust ja fookuse haldamist, on CSS-i abil väga kohandatavad ja neid saab hõlpsasti animeerida. Akordionid Element
, selle atribuut üksteist välistavate elementide nimi ja pseudoelement ::details-content eemaldavad vajaduse akordionikomponentide, nagu Bootstrap Accordion või React Accordion, järele. Ainuüksi siinse platvormi kasutamine tähendab, et HTML-i/CSS-i tundvatel inimestel on lihtsam teie koodi mõista, ilma et nad peaksid kõigepealt õppima konkreetset teeki kasutama. See tähendab ka, et olete immuunne teegis toimuvate muudatuste või selle teegi katkestamise suhtes. Ja loomulikult tähendab see vähem allalaaditavat ja käivitatavat koodi. Üksteist välistavad üksikasjad ei vaja avamiseks, sulgemiseks ega animeerimiseks JS-i. CSS-i süntaks Kaskaadkihid organiseerituma CSS-koodibaasi jaoks, CSS-i pesastamine, kompaktsema CSS-i jaoks, uued värvifunktsioonid, suhtelised värvid ja värvide segu, uued matemaatikafunktsioonid, nagu abs(), sign(), pow() ja teised, aitavad vähendada sõltuvust CSS-i eelprotsessoritest, utiliitide teekidest nagu Bootstrap ja Tailwind või isegi Runtime CSSbraries. Mänguvahetaja :has(), mis on pikka aega üks nõutumaid funktsioone, eemaldab vajaduse keerulisemate JS-põhiste lahenduste järele. JS Utilities Kaasaegsed massiivimeetodid, nagu findLast() või at(), samuti määramismeetodid, nagu different(), intersection(), union() ja teised, võivad vähendada sõltuvusi teekidest nagu Lodash. Konteinerite päringud Konteinerpäringud panevad kasutajaliidese komponendid reageerima muudele asjadele peale vaateava suuruse ja muudavad need seetõttu erinevates kontekstides korduvkasutatavamaks. Selle jaoks pole vaja enam kasutada JS-i rasket kasutajaliidese teeki ega ka polütäitet. Paigutus Grid, subgrid, flexbox või multi-column on olnud kasutusel juba pikka aega, kuid CSS-i seisukorra uuringute tulemusi vaadates on selge, et arendajad kipuvad olema uute asjade kasutuselevõtmisel väga ettevaatlikud ja ootavad väga kaua, enne kui nad seda teevad. Need funktsioonid on olnud juba pikka aega Baseline ja saate neid kasutada, et vabaneda sõltuvustest sellistest asjadest nagu Bootstrapi võrgusüsteem, Foundation Frameworki paindlikud utiliidid, Bulma fikseeritud võrk, Materialize grid või Tailwindi veerud. Ma ei ütle, et peaksite oma raamistikust loobuma. Teie meeskond võttis selle kasutusele põhjusel ja selle eemaldamine võib olla suur projekt. Kuid vaadates, mida veebiplatvorm suudab pakkuda ilma kolmanda osapoole ümbriseta, on sellel palju eeliseid. Asjad, mida te ei pruugi lähitulevikus enam vajada Vaatame nüüd lühidalt mõningaid asju, mille jaoks te lähitulevikus raamatukogu ei vaja. See tähendab, et alltoodud asjad pole massiliseks kasutuselevõtuks päris valmis, kuid nende teadvustamine ja võimaliku hilisema kasutamise planeerimine võib olla abiks. Ankru positsioneerimine CSS-i ankurpositsioneerimine käsitleb hüpikaknate ja tööriistavihjete positsioneerimist teiste elementide suhtes ning hoolitseb nende nähtavana hoidmise eest isegi lehe liigutamisel, kerimisel või suuruse muutmisel. See on suurepärane täiendus eelnevalt mainitud Popover API-le, mis muudab jõudlusmahukamatest JS-lahendustest lahkumise veelgi lihtsamaks. Navigatsiooni API Navigatsiooni API-t saab kasutada navigeerimise haldamiseks ühelehelistes rakendustes ja see võib olla suurepärane täiendus või isegi asendaja React Routeri, Next.js marsruutimise või Angular marsruutimise ülesannetele. Kuva Transitions API View Transitions API saab animeerida lehe erinevate olekute vahel. Ühelehelises rakenduses muudab see sujuva ülemineku olekute vahel väga lihtsaks ja aitab teil vabaneda animatsiooniteekidest, nagu Anime.js, GSAP või Motion.dev. Veelgi parem, API-t saab kasutada ka mitmeleheliste rakendustega. Kas mäletate varem, kui ütlesin, et põhjus, miks me ettevõttes, kus ma 15 aastat tagasi töötasin, ühelehelisi rakendusi ehitasime, oli see, et vältida navigeerimisel lehtede uuesti laadimise valget välku? Kui see API oleks sel ajal saadaval, oleksime suutnud saavutada ilusaid lehe üleminekuefekte ilma ühelehelise raamistikuta ja ilma kogu rakenduse tohutu esialgse allalaadimiseta. Kerimisega juhitavad animatsioonid Kerimisega juhitavad animatsioonid töötavad kasutaja kerimisasendis, mitte aja jooksul, muutes need suurepäraseks lahenduseks jutuvestmiseks ja tooteringkäikudeks. Mõned inimesed on sellega pisut liiale läinud, kuid hästi kasutades võib see olla väga tõhus disainitööriist ja aitab vabaneda sellistest teekidest nagu: ScrollReveal, GSAP Scroll võiWOW.js. Kohandatavad valikud Kohandatav valik on tavaline element

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

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free