Maždaug prieš 15 metų dirbau įmonėje, kurioje kūrėme programas kelionių agentams, oro uostų darbuotojams ir oro linijų bendrovėms. Taip pat sukūrėme savo vidines sąsajos komponentų ir vieno puslapio programų galimybių sistemą. Turėjome viskam skirtus komponentus: laukus, mygtukus, skirtukus, diapazonus, duomenų lenteles, meniu, datos rinkiklius, pasirinkimus ir kelis pasirinkimus. Mes netgi turėjome div komponentą. Mūsų div komponentas, beje, buvo puikus, jis leido daryti užapvalintus kampus visose naršyklėse, o tai, patikėkite ar ne, tuo metu nebuvo lengvas dalykas.

Mūsų darbas vyko mūsų istorijos momentu, kai JS, Ajax ir dinaminis HTML buvo laikomi revoliucija, atvedusia mus į ateitį. Staiga galėjome dinamiškai atnaujinti puslapį, gauti duomenis iš serverio ir išvengti naršymo į kitus puslapius, o tai buvo lėta ir ekrane tarp dviejų puslapių mirgėjo didelis baltas stačiakampis. Buvo frazė, kurią išpopuliarino Jeffas Atwoodas (StackOverflow įkūrėjas), kuri skambėjo: „Bet kokia programa, kurią galima parašyti JavaScript, galiausiai bus parašyta JavaScript“ – Jeffas Atwoodas

Tuo metu mums tai atrodė kaip išdrįsimas iš tikrųjų eiti ir kurti tas programas. Jaučiausi kaip visiškas sutikimas daryti viską su JS. Taigi mes padarėme viską su JS ir tikrai neskyrėme laiko tyrinėti kitų būdų, kaip elgtis. Mes tikrai nejautėme paskatos tinkamai išmokti, ką gali padaryti HTML ir CSS. Mes tikrai nesuvokėme žiniatinklio kaip visos besivystančios programų platformos. Dažniausiai tai matėme kaip kažką, ką reikia apeiti, ypač kai tai susiję su naršyklės palaikymu. Galėtume tiesiog įdėti daugiau JS, kad galėtume atlikti reikalus. Ar skyręs laiko sužinoti daugiau apie tai, kaip veikia žiniatinklis ir kas yra platformoje, man būtų padėję? Žinoma, tikriausiai galėjau nusiskusti daugybę kodų, kurių tikrai nereikėjo. Bet tuo metu gal ne tiek daug. Matote, naršyklių skirtumai tada buvo gana dideli. Tai buvo laikas, kai „Internet Explorer“ vis dar buvo dominuojanti naršyklė, o „Firefox“ buvo beveik antroji, tačiau pradėjo prarasti rinkos dalį dėl sparčiai populiarėjančios „Chrome“. Nors „Chrome“ ir „Firefox“ gana gerai susitarė dėl žiniatinklio standartų, aplinka, kurioje veikė mūsų programos, lėmė, kad ilgą laiką turėjome palaikyti IE6. Net kai mums buvo leista palaikyti IE8, vis tiek turėjome susidurti su daugybe naršyklių skirtumų. Negana to, to meto žiniatinklis tiesiog neturėjo tiek daug galimybių platformoje.

