Technologas #16: Gal jau užteks tų naujų frontend’o vėjų?

Vaidas

Vaidas, CTO

Pradėkim iš toliau. Kai tik atsirado pirmas modernesnis framework'as (man tai buvo React’as), iš pradžių jis pasirodė keistai. Ko gero, nedaug apie jį supratau ir, tiesą pasakius, nelabai jis man rūpėjo. Bet po metų buvau priverstas susidurti su React’u darbinėje srityje. Ir blyn, kuo labiau gilinausi, tuo labiau man ėmė patikti frontendas. Ir ne man vienam - kai atrankose pasikalbu su kandidatais, dažnai išgirstu apie panašų lūžio tašką.

Bet be React’o tuo metu griebėmės ir labai daug kitų dalykų: state valdymui buvo Flux, bet nepraėjus nė metams jis paseno ir atsirado Redux. Staiga komponentai, kuriuos rašėme patapo legacy, nes atsirado hook’sai. Ir NodeJS sintaksė keitėsi - iš pradžių, rašėme su plain JS, bet, nepaisant ilgų dvejonių dėl TS’o, pasirinkome Flow (statinis tipų tikrintuvas, skirtas JS, parašytas Facebook’o).

No alt text provided for this image

Kas lemia šitą lyderio pozicijų pasikeitimą? Galima rasti nemažai informacijos, sakančios, kad nauji karkasai yra žymiai greitesni, kad galima padaryti appsus ant React native ir dar daugybę kitų gražių pažadų. Bet ar tai yra vienintelis kelias?

IT irgi turi savo (laikinas) madas

IT pasaulis margas ir man kartais ima atrodyti, kad čia mados keičiasi dažniau nei oras Lietuvoje. Pastaruoju metu kurį laiką frontendo pusėje karaliauja React, Vue, Angular - tai pagrindiniai karkasai/bibliotekos programuotojams, norintiems išmokti naujų dalykų. Jie apsitaisė visokiausiais šiltais kailinukais (tokiais kaip Redux, Vuex, Nextjs, Nuxt) ir nusprendė, kad šį sezoną teks praleisti daugiau laiko programuotojų akyse.

Kas lemia šitą lyderio pozicijų pasikeitimą? Galima rasti nemažai informacijos, sakančios, kad nauji karkasai yra žymiai greitesni, kad galima padaryti appsus ant React native ir dar daugybę kitų gražių pažadų. 

Šiaip būtų šilta ir gera, bet naujai atėjusios mados kartu reiškia jau pažįstamų technologijų praradimą, pavyzdžiui, jQuery, Backbone ar KnockoutJS. Yra daugybė dalykų, kuriais būtų galima pakeisti jQuery, bet atsiranda tas, kuris pašalina juodžiausias, daugiausiai skaudančias vietas, pavyzdžiui nebereikia rūpintis, ar “užsikabins” ant evento jQuery, ar ne, nes dirbame su shadow domu.

Bet čia reikia nepamiršti vieno: kaip pokytis vieną dieną nutiko su jQuery, galų gale, nutiks ir su React.

No alt text provided for this image

Kodėl dviratį vėl reikia išrasti iš naujo?

Be abejo, nepaminėjau labai daug įrankių: webpack, vite, turbopack, babel ir t.t. Visi jie yra be galo geri. Visų jų reikia. Bet po šimts pypkių, gal įnešame bent šiokio tokio stabilumo? 

Man jau pabodo visi pasakymai: “X įrankis veikia Y kartų greičiau negu Z”. Kodėl negalima to “greičio” pernešti į jau egzistuojantį produktą? Kodėl netobuliname jų? Kodėl reikia kiekvieną kartą koncentruotis į savo naujai parašytą sprendimą, o ne padėti jau esančiam?

Nesupraskit neteisingai, tobulėjančios technologijos ir progresas yra vienas geriausių dalykų, kas gali nutikti IT pasaulyje. Tose vietose, kuriose yra įsisenėję sisteminiai skauduliai, su malonumu išmoksiu dar vieną karkasą. Bet man tikrai atsibodo viską mokytis iš naujo tik tam, kad kažkiek procentų padidėtų bendras performance. Gerokai dažniau galėtume koncentruotis į esamo sprendimo papildymą, o ne visišką jo perrašymą.

Ar mados galiausiai nusistovės?

Pamenu, kažkada žiūrėjau TV3 orų prognozę, kur atėjo Naglis Šulija su saulės akiniais. Nusiėmė juos ir sako: jums jų rytoj tikrai neprireiks. Lyrinis nukrypimas, bet panašiai jaučiuosi ir šioje situacijoje. Jeigu paklaustumėte manęs - žinoma, norėčiau, kad įsivyrautų giedra diena ir frontend'o vėjai truputį aprimtų. Bet šiandien tiesiog netikiu, kad tai įvyks.

Taip yra todėl, kad norime, jog viskas vyktų kuo greičiau. Vadinasi, nuolat stengiamės išrasti naujesnį ir greitesnį daiktą. Šiek tiek gaila, kad ieškodami tų patobulinimų kaskart dviratį išradinėjame iš naujo, o ne tobuliname vis dar puikiai veikiantį senąjį. Tad mano prognozė paprasta - frontend’o vėjų štiliaus artimiausiu metu nesitikėčiau.

Vaidas

Vaidas, CTO

Technologijų entuziastas, nuolat ieškantis būdų, kaip optimizuoti procesus ir kaip atrasti dar neišbandytą naminio sidro skonį.