Noin 15 vuotta sitten työskentelin yrityksessä, jossa rakensimme sovelluksia matkatoimistoille, lentokenttätyöntekijöille ja lentoyhtiöille. Rakensimme myös oman sisäisen viitekehyksemme käyttöliittymäkomponenteille ja yksisivuisille sovellusominaisuuksille. Meillä oli komponentteja kaikkeen: kentät, painikkeet, välilehdet, alueet, tietotaulukot, valikot, päivämäärän valitsimet, valinnat ja monivalinta. Meillä oli jopa div-komponentti. Div-komponenttimme oli muuten loistava, sillä pystyimme pyöristämään kulmia kaikilla selaimilla, mikä ei ollut helppoa, uskokaa tai älkää.

Työmme tapahtui ajankohtana historiassamme, jolloin JS, Ajax ja dynaaminen HTML nähtiin vallankumouksena, joka toi meidät tulevaisuuteen. Yhtäkkiä pystyimme päivittämään sivun dynaamisesti, saamaan tietoja palvelimelta ja välttämään siirtymisen muille sivuille, mikä nähtiin hitaana ja välkkyi näytöllä iso valkoinen suorakulmio kahden sivun välissä. Siellä oli lause, jonka Jeff Atwood (StackOverflown perustaja) teki suosituksi ja joka kuului: "Kaikki sovellukset, jotka voidaan kirjoittaa JavaScriptillä, kirjoitetaan lopulta JavaScriptillä." - Jeff Atwood

Meistä tuolloin tämä tuntui uskallusta todella mennä luomaan nuo sovellukset. Tuntui yleiseltä hyväksynnältä tehdä kaikki JS:n kanssa. Joten teimme kaiken JS:n kanssa, emmekä käyttäneet aikaa muiden tapojen tutkimiseen. Emme todellakaan tunteneet kannustinta oppia kunnolla, mitä HTML ja CSS voivat tehdä. Emme todellakaan nähneet verkkoa kehittyvänä sovellusalustana kokonaisuudessaan. Näkimme sen enimmäkseen asiana, jota meidän piti kiertää, varsinkin kun kyse oli selaimen tuesta. Voisimme vain heittää enemmän JS:ää saadaksemme asiat tehtyä. Olisiko aikaa oppia lisää siitä, miten verkko toimii ja mitä alustalla oli saatavilla, olisin auttanut minua? Toki, olisin voinut luultavasti leikata joukon koodia, jota ei todellakaan tarvittu. Mutta tuolloin ehkä ei niin paljon. Katsos, selainerot olivat melko merkittäviä tuolloin. Tuolloin Internet Explorer oli edelleen hallitseva selain, jossa Firefox oli lähellä toista, mutta alkoi menettää markkinaosuuttaan Chromen nopean suosion vuoksi. Vaikka Chrome ja Firefox olivat melko hyviä sopimaan verkkostandardeista, ympäristöt, joissa sovelluksemme toimivat, merkitsivät sitä, että meidän piti tukea IE6:ta pitkään. Silloinkin kun saimme tukea IE8:aa, jouduimme silti käsittelemään monia selainten välisiä eroja. Ei vain sitä, mutta ajan verkossa ei vain ollut niin monia ominaisuuksia sisäänrakennettuna suoraan alustaan.

Pikakelaus tähän päivään. Asiat ovat muuttuneet valtavasti. Meillä ei ole ainoastaan ​​enemmän näitä ominaisuuksia kuin koskaan ennen, vaan myös niiden saatavuus on lisääntynyt. Esitän sitten kysymyksen uudelleen: Auttaisiko se, että käytät aikaa oppiaksesi lisää siitä, miten verkko toimii ja mitä alustalla on saatavilla? Ehdottomasti kyllä. Verkkoalustan ymmärtämisen ja käytön oppiminen nykyään antaa sinulle valtavan edun muihin kehittäjiin verrattuna. Työskenteletpä sitten suorituskyvyn, käytettävyyden, reagoivuuden parissa, kaikkia niitä yhdessä tai vain käyttöliittymäominaisuuksien toimittamisessa, jos haluat tehdä sen vastuullisena insinöörinä, käytettävissäsi olevien työkalujen tunteminen auttaa sinua saavuttamaan tavoitteesi nopeammin ja paremmin. Jotkut asiat, joita et ehkä enää tarvitse kirjastoa varten Kun tiedämme, mitä selaimet tukevat nykyään, kysymys kuuluu: mitä voimme jättää huomiotta? Tarvitsemmeko div-komponentin pyöristettyjen kulmien tekemiseen vuonna 2025? Emme tietenkään. Kaikki tällä hetkellä käytetyt selaimet ovat tukeneet border-radius-ominaisuutta yli 15 vuoden ajan. Ja myös kulman muoto on tulossa pian, vieläkin hienompiin kulmiin. Tarkastellaanpa suhteellisen uusimpia ominaisuuksia, jotka ovat nyt saatavilla kaikissa yleisimmissä selaimissa ja joilla voit korvata koodikannassasi olemassa olevia riippuvuuksia. Tarkoituksena ei ole heti hylätä kaikkia rakastettuja kirjastojasi ja kirjoittaa koodikantasi uudelleen. Mitä tulee kaikkeen muuhun, sinun on ensin otettava huomioon selaimen tuki ja tehtävä päätös muiden projektiisi liittyvien tekijöiden perusteella. Seuraavat ominaisuudet on toteutettu kolmessa pääselainkoneessa (Chromium, WebKit ja Gecko), mutta sinulla saattaa olla erilaisia ​​selaimen tukivaatimuksia, jotka estävät sinua käyttämästä niitä heti. Nyt on kuitenkin hyvä aika oppia näistä ominaisuuksista ja ehkä suunnitella niiden käyttöä jossain vaiheessa. Ponnahdusikkunat ja dialogit Popover API,

HTML-elementti ja ::backdrop pseudo-elementti voivat auttaa sinua pääsemään eroon riippuvuuksista ponnahdusikkunoihin,työkaluvihjeet ja valintaikkunakirjastot, kuten Floating UI, Tippy.js, Tether tai React Tooltip. Ne hoitavat käytettävyyden ja tarkennuksen hallinnan puolestasi heti käyttövalmiina, ovat erittäin muokattavissa CSS:n avulla ja ne voidaan helposti animoida. Haitarit
-elementti, sen name-attribuutti toisensa poissulkeville elementeille ja ::details-content-pseudo-elementti poistavat tarpeen käyttää harmonikkakomponentteja, kuten Bootstrap Accordion tai React Accordion -komponentti. Pelkästään alustan käyttö tarkoittaa, että HTML/CSS:n tuntevien ihmisten on helpompi ymmärtää koodisi ilman, että heidän tarvitsee ensin opetella käyttämään tiettyä kirjastoa. Se tarkoittaa myös, että olet immuuni kirjastossa tapahtuville muutoksille tai kirjaston lopettamiselle. Ja tietysti se tarkoittaa vähemmän koodia ladata ja suorittaa. Toisensa poissulkevat yksityiskohdat eivät tarvitse JS:ää avatakseen, sulkeakseen tai animoidakseen. CSS-syntaksi Kaskadikerrokset järjestäytyneempää CSS-koodikantaa varten, CSS-sisätystä varten, kompaktimpaan CSS:ään, uudet värifunktiot, suhteelliset värit ja värisekoitus, uudet matemaattiset funktiot, kuten abs(), sign(), pow() ja muut, auttavat vähentämään riippuvuutta CSS-esiprosessoreista, apukirjastoista, kuten Bootstrap ja Tailwind, tai jopa runtime CSSbraries. Pelinvaihtaja :has(), joka on yksi kysytyimmistä ominaisuuksista pitkään aikaan, poistaa monimutkaisempien JS-pohjaisten ratkaisujen tarpeen. JS Utilities Nykyaikaiset Array-menetelmät, kuten findLast(), tai at(), sekä Set-menetelmät, kuten differentiaatio(), intersection(), union() ja muut, voivat vähentää riippuvuutta kirjastoista, kuten Lodash. Säilökyselyt Säilökyselyt saavat käyttöliittymäkomponentit vastaamaan muihin asioihin kuin näkymän kokoon ja tekevät niistä siten helpommin uudelleenkäytettäviä eri yhteyksissä. Tätä varten ei enää tarvitse käyttää JS-heavy-käyttöliittymäkirjastoa, eikä myöskään polyfill. Asettelu Grid, subgrid, flexbox tai multi-column ovat olleet olemassa jo pitkään, mutta CSS-tilatutkimusten tuloksia tarkasteltaessa on selvää, että kehittäjät ovat yleensä erittäin varovaisia ottaessaan käyttöön uusia asioita ja odottavat hyvin kauan ennen kuin ottavat sen käyttöön. Nämä ominaisuudet ovat olleet Baseline jo pitkään, ja voit käyttää niitä eroon riippuvuuksista, kuten Bootstrapin grid-järjestelmästä, Foundation Frameworkin flexbox-apuohjelmista, Bulman kiinteästä ruudukosta, Materialize gridistä tai Tailwind-pylväistä. En sano, että sinun pitäisi luopua kehyksestäsi. Ryhmäsi otti sen käyttöön syystä, ja sen poistaminen voi olla iso projekti. Mutta katsomalla, mitä verkkoalusta voi tarjota ilman kolmannen osapuolen käärettä päällä, tuo paljon etuja. Asiat, joita et ehkä enää tarvitse lähitulevaisuudessa Katsotaanpa nyt nopeasti joitain asioita, joihin et tarvitse kirjastoa lähitulevaisuudessa. Toisin sanoen alla olevat asiat eivät ole aivan valmiita massakäyttöön, mutta niiden tiedostaminen ja mahdollisen myöhemmän käytön suunnittelu voi olla hyödyllistä. Ankkurin paikannus CSS-ankkuripaikannus hoitaa ponnahdusikkunoiden ja työkaluvihjeiden paikantamisen suhteessa muihin elementteihin ja huolehtii niiden pitämisestä näkyvissä myös sivua liikutettaessa, vierittäessä tai muuttaessaan kokoa. Tämä täydentää loistavasti aiemmin mainittua Popover API:ta, mikä tekee entistä helpommaksi siirtyä pois suorituskykyintensiivisemmistä JS-ratkaisuista. Navigointisovellusliittymä Navigointisovellusliittymää voidaan käyttää navigoinnin hallintaan yksisivuisissa sovelluksissa, ja se voi täydentää tai jopa korvata React Router-, Next.js-reititys- tai Angular-reititystehtäviä. Näytä Transitions API View Transitions API voi animoida sivun eri tilojen välillä. Yksisivuisessa sovelluksessa tämä tekee sujuvasta siirtymisestä tilojen välillä erittäin helppoa ja voi auttaa sinua pääsemään eroon animaatiokirjastoista, kuten Anime.js, GSAP tai Motion.dev. Vielä parempi, API:ta voidaan käyttää myös monisivuisten sovellusten kanssa. Muistatko aiemmin, kun sanoin, että syy, miksi rakensimme yksisivuisia sovelluksia yrityksessä, jossa työskentelin 15 vuotta sitten, oli välttää sivujen uudelleenlatausten valkoista välähdystä navigoinnin aikana? Jos API olisi ollut saatavilla tuolloin, olisimme voineet saavuttaa kauniita sivun siirtymätehosteita ilman yksisivuista kehystä ja ilman koko sovelluksen valtavaa alkulatausta. Scroll-ohjatut animaatiot Vieritysohjatut animaatiot toimivat käyttäjän vieritysasennossa eikä ajan kuluessa, joten ne ovat loistava ratkaisu tarinankerrontaan ja tuotekierroksiin. Jotkut ihmiset ovat menneet sen kanssa hieman yli, mutta hyvin käytettynä tämä voi olla erittäin tehokas suunnittelutyökalu ja auttaa pääsemään eroon kirjastoista, kuten: ScrollReveal, GSAP Scroll taiWOW.js. Mukautettavat valinnat Mukautettava valinta on normaali

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

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free