Greitai į priekį į šiandieną. Viskas labai pasikeitė. Šių galimybių ne tik turime daugiau nei bet kada anksčiau, bet ir sparčiai, kuriais jos tampa prieinamos, padidėjo. Leiskite man dar kartą užduoti klausimą: ar skirdami laiko daugiau sužinoti apie tai, kaip veikia žiniatinklis ir kas yra platformoje, jums padėtų šiandien? Visiškai taip. Išmokę suprasti žiniatinklio platformą ir ja naudotis šiandien, įgyjate didžiulį pranašumą prieš kitus kūrėjus. Nesvarbu, ar dirbate su našumu, prieinamumu, reagavimu, visa tai kartu, ar tiesiog pristatote vartotojo sąsajos funkcijas, jei norite tai daryti kaip atsakingas inžinierius, žinodami jums prieinamus įrankius galėsite greičiau ir geriau pasiekti savo tikslus. Kai kurie dalykai, kuriems jums gali nebereikėti bibliotekos Žinant, ką šiandien palaiko naršyklės, kyla klausimas: ko galime atsisakyti? Ar mums reikia div komponento, kad 2025 m. padarytume užapvalintus kampus? Žinoma, mes ne. Sienos spindulio ypatybę šiuo metu palaiko visos šiuo metu naudojamos naršyklės daugiau nei 15 metų. Netrukus pasirodys ir kampo forma, skirta dar įdomesniems kampams. Pažvelkime į palyginti naujausias funkcijas, kurios dabar pasiekiamos visose pagrindinėse naršyklėse ir kurias galite naudoti norėdami pakeisti esamas priklausomybes savo kodų bazėje. Esmė ne iš karto atsisakyti visų mėgstamų bibliotekų ir perrašyti savo kodų bazę. Kalbant apie visa kita, pirmiausia turėsite atsižvelgti į naršyklės palaikymą ir nuspręsti pagal kitus jūsų projektui būdingus veiksnius. Toliau nurodytos funkcijos įdiegtos trijuose pagrindiniuose naršyklės varikliuose („Chromium“, „WebKit“ ir „Gecko“), tačiau gali būti taikomi skirtingi naršyklės palaikymo reikalavimai, dėl kurių negalite jų iš karto naudoti. Vis dėlto dabar vis dar tinkamas metas sužinoti apie šias funkcijas ir galbūt kada nors planuoti jas panaudoti. Iššokimai ir dialogai Popover API,

