Takriban miaka 15 iliyopita, nilikuwa nikifanya kazi katika kampuni ambapo tulitengeneza programu za mawakala wa usafiri, wafanyakazi wa viwanja vya ndege na kampuni za ndege. Pia tulijenga mfumo wetu wa ndani wa vipengele vya UI na uwezo wa programu ya ukurasa mmoja. Tulikuwa na vipengee vya kila kitu: sehemu, vitufe, vichupo, safu, jedwali la data, menyu, vichagua tarehe, teuzi, na chaguzi nyingi. Tulikuwa na sehemu ya div. Sehemu yetu ya div ilikuwa nzuri kwa njia, ilituruhusu kufanya pembe za mviringo kwenye vivinjari vyote, ambavyo, amini usiamini, halikuwa jambo rahisi kufanya wakati huo.

Kazi yetu ilifanyika wakati fulani katika historia yetu wakati JS, Ajax, na HTML thabiti zilionekana kama mapinduzi ambayo yalituleta katika siku zijazo. Ghafla, tunaweza kusasisha ukurasa kwa nguvu, kupata data kutoka kwa seva, na kuepuka kuelekeza kwenye kurasa zingine, ambazo zilionekana kuwa polepole na kuwaka mstatili mkubwa mweupe kwenye skrini kati ya kurasa hizo mbili. Kulikuwa na maneno, yaliyofanywa maarufu na Jeff Atwood (mwanzilishi wa StackOverflow), ambayo yalisomeka: “Programu yoyote ambayo inaweza kuandikwa katika JavaScript hatimaye itaandikwa katika JavaScript.”— Jeff Atwood

Kwetu wakati huo, hii ilionekana kama kuthubutu kwenda kuunda programu hizo. Ilionekana kama idhini kamili ya kufanya kila kitu na JS. Kwa hivyo tulifanya kila kitu na JS, na hatukuchukua wakati kutafiti njia zingine za kufanya mambo. Hatukuhisi motisha ya kujifunza vizuri kile HTML na CSS zinaweza kufanya. Hatukutambua mtandao kama jukwaa la programu linalobadilika kwa ujumla wake. Mara nyingi tuliiona kama jambo ambalo tulihitaji kufanyia kazi, hasa linapokuja suala la usaidizi wa kivinjari. Tunaweza tu kutupa JS zaidi ili kufanya mambo. Je, kuchukua muda wa kujifunza zaidi kuhusu jinsi mtandao ulivyofanya kazi na kile kilichokuwa kikipatikana kwenye jukwaa kungenisaidia? Hakika, labda ningeweza kunyoa rundo la nambari ambayo haikuhitajika sana. Lakini, wakati huo, labda sio sana. Unaona, tofauti za kivinjari zilikuwa muhimu sana wakati huo. Huu ulikuwa wakati ambapo Internet Explorer ilikuwa bado kivinjari kikuu, huku Firefox ikiwa ya pili, lakini ilianza kupoteza sehemu ya soko kutokana na Chrome kupata umaarufu haraka. Ingawa Chrome na Firefox walikuwa wazuri kabisa katika kukubaliana juu ya viwango vya wavuti, mazingira ambayo programu zetu zilikuwa zikifanya kazi yalimaanisha kwamba tulilazimika kuunga mkono IE6 kwa muda mrefu. Hata tuliporuhusiwa kuunga mkono IE8, bado tulilazimika kukabiliana na tofauti nyingi kati ya vivinjari. Sio hivyo tu, lakini mtandao wa wakati huo haukuwa na uwezo mwingi kama huo uliojengwa kwenye jukwaa.

Songa mbele hadi leo. Mambo yamebadilika sana. Sio tu kwamba tuna zaidi ya uwezo huu kuliko hapo awali, lakini kiwango cha kupatikana kwao kimeongezeka pia. Acha niulize swali tena, basi: Je, kuchukua muda wa kujifunza zaidi kuhusu jinsi mtandao unavyofanya kazi na kile kinachopatikana kwenye jukwaa kitakusaidia leo? Ndiyo kabisa. Kujifunza kuelewa na kutumia jukwaa la wavuti leo kunakuweka kwenye faida kubwa zaidi ya wasanidi programu wengine. Iwe unafanyia kazi utendakazi, ufikiaji, uwajibikaji, vyote kwa pamoja, au unasafirisha tu vipengele vya UI, ikiwa ungependa kufanya hivyo kama mhandisi anayewajibika, kujua zana ambazo unapatikana kwako hukusaidia kufikia malengo yako kwa haraka na bora zaidi. Baadhi ya Mambo Huenda Usihitaji Maktaba Kwa Ajili Ya Tena Kujua ni vivinjari vipi vinavyounga mkono leo, swali, basi, ni: Tunaweza kuacha nini? Je, tunahitaji kijenzi cha div kufanya pembe zilizo na mviringo mnamo 2025? Bila shaka, hatufanyi hivyo. Mali ya radius ya mpaka imeungwa mkono na vivinjari vyote vinavyotumika sasa kwa zaidi ya miaka 15 katika hatua hii. Na umbo la kona pia linakuja hivi karibuni, kwa pembe za mashabiki zaidi. Hebu tuangalie vipengele vya hivi majuzi ambavyo sasa vinapatikana katika vivinjari vyote vikuu, na ambavyo unaweza kutumia kuchukua nafasi ya vitegemezi vilivyopo kwenye msingi wako wa msimbo. Jambo kuu sio kuacha mara moja maktaba zako zote unazopenda na kuandika upya msingi wako wa kanuni. Kuhusu kila kitu kingine, utahitaji kuzingatia usaidizi wa kivinjari kwanza na uamue kulingana na vipengele vingine maalum kwa mradi wako. Vipengele vifuatavyo vinatekelezwa katika injini kuu tatu za kivinjari (Chromium, WebKit, na Gecko), lakini unaweza kuwa na mahitaji tofauti ya usaidizi wa kivinjari ambayo yanakuzuia kuzitumia mara moja. Sasa bado ni wakati mzuri wa kujifunza kuhusu vipengele hivi, ingawa, na labda kupanga kuvitumia wakati fulani. Popovers na Dialogs API ya Popover,

kipengele cha HTML, na ::backdrop pseudo-elementi inaweza kukusaidia kuondoa utegemezi kwenye dirisha ibukizi,ncha ya zana, na maktaba za mazungumzo, kama vile Floating UI, Tippy.js, Tether, au React Tooltip. Zinashughulikia ufikiaji na usimamizi wa umakini kwa ajili yako, nje ya kisanduku, zinaweza kubinafsishwa kwa kutumia CSS, na zinaweza kuhuishwa kwa urahisi. Accordions Kipengele cha
, sifa yake ya jina la vipengee vinavyotengana, na ::details-content pseudo-element huondoa hitaji la vijenzi vya accordion kama vile Bootstrap Accordion au kipengele cha React Accordion. Kutumia tu jukwaa hapa kunamaanisha kuwa ni rahisi kwa watu wanaojua HTML/CSS kuelewa msimbo wako bila kulazimika kwanza kujifunza kutumia maktaba mahususi. Pia inamaanisha kuwa una kinga dhidi ya kuvunja mabadiliko katika maktaba au kusitishwa kwa maktaba hiyo. Na, kwa kweli, inamaanisha msimbo mdogo kupakua na kukimbia. Vipengele vya maelezo ya kipekee havihitaji JS kufungua, kufunga au kuhuisha. Sintaksia ya CSS Safu za Cascade, kwa msingi wa msimbo wa CSS uliopangwa zaidi, uwekaji wa CSS, kwa CSS iliyoshikana zaidi, vitendakazi vipya vya rangi, rangi husika, na mchanganyiko wa rangi, kazi mpya za Hisabati kama vile abs(), sign(), pow() na zingine husaidia kupunguza utegemezi kwenye vichakataji awali vya CSS, maktaba za matumizi kama vile Bootstrap na Tailwind, au hata maktaba ya CSS-in-JS ya wakati wa utekelezaji. Kibadilisha mchezo :has(), mojawapo ya vipengele vilivyoombwa zaidi kwa muda mrefu, huondoa hitaji la suluhu ngumu zaidi zinazotegemea JS. Huduma za JS Njia za kisasa za Array kama findLast(), au at(), na pia Weka njia kama different(), makutano(), union() na zingine zinaweza kupunguza utegemezi kwenye maktaba kama Lodash. Maswali ya Vyombo Hoja za kontena hufanya vipengee vya UI kujibu vitu vingine isipokuwa saizi ya tovuti ya kutazama, na kwa hivyo kuvifanya viweze kutumika tena katika miktadha tofauti. Hakuna haja ya kutumia maktaba ya JS-nzito ya UI kwa hili tena, na hakuna haja ya kutumia polyfill pia. Mpangilio Gridi, gridi ndogo, flexbox, au safu wima nyingi zimekuwepo kwa muda mrefu sasa, lakini tukiangalia matokeo ya tafiti za Jimbo la CSS, ni wazi kwamba watengenezaji huwa waangalifu sana kwa kupitisha mambo mapya, na kusubiri kwa muda mrefu sana kabla ya kufanya. Vipengele hivi vimekuwa vya Msingi kwa muda mrefu na unaweza kuvitumia kuondoa utegemezi wa vitu kama vile mfumo wa gridi ya Bootstrap, huduma za flexbox za Mfumo wa Msingi, gridi isiyobadilika ya Bulma, gridi ya Nyenzo, au safu wima za Tailwind. Sisemi kwamba unapaswa kuacha mfumo wako. Timu yako iliikubali kwa sababu fulani, na kuiondoa inaweza kuwa mradi mkubwa. Lakini kuangalia kile ambacho jukwaa la wavuti linaweza kutoa bila karatasi ya wahusika wengine juu kunakuja na faida nyingi. Mambo Ambayo Huenda Usihitaji Tena Katika Karibuni Sasa, acheni tuangalie kwa haraka baadhi ya mambo ambayo hutahitaji maktaba katika siku za usoni. Hiyo ni kusema, mambo yaliyo hapa chini hayako tayari kupitishwa kwa wingi, lakini kuyafahamu na kupanga kwa ajili ya matumizi ya baadaye kunaweza kusaidia. Msimamo wa Nanga Uwekaji nanga wa CSS hushughulikia uwekaji wa popover na vidokezo vya zana kuhusiana na vipengele vingine, na hutunza kuviweka katika mwonekano, hata wakati wa kusogeza, kusogeza au kubadilisha ukubwa wa ukurasa. Hiki ni kijalizo kikubwa kwa API ya Popover iliyotajwa hapo awali, ambayo itarahisisha hata kuhama kutoka kwa suluhu za JS zenye utendakazi zaidi. Navigation API API ya Urambazaji inaweza kutumika kushughulikia urambazaji katika programu za ukurasa mmoja na inaweza kuwa kikamilisho bora, au hata mbadala, kwa React Router, Next.js routing, au kazi za kuelekeza Angular. Tazama API ya Mpito API ya Mtazamo wa Mpito inaweza kuhuisha kati ya hali tofauti za ukurasa. Kwenye programu ya ukurasa mmoja, hii hurahisisha ubadilishanaji wa majimbo kati ya majimbo, na inaweza kukusaidia kuondoa maktaba za uhuishaji kama vile Anime.js, GSAP, au Motion.dev. Bora zaidi, API pia inaweza kutumika na programu za kurasa nyingi. Kumbuka hapo awali, niliposema kwamba sababu tuliyounda programu za ukurasa mmoja katika kampuni ambayo nilifanya kazi miaka 15 iliyopita ilikuwa ni kuzuia mwanga mweupe wa upakiaji upya wa ukurasa wakati wa kuabiri? Ikiwa API hiyo ingepatikana wakati huo, tungekuwa na uwezo wa kufikia athari nzuri za mpito wa ukurasa bila mfumo wa ukurasa mmoja na bila upakuaji mkubwa wa awali wa programu nzima. Uhuishaji unaoendeshwa na kusogeza Uhuishaji unaoendeshwa na usogezaji huendeshwa kwenye nafasi ya kusogeza ya mtumiaji, badala ya muda, na kuifanya kuwa suluhisho bora kwa kusimulia hadithi na ziara za bidhaa. Baadhi ya watu wamekwenda juu kidogo nayo, lakini inapotumiwa vizuri, hii inaweza kuwa zana nzuri sana ya kubuni, na inaweza kusaidia kuondoa maktaba kama vile: ScrollReveal, GSAP Scroll, auWOW.js. Chaguo Zinazoweza Kubinafsishwa Chaguo inayoweza kugeuzwa kukufaa ni kipengele cha kawaida cha

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

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free