Hacker News

„JavaScript“ reikalaujantys metodai nesuderinami su ilgalaikiais našumo tikslais

„JavaScript“ reikalaujantys metodai nesuderinami su ilgalaikiais našumo tikslais Šis tyrinėjimas gilinasi į javascript, nagrinėja jo reikšmę ir galimą poveikį. Apimtos pagrindinės sąvokos Šiame turinyje nagrinėjama: Pagrindiniai principai...

7 min read Via sgom.es

Mewayz Team

Editorial Team

Hacker News
Štai visas SEO tinklaraščio įrašas:

JavaScript intensyvūs metodai nesuderinami su ilgalaikiais našumo tikslais

Per daug pasikliaujant „JavaScript“ žiniatinklio programoms, sukuriamas sudėtingas našumo trūkumas, kuris ilgainiui kenkia naudotojų patirčiai, paieškos reitingams ir mastelio keitimui. Nors „JavaScript“ išlieka esminiu šiuolaikinio kūrimo įrankiu, komandos, kurios ją laiko numatytuoju kiekvienos sąveikos sprendimu, kuria pagrindus, kurie prastėja augant jų produktams.

Mewayz, kur mūsų 207 modulių verslo OS kasdien aptarnauja daugiau nei 138 000 vartotojų, anksti sužinojome, kad tvariam veikimui reikia apgalvotų architektūrinių pasirinkimų, o ne tik greitesnių scenarijų. Štai kodėl „JavaScript“ turinčios strategijos žlunga dideliu mastu ir ką turėtų daryti pažangios komandos.

Kodėl per didelis „JavaScript“ ilgainiui pablogina našumą?

Kiekvienas „JavaScript“ kilobaitas, kurį siunčiate į naršyklę, turi būti atsisiųstas, išanalizuotas, sukompiliuotas ir vykdomas. Skirtingai nuo HTML ir CSS, kuriuos naršyklės apdoroja laipsniškai, „JavaScript“ vykdymo metu blokuoja pagrindinę giją. Tai reiškia, kad programai augant ir sukaupus daugiau scenarijų, kaina nėra tiesinė – ji yra eksponentinė.

Puslapis, kuris šiandien pakankamai įkeliamas naudojant 200 KB „JavaScript“, po šešių mėnesių tampa vangus – 600 KB. Funkcijų papildymai, trečiųjų šalių integracijos, analizės bibliotekos ir A/B testavimo scenarijai prisideda prie grupavimo. Google Core Web Vitals – ypač Interaction to Next Paint (INP) ir Largest Contentful Paint (LCP) – užkerta kelią būtent tokiam kaupimui, tiesiogiai paveikdamas paieškos matomumą.

Tikrasis pavojus yra tas, kad „JavaScript“ turinčios architektūros užmaskuoja savo išlaidas, kol nevėlu. Našumas prastėja palaipsniui, o kai komandos tai pastebi, reikia milžiniškų pastangų atstatyti.

Kokios yra paslėptos „JavaScript“ pirmojo kūrimo išlaidos?

Be neapdoroto puslapio greičio, taikant daug „JavaScript“ naudojamų metodų atsiranda keletas paslėptų išlaidų, kurios didėja per visą produkto gyvavimo ciklą:

  • Padidėjusi įrenginių nelygybė: aukščiausios klasės įrenginiai grakščiai apdoroja sunkius scenarijus, tačiau nebrangūs telefonai ir senesnė aparatinė įranga, kurią naudoja didelė dalis pasaulio naudotojų, susiduria su analizavimo ir vykdymo laiku, todėl atsiranda prieinamumo spragų.
  • Didesnės infrastruktūros sąnaudos: kliento pusės atvaizdavimas perkelia darbą į naršyklę, bet serverio pusės atvaizdavimo atsarginės priemonės, reikalingos SEO ir pradinio įkėlimo našumui, padidina infrastruktūros sudėtingumą ir padidina išlaidas.
  • Bandymas ir derinimas: daugiau „JavaScript“ reiškia daugiau galimų gedimų taškų, lenktynių sąlygų ir būsenos valdymo klaidų, kurias sunku atkurti ir brangiai taisyti.
  • Kūrėjo įtraukimo trintis: sudėtingos „JavaScript“ architektūros su keliais abstrakcijos sluoksniais sulėtina naujų komandos narių skaičių ir padidina regresijų atsiradimo riziką.
  • Saugumo paviršiaus išplėtimas: kiekvienas scenarijus yra galimas atakos vektorius. Scenarijų tarp svetainių pažeidžiamumas, tiekimo grandinės atakos dėl priklausomybių ir prototipų užterštumo rizika didėja didėjant „JavaScript“ kiekiui.

Pagrindinė įžvalga: našiausias kodas yra kodas, kurio niekada nesiunčiate. Kiekvienas „JavaScript“ sprendimas turėtų prasidėti klausimu: ar tai galima pasiekti naudojant HTML, CSS ar serverio pusės logiką? Komandos, kurios nuolat užduoda šį klausimą, yra tos, kurios palaiko greitas ir patikimas programas dideliu mastu.

Kaip mes čia atsidūrėme – ir kur juda pramonė?

JavaScript-viskas era atsirado iš tikro poreikio. Vieno puslapio programos žadėjo sklandesnę vartotojo patirtį, o tokios sistemos kaip „Angular“, „React“ ir „Vue“ padarė sudėtingą kliento sąveiką prieinamą kiekvienai kūrimo komandai. Kurį laiką kompromisai atrodė verti.

Tačiau švytuoklė svyruoja atgal. Pramonėje pastebimas aiškus perėjimas prie architektūrų, pirmiausia serverių, laipsniško tobulinimo ir hibridinių atvaizdavimo strategijų. Tokie rėmai kaip Astro, Fresh ir naujausios Next.js iteracijos pabrėžia, kad pagal numatytuosius nustatymus reikia pristatyti mažiau JavaScript. Žiniatinklio komponentų ir CSS pagrįsto interaktyvumo – sudėtinių rodinių užklausų, slinkties animacijos, :has() parinkiklio – augimas įrodo, kad pati platforma vejasi anksčiau reikalingus scenarijus.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Naršyklės pardavėjai taip pat rodo šią kryptį. „Chrome“ investicijos į INP kaip „Core Web Vital“, agresyvus „Safari“ scenarijaus mažinimas ir „Firefox“ patobulintos tingaus įkėlimo galimybės – visa tai atlygina už paprastesnę architektūrą.

Kaip atrodo tvaraus našumo strategija?

Kurti ilgalaikiam našumui reiškia laikytis „JavaScript“, o ne „JavaScript“ filosofijos. Tai nereiškia, kad reikia visiškai vengti „JavaScript“ – tai reiškia, kad jį reikia naudoti sąmoningai ir nuolat matuoti jo poveikį.

Pradėkite nuo našumo biudžetų. Apibrėžkite didžiausią „JavaScript“ naudingąją apkrovą, kurią jūsų programa gali siųsti vienam maršrutui, ir vykdykite ją CI / CD vamzdynais. Kai nauja funkcija viršytų biudžetą, komanda turi optimizuoti esamą kodą prieš pridėdama daugiau. Ši vienintelė praktika apsaugo nuo laipsniško išsipūtimo, dėl kurio per mėnesius ir metus sumažėja našumas.

Priimkite laipsnišką patobulinimą kaip numatytąjį šabloną. Pateikite prasmingą turinį serveryje, stilizuokite jį naudodami CSS ir padėkite „JavaScript“ sąveikas tik tada, kai jos suteikia aiškią vertę. Šis metodas garantuoja, kad jūsų programa veiks kiekvienam naudotojui kiekviename įrenginyje, o tiems, kurių aparatinė įranga gali jas palaikyti, teikiamos patobulintos funkcijos.

Galiausiai investuokite į stebimumą. Tikro naudotojo stebėjimo (RUM) duomenys tiksliai nurodo, kaip jūsų „JavaScript“ veikia tikruosius naudotojus realiuose įrenginiuose ir tinklo sąlygomis – ne tik tai, kaip ji veikia jūsų kūrimo įrenginyje.

Dažniausiai užduodami klausimai

Ar tai reiškia, kad „JavaScript“ sistemos yra netinkamos verslo programoms?

Visiškai ne. „JavaScript“ sistemos yra galingi įrankiai, kai naudojami su disciplina. Problema kyla, kai komandos pagal numatytuosius nustatymus naudoja kliento pusės „JavaScript“ užduotims, kurias geriau tvarko serveris arba platforma. Gerai suprojektuota pagrindų programa su kodo padalijimu, tingiu įkėlimu ir serverio atvaizdavimu gali puikiai veikti. Svarbiausia yra tyčinis naudojimas – pasirenkant „JavaScript“ ten, kur ji tikrai pagerina vartotojo patirtį, ir vengiant jos ten, kur yra paprastesnių alternatyvų.

Kiek „JavaScript“ yra per daug žiniatinklio programai?

Visuotinio slenksčio nėra, tačiau „Google“ ir HTTP archyvo duomenų tyrimai rodo, kad puslapių, kuriuose pristatoma daugiau nei 300–400 KB suglaudinto „JavaScript“, našumas pradeda pastebimai pablogėti mobiliuosiuose įrenginiuose. Svarbesnė nei absoliutus skaičius yra tendencija – jei jūsų „JavaScript“ paketas auga su kiekvienu leidimu ir jūs neturite procesų šiam augimui kompensuoti, judate netvarioje trajektorijoje.

Ar platforma su 207 moduliais, tokia kaip „Mewayz“, tikrai gali išlikti naši?

Taip, bet tam reikia architektūrinio įsipareigojimo. „Mewayz“ naudojame agresyvų kodo skaidymą, todėl vartotojai įkelia tik tuos modulius, kuriuos jie aktyviai naudoja. Mūsų 207 modulių verslo OS kartu su pirminių įkėlimų atvaizdavimu iš serverio ir išmaniuoju išankstiniu gavimu užtikrina greitą ir nuoseklią visų planų pakopų patirtį. Mastelis ir našumas vienas kito neišskiria – jie tiesiog reikalauja apgalvoto inžinerinio pasirinkimo nuo pat pirmos dienos.

Pasiruošę patirti verslo platformą, sukurtą didelio masto našumui užtikrinti? „Mewayz“ siūlo 207 integruotus modulius – nuo CRM ir projektų valdymo iki sąskaitų faktūrų išrašymo ir personalo valdymo – be didelių pastangų. Prisijunkite prie 138 000 naudotojų, kurie savo verslą valdo greičiau, pradedant nuo 19 USD per mėnesį. Pradėkite naudotis Mewayz šiandien.