HTML elementas ir ::backdrop pseudoelementas gali padėti atsikratyti priklausomybės nuo iššokančiųjų langų,patarimas ir dialogo langų bibliotekos, pvz., slankioji vartotojo sąsaja, Tippy.js, „Tether“ arba „React“ patarimas. Jie tvarko prieinamumą ir fokusavimo valdymą už jus, iš karto yra lengvai pritaikomi naudojant CSS ir gali būti lengvai animuojami. Akordeonai Elementas
, jo pavadinimo atributas vienas kitą paneigiantiems elementams ir ::details-content pseudoelementas pašalina akordeono komponentų, pvz., Bootstrap Accordion arba React Accordion komponento, poreikį. Naudojant platformą čia, žmonėms, žinantiems HTML / CSS, lengviau suprasti jūsų kodą, prieš tai neišmokę naudotis konkrečia biblioteka. Tai taip pat reiškia, kad esate atsparus bibliotekos pakeitimams arba tos bibliotekos nutraukimui. Ir, žinoma, tai reiškia, kad reikia mažiau atsisiųsti ir paleisti kodo. Abipusiai išskirtinių detalių elementams nereikia JS atidaryti, uždaryti ar animuoti. CSS sintaksė Kaskadiniai sluoksniai, skirti labiau organizuotai CSS kodų bazei, CSS įdėjimui, kompaktiškesniam CSS, naujoms spalvų funkcijoms, santykinėms spalvoms ir spalvų derinimui, naujos matematikos funkcijos, pvz., abs(), sign(), pow() ir kitos, padeda sumažinti priklausomybę nuo CSS išankstinių procesorių, paslaugų bibliotekų, tokių kaip Bootstrap ir Tailwind, ar net runtime CSSbraries. Žaidimų keitiklis :has(), ilgą laiką viena iš labiausiai pageidaujamų funkcijų, pašalina sudėtingesnių JS pagrįstų sprendimų poreikį. JS komunalinės paslaugos Šiuolaikiniai masyvo metodai, tokie kaip findLast() arba at(), taip pat Set metodai, tokie kaip skirtumas(), intersection(), union() ir kiti, gali sumažinti priklausomybę nuo bibliotekų, tokių kaip Lodash. Sudėtinio rodinio užklausos Sudėtinio rodinio užklausos verčia vartotojo sąsajos komponentus reaguoti į kitus dalykus nei peržiūros srities dydis, todėl juos galima pakartotinai naudoti įvairiuose kontekstuose. Tam nebereikia naudoti JS sunkios vartotojo sąsajos bibliotekos, taip pat nereikia naudoti polifilo. Išdėstymas Grid, subgrid, flexbox arba multi-column jau seniai egzistuoja, tačiau žvelgiant į CSS būklės tyrimų rezultatus akivaizdu, kad kūrėjai linkę būti labai atsargūs priimdami naujus dalykus ir laukia labai ilgai, kol tai padarys. Šios funkcijos buvo pradinės jau ilgą laiką ir jas galite naudoti norėdami atsikratyti priklausomybės nuo tokių dalykų kaip „Bootstrap“ tinklelio sistema, „Fundument Framework“ lanksčios dėžutės paslaugos, „Bulma“ fiksuotas tinklelis, „Materialize“ tinklelis arba „Tailwind“ stulpeliai. Aš nesakau, kad turėtumėte atsisakyti savo sistemos. Jūsų komanda jį priėmė dėl priežasties, o jo pašalinimas gali būti didelis projektas. Tačiau pažvelgus į tai, ką žiniatinklio platforma gali pasiūlyti be trečiosios šalies pakuotės viršuje, gaunama daug privalumų. Daiktai, kurių jums gali nebereikėti artimiausioje ateityje Dabar trumpai pažvelkime į kai kuriuos dalykus, kuriems artimiausiu metu bibliotekos nereikės. Tai reiškia, kad toliau pateikti dalykai nėra visiškai paruošti masiniam pritaikymui, tačiau gali būti naudinga juos žinoti ir planuoti galimą vėlesnį naudojimą. Inkaro padėties nustatymas CSS prieraišo padėties nustatymas tvarko iššokančių langų ir patarimų padėtį, palyginti su kitais elementais, ir rūpinasi, kad jie būtų matomi net judant, slenkant ar keičiant puslapį. Tai puikiai papildo anksčiau minėtą Popover API, kuri leis dar lengviau pereiti nuo didesnio našumo reikalaujančių JS sprendimų. Navigacijos API Navigacijos API galima naudoti naršymui vieno puslapio programose ir gali puikiai papildyti ar net pakeisti „React Router“, „Next.js“ maršruto parinkimo ar kampinio maršruto parinkimo užduotis. Peržiūrėti Transitions API Perėjimų peržiūros API gali animuoti skirtingas puslapio būsenas. Vieno puslapio programoje tai labai palengvina sklandų perėjimą tarp būsenų ir gali padėti atsikratyti animacijos bibliotekų, tokių kaip Anime.js, GSAP arba Motion.dev. Dar geriau, API taip pat gali būti naudojama su kelių puslapių programomis. Prisiminkite anksčiau, kai sakiau, kad priežastis, dėl kurios įmonėje, kurioje dirbau prieš 15 metų, sukūrėme vieno puslapio programėles, buvo siekis išvengti balto puslapio įkėlimo blyksnio naršant? Jei tuo metu būtų buvusi ta API, būtume galėję pasiekti gražių puslapio perėjimo efektų be vieno puslapio sistemos ir be didžiulio pradinio visos programos atsisiuntimo. Slinkimo valdomos animacijos Slinkimu pagrįstos animacijos veikia naudotojo slinkimo padėtyje, o ne laikui bėgant, todėl jos yra puikus sprendimas pasakojimui ir produktų apžvalgoms. Kai kurie žmonės su juo persistengė, bet gerai naudojant tai gali būti labai efektyvus projektavimo įrankis ir gali padėti atsikratyti tokių bibliotekų kaip: ScrollReveal, GSAP Scroll arbaWOW.js. Pritaikomi pasirinkimai Tinkinamas pasirinkimas yra įprastas

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

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free