Intengo yezinhlaka ze-JavaScript

Ayikho indlela esheshayo yokwehlisa ijubane lewebhusayithi (ayikho i-pun ehlosiwe) kunokusebenzisa inqwaba yekhodi ye-JavaScript kuyo. Uma usebenzisa i-JavaScript, kufanele uyikhokhele ekusebenzeni kwephrojekthi okungenani izikhathi ezine. Nansi ikhodi yesayithi ye-JavaScript elayisha ngayo amasistimu abasebenzisi:

  • Ilayisha ifayela ngenethiwekhi.
  • Ukuhlaziya nokuhlanganisa ikhodi yomthombo engapakishiwe ngemva kokulanda.
  • Isebenzisa ikhodi ye-JavaScript.
  • Ukusetshenziswa kwememori.

Lokhu kuhlanganiswa kuvela kubiza kakhulu.

Intengo yezinhlaka ze-JavaScript

Futhi sifaka ikhodi ye-JS eyengeziwe kumaphrojekthi ethu. Njengoba izinhlangano ziya kumasayithi anikwe amandla yizinhlaka nemitapo yolwazi efana ne-React, i-Vue nezinye, senza umsebenzi oyinhloko wamasayithi uncike kakhulu ku-JavaScript.

Ngibone amawebhusayithi amaningi asinda kakhulu asebenzisa izinhlaka zeJavaScript. Kodwa umbono wami ngalolu daba uchemile kakhulu. Iqiniso liwukuthi izinkampani engisebenza nazo ziza kimina ngqo ngoba zinezinkinga eziyinkimbinkimbi zokusebenza kwewebhusayithi. Ngenxa yalokho, ngaba nelukuluku lokwazi ukuthi le nkinga isakazeke kangakanani, nokuthi yiziphi “inhlawulo” esizikhokhayo lapho sikhetha uhlaka olulodwa noma olunye njengesisekelo sesiza esithile.

Le phrojekthi yangisiza ukuba ngikubone lokhu. Ingobo yomlando ye-HTTP.

Idatha

Iphrojekthi ye-HTTP Archive ilandelela ingqikithi yezixhumanisi ezingu-4308655 kumasayithi avamile edeskithophu kanye nezixhumanisi ezingu-5484239 eziya kumasayithi eselula. Phakathi kwezinkomba eziningi ezihambisana nalezi zixhumanisi kukhona uhlu lobuchwepheshe obutholakala kumasayithi ahambisanayo. Lokhu kusho ukuthi singasampula izinkulungwane zamasayithi asebenzisa izinhlaka ezahlukene namalabhulali futhi sifunde ukuthi ingakanani ikhodi ayithumela kumakhasimende nokuthi leyo khodi ibeka umthwalo ongakanani kumasistimu abasebenzisi.

Ngiqoqe idatha kusukela ngoMashi 2020, okwakuyidatha yakamuva kakhulu engikwazile ukuyifinyelela.

Nginqume ukuqhathanisa idatha yengobo yomlando ye-HTTP ehlanganisiwe yawo wonke amasayithi nedatha yamasayithi atholakala esebenzisa i-React, Vue, ne-Angular, nakuba ngicabange ukusebenzisa okunye okuqukethwe komthombo.

Ukwenza kube mnandi kakhulu, ngingeze amasayithi asebenzisa i-jQuery kusethi yedatha yomthombo. Lo mtapo wolwazi usathandwa kakhulu. Futhi yethula indlela yokuthuthukisa iwebhusayithi ehlukile kumodeli ye-Single Page Application (SPA) ehlinzekwa yi-React, Vue kanye ne-Angular.

Izixhumanisi ezikungobo yomlando ye-HTTP ezimele amasayithi atholwe asebenzisa ubuchwepheshe esibuthakaselayo

Uhlaka noma umtapo wolwazi
Izixhumanisi eziya kumasayithi eselula
Izixhumanisi eziya kumasayithi ajwayelekile

jQuery
4615474
3714643

Yenza
489827
241023

Buka
85649
43691

I-Angular
19423
18088

Amathemba namaphupho

Ngaphambi kokuthi siqhubekele phambili ekuhlaziyeni idatha, ngifuna ukukhuluma ngalokho engingathanda ukukwethemba.

Ngikholwa ukuthi emhlabeni okahle, izinhlaka zizodlulela ngalé kokuhlangabezana nezidingo zonjiniyela futhi zinikeze izinzuzo ezithile ezibonakalayo kubasebenzisi bansuku zonke bamasayithi ethu. Ukukhiqiza kungenye nje yalezo zinzuzo. Ukufinyeleleka nokuphepha nakho kuyafika engqondweni lapha. Kodwa lokhu kuphela okubaluleke kakhulu.

Ngakho-ke, emhlabeni okahle, uhlobo oluthile lohlaka kufanele lwenze kube lula ukwakha iwebhusayithi esebenza kahle kakhulu. Lokhu kufanele kwenziwe ngenxa yokuthi uhlaka lunikeza umthuthukisi isisekelo esihle sokwakha iphrojekthi, noma ngenxa yokuthi ibeka imingcele ekuthuthukisweni, ukubeka phambili izidingo zayo ezenza kube nzima ukuthuthukisa okuthile. lokho kuvela ukuthi kuhamba kancane.

Izinhlaka ezinhle kakhulu kufanele zenze zombili: zinikeze isisekelo esihle, futhi zibeke imingcele emsebenzini okuvumela ukuthi uzuze umphumela omuhle.

Ukuhlaziya amanani amaphakathi edatha ngeke kusinikeze ulwazi esiludingayo. Futhi, eqinisweni, le ndlela ishiya ngalé kokunaka kwethu izinto eziningi ezibalulekile. Kunalokho, ngithole amaphuzu amaphesenti kudatha enganginayo. Lezi zingamaphesenti angu-10, 25, 50 (omaphakathi), 75, 90.

Ngithanda kakhulu i-10th kanye ne-90th percentile. Iphesenti le-10 limelela ukusebenza okuhle kakhulu (noma okungenani okuseduze kakhulu noma okuncane kokungcono kakhulu) kohlaka oluthile. Ngamanye amazwi, lokhu kusho ukuthi amaphesenti angu-10 kuphela amasayithi asebenzisa uhlaka oluthile afinyelela kuleli zinga, noma izinga eliphezulu. I-90th percentile, ngakolunye uhlangothi, ingolunye uhlangothi lwemali - isikhombisa ukuthi izinto zingaba zimbi kangakanani. Iphesenti elingu-90 izingosi ezilandela umkhondo—lezo ezingu-10% zokugcina zamasayithi anenani elikhulu lekhodi ye-JS noma isikhathi eside esidingekayo ukuze kucutshungulwe ikhodi yawo kuchungechunge oluyinhloko.

Amavolumu wekhodi ye-JavaScript

Okokuqala, kunengqondo ukuhlaziya usayizi wekhodi ye-JavaScript ehanjiswa amasayithi ahlukene kunethiwekhi.

Inani lekhodi ye-JavaScript (KB) edluliselwe kumadivayisi eselula

Amaphesenti
10
25
50
75
90

Zonke izingosi
93.4 
196.6 
413.5 
746.8 
1201.6 

amasayithi we-jQuery
110.3 
219.8 
430.4 
748.6 
1162.3 

Buka amawebhusayithi
244.7 
409.3 
692.1 
1065.5 
1570.7 

Amawebhusayithi angama-angular
445.1 
675.6 
1066.4 
1761.5 
2893.2 

Amawebhusayithi okusabela
345.8 
441.6 
690.3 
1238.5 
1893.6 

Intengo yezinhlaka ze-JavaScript
Inani lekhodi ye-JavaScript ethunyelwe kumadivayisi eselula

Inani lekhodi ye-JavaScript (KB) edluliselwe kumadivayisi edeskithophu

Amaphesenti
10
25
50
75
90

Zonke izingosi
105.5 
226.6 
450.4 
808.8 
1267.3 

amasayithi we-jQuery
121.7 
242.2 
458.3 
803.4 
1235.3 

Buka amawebhusayithi
248.0 
420.1 
718.0 
1122.5 
1643.1 

Amawebhusayithi angama-angular
468.8 
716.9 
1144.2 
1930.0 
3283.1 

Amawebhusayithi okusabela
308.6 
469.0 
841.9 
1472.2 
2197.8 

Intengo yezinhlaka ze-JavaScript
Inani lekhodi ye-JavaScript edluliselwe kumadivayisi edeskithophu

Uma sikhuluma kuphela ngosayizi wekhodi ye-JS amasayithi ayithumela kumadivayisi, yonke into ibukeka ngendlela ongayilindela. Okungukuthi, uma kusetshenziswa enye yezinhlaka, lokhu kusho ukuthi ngisho nasesimweni esihle, ivolumu yekhodi ye-JavaScript yesayithi izokhula. Lokhu akumangazi - awukwazi ukwenza uhlaka lwe-JavaScript lube yisisekelo sesayithi futhi ulindele ukuthi inani lekhodi ye-JS yephrojekthi lizoba phansi kakhulu.

Okujabulisayo ngale datha ukuthi ezinye izinhlaka nemitapo yolwazi zingabhekwa njengezindawo ezingcono zokuqala iphrojekthi kunezinye. Amawebhusayithi ane-jQuery abukeka kahle kakhulu. Amasayithi abo edeskithophu aqukethe i-JavaScript engu-15% ngaphezu kwawo wonke amasayithi, futhi amasayithi abo eselula aqukethe i-JavaScript engu-18%. (Kuyavunywa, kunokuthile okungaqondakali kudatha lapha. Iqiniso liwukuthi i-jQuery ikhona kumasayithi amaningi, ngakho-ke kungokwemvelo ukuthi amasayithi anjalo ahlobene kakhulu nenani eliphelele lamasayithi kunamanye. Nokho, lokhu akuthinti indlela idatha yomthombo iwumphumela wohlaka ngalunye.)

Nakuba ukukhula kwekhodi okungu-15-18% kuyinani elibalulekile, uma kuqhathaniswa nezinye izinhlaka nemitapo yolwazi, intela ebekwe yi-jQuery iphansi kakhulu. Amasayithi angama-angular kuphesenti le-10 athumela idatha engu-344% ngaphezulu kumadivayisi edeskithophu kunawo wonke amasayithi, kanye no-377% ngaphezulu kumadivayisi eselula. Amasayithi asabelayo yiwona anzima kakhulu, athumela ikhodi engaphezulu engu-193% kumadivayisi edeskithophu kunawo wonke amasayithi, kanye no-270% ngaphezulu kumadivayisi eselula.

Ngishilo ekuqaleni ukuthi nakuba ukusebenzisa uhlaka kusho ukuthi inani elithile lekhodi lizofakwa kuphrojekthi ekuqaleni komsebenzi kuwo, ngithemba ukuthi uhlaka luyakwazi ngandlela-thile ukukhawulela umthuthukisi. Ikakhulukazi, sikhuluma ngokukhawulela inani eliphezulu lekhodi.

Okujabulisayo ukuthi izingosi ze-jQuery zilandela lo mbono. Nakuba zona, ezingeni le-10th percentile, zisindwa kancane kunawo wonke amasayithi (ngo-15-18%), zona, ezingeni lama-90 percentile, zilula kancane kunawo wonke amasayithi - cishe ngo-3% kuzo zombili izinguqulo zedeskithophu neselula. Lokhu akusho ukuthi lokhu kuyinzuzo ebaluleke kakhulu, kodwa kungashiwo ukuthi izingosi ze-jQuery okungenani azinawo amasayizi amakhulu ekhodi ye-JavaScript ngisho nasezinguqulweni zawo ezinkulu kakhulu.

Kodwa okufanayo ngeke kushiwo ngezinye izinhlaka.

Njengoba nje endabeni ye-10th percentile, kumasayithi angama-90 percentile ku-Angular ne-React ayahluka kwamanye amasayithi, kodwa ayahluka, ngeshwa, ngokubi kakhulu.

Kumaphesenti angama-90, amasayithi e-Angular athumela idatha engu-141% ngaphezulu kumadivayisi eselula kunawo wonke amasayithi, kanye no-159% ngaphezulu kumadivayisi edeskithophu. Amasayithi asabelayo athumela u-73% ngaphezulu kumadivayisi edeskithophu kunawo wonke amasayithi, kanye no-58% ngaphezulu kumadivayisi eselula. Usayizi wekhodi wamasayithi we-React ku-90th percentile ngu-2197.8 KB. Lokhu kusho ukuthi lawa masayithi athumela idatha engu-322.9 KB eningi kumadivayisi eselula kunabaqhudelana nabo abaseduze kakhulu be-Vue. Igebe phakathi kwamasayithi edeskithophu asekelwe ku-Angular ne-React namanye amasayithi likhulu nakakhulu. Isibonelo, amasayithi edeskithophu e-React athumela ikhodi ye-JS engu-554.7 KB ngaphezulu kumadivayisi afana namasayithi e-Vue.

Isikhathi esithathiwe ukucubungula ikhodi ye-JavaScript kuchungechunge oluyinhloko

Idatha engenhla ikhombisa ngokusobala ukuthi amasayithi asebenzisa izinhlaka namalabhulali afundwayo aqukethe inani elikhulu lekhodi ye-JavaScript. Kodwa-ke, lokhu kuyingxenye eyodwa kuphela ye-equation yethu.

Ngemuva kokuthi ikhodi ye-JavaScript isifikile esipheqululini, idinga ukulethwa esimweni sokusebenza. Ikakhulukazi izinkinga eziningi zibangelwa lezo zenzo okufanele zenziwe ngekhodi kuchungechunge lwesiphequluli esikhulu. Intambo eyinhloko inesibopho sokucubungula izenzo zabasebenzisi, izitayela zokubala, nokwakha nokubonisa isakhiwo sekhasi. Uma weqa uchungechunge oluyinhloko ngemisebenzi ye-JavaScript, ngeke ibe nethuba lokuqedela eminye imisebenzi ngesikhathi esifanele. Lokhu kuholela ekubambezelekeni kanye “namabhuleki” ekusebenzeni kwamakhasi.

Isizindalwazi se-HTTP Archive siqukethe ulwazi mayelana nokuthi kuthatha isikhathi esingakanani ukucubungula ikhodi ye-JavaScript kuchungechunge oluyinhloko lwenjini ye-V8. Lokhu kusho ukuthi singakwazi ukuqoqa le datha futhi sifunde ukuthi intambo eyinhloko ithatha isikhathi esingakanani ukucubungula i-JavaScript yamasayithi ahlukahlukene.

Isikhathi se-CPU (ngama-millisecond) esihlobene nokucubungula iskripthi kumadivayisi eselula

Amaphesenti
10
25
50
75
90

Zonke izingosi
356.4
959.7
2372.1
5367.3
10485.8

amasayithi we-jQuery
575.3
1147.4
2555.9
5511.0
10349.4

Buka amawebhusayithi
1130.0
2087.9
4100.4
7676.1
12849.4

Amawebhusayithi angama-angular
1471.3
2380.1
4118.6
7450.8
13296.4

Amawebhusayithi okusabela
2700.1
5090.3
9287.6
14509.6
20813.3

Intengo yezinhlaka ze-JavaScript
Isikhathi se-CPU esihlobene nokucubungula umbhalo kumadivayisi eselula

Isikhathi se-CPU (ngama-millisecond) esihlobene nokucubungula iskripthi kumadivayisi edeskithophu

Amaphesenti
10
25
50
75
90

Zonke izingosi
146.0
351.8
831.0
1739.8
3236.8

amasayithi we-jQuery
199.6
399.2
877.5
1779.9
3215.5

Buka amawebhusayithi
350.4
650.8
1280.7
2388.5
4010.8

Amawebhusayithi angama-angular
482.2
777.9
1365.5
2400.6
4171.8

Amawebhusayithi okusabela
508.0
1045.6
2121.1
4235.1
7444.3

Intengo yezinhlaka ze-JavaScript
Isikhathi se-CPU esihlobene nokucubungula iskripthi kumadivayisi wedeskithophu

Lapha ungabona into eyaziwa kakhulu.

Okokuqala, amasayithi ane-jQuery achitha imali encane kakhulu ekucubunguleni i-JavaScript kumcu oyinhloko kunabanye. Kumaphesenti angu-10, uma kuqhathaniswa nawo wonke amasayithi, amasayithi e-jQuery kumadivayisi eselula achitha isikhathi esingu-61% esengeziwe ecubungula ikhodi ye-JS kuchungechunge oluyinhloko. Endabeni yamasayithi e-desktop jQuery, isikhathi sokucubungula sikhuphuka ngo-37%. Kumaphesenti angama-90, amaphuzu amasayithi e-jQuery asondelene kakhulu nenani eliphelele. Ngokukhethekile, amasayithi e-jQuery kumadivayisi eselula achitha isikhathi esincane esingu-1.3% kuchungechunge olukhulu kunawo wonke amasayithi, futhi kumadivayisi edeskithophu achitha isikhathi esincane esingu-0.7% kuchungechunge oluyinhloko.

Ngakolunye uhlangothi lokulinganisa kwethu kunezinhlaka ezibonakala ngomthwalo omkhulu entanjeni enkulu. Lokhu, futhi, i-Angular ne-React. Umehluko kuphela phakathi kwazo ukuthi, nakuba amasayithi e-Angular ethumela amanani amakhulu ekhodi kuziphequluli kunamasayithi we-React, kuthatha isikhathi esincane se-CPU ukucubungula ikhodi yamasayithi e-Angular. Kancane kakhulu.

Kumaphesenti angu-10, amasayithi edeskithophu ye-Angular achitha u-230% ngaphezulu kwesikhathi sochungechunge oluyinhloko ecubungula ikhodi ye-JS kunawo wonke amasayithi. Kumasayithi eselula lesi sibalo singama-313%. Amasayithi asabelayo anokusebenza okubi kakhulu. Kumadivayisi edeskithophu basebenzisa u-248% wekhodi yokucubungula isikhathi esiningi kunawo wonke amasayithi, futhi kumadivayisi eselula basebenzisa ikhodi yokucubungula isikhathi esiningi esingu-658%. I-658% ayilona iphutha lokuthayipha. Kumaphesenti angu-10, amasayithi we-React achitha amasekhondi angu-2.7 wesikhathi sochungechunge oluyinhloko ecubungula ikhodi yawo ekhona.

Izinombolo zamaphesenti angu-90 zibukeka okungenani zingcono uma ziqhathaniswa nalezi zinombolo ezinkulu. Amaphrojekthi angama-angular, uma kuqhathaniswa nawo wonke amasayithi, achitha isikhathi esiningi esingu-29% kuchungechunge oluyinhloko kumadivayisi wedeskithophu, kanye nesikhathi esengeziwe esingu-27% kumadivayisi eselula. Esimeni samasayithi we-React, izinkomba ezifanayo zibukeka njenge-130% kanye ne-98%, ngokulandelanayo.

Amaphesenti okuchezuka we-90th percentile abukeka engcono kunamanani afanayo we-10th percentile. Kodwa lapha kufanelekile ukukhumbula ukuthi izinombolo ezibonisa isikhathi zibonakala zisabisa kakhulu. Masithi - imizuzwana engu-20.8 kuchungechunge oluyinhloko lwedivayisi yeselula yesayithi elakhiwe ku-React. (Ngikholelwa ukuthi indaba yalokho okwenzeka ngempela phakathi nalesi sikhathi ifanele i-athikili ehlukile).

Kukhona inkinga eyodwa engaba khona lapha (siyabonga Jeremiya ngokudonsa ukunaka kwami ​​​​kulesi sici, kanye nokuhlola ngokucophelela idatha kusuka kuleli phuzu lokubuka). Iqiniso liwukuthi izingosi eziningi zisebenzisa amathuluzi amaningana angaphambili. Ikakhulukazi, ngibone amasayithi amaningi asebenzisa i-jQuery eceleni kwe-React noma i-Vue njengoba lawa masayithi efuduka esuka ku-jQuery aye kwezinye izinhlaka noma imitapo yolwazi. Ngenxa yalokho, ngibuyele ku-database, kulokhu ngikhetha kuphela lezo zixhumanisi ezihambisana namasayithi asetshenziswe kuphela i-React, i-jQuery, i-Angular noma i-Vue, kodwa hhayi noma iyiphi inhlanganisela yazo. Nakhu enginakho.

Isikhathi sokucubungula (ngama-millisecond) esihlobene nokucubungula umbhalo kumadivayisi eselula ezimeni lapho amasayithi asebenzisa uhlaka olulodwa kuphela noma umtapo wolwazi owodwa kuphela.

Amaphesenti
10
25
50
75
90

Amasayithi asebenzisa i-jQuery kuphela
542.9
1062.2
2297.4
4769.7
8718.2

Amasayithi asebenzisa i-Vue kuphela
944.0
1716.3
3194.7
5959.6
9843.8

Amasayithi asebenzisa i-Angular kuphela
1328.9
2151.9
3695.3
6629.3
11607.7

Amawebhusayithi asebenzisa i-React kuphela
2443.2
4620.5
10061.4
17074.3
24956.3

Intengo yezinhlaka ze-JavaScript
Isikhathi sokucubungula esihlobene nokucubungula imibhalo kumadivayisi eselula esimweni lapho amasayithi asebenzisa uhlaka olulodwa kuphela, noma umtapo wolwazi owodwa kuphela

Okokuqala, okuthile okungamangazi: lapho isayithi lisebenzisa uhlaka olulodwa noma umtapo wolwazi owodwa, ukusebenza kwesayithi elinjalo kuba ngcono kaningi kunalokho. Ukusebenza kwensimbi ngayinye kubukeka kangcono kumaphesenti angu-10 no-25. Kunengqondo. Isizinda esenziwe kusetshenziswa uhlaka olulodwa kufanele sisheshe kunesiza esenziwe kusetshenziswa izinhlaka ezimbili noma ngaphezulu noma imitapo yolwazi.

Eqinisweni, amaphuzu awo wonke amathuluzi angaphambili esiwahlolile abukeka engcono kuzo zonke izimo, ngaphandle kokukodwa okuthakazelisayo. Okungimangazile ukuthi kumaphesenti angama-50 nangaphezulu, amasayithi asebenzisa i-React enza kabi kakhulu lapho i-React kuwukuphela kwelabhulali abayisebenzisayo. Lokhu, ngendlela, kube yisizathu sokuthi ngethule le datha lapha.

Kuyaxaka lokhu, kodwa ngisazozama ukubheka incazelo yalokhu kuxaka.

Uma iphrojekthi isebenzisa kokubili i-React ne-jQuery, leyo phrojekthi cishe cishe iphakathi nendawo yenqubo yokufuduka isuka ku-jQuery iye ku-React. Mhlawumbe une-codebase lapho le mitapo yolwazi ixutshwa khona. Njengoba sesibonile kakade ukuthi amasayithi e-jQuery achitha isikhathi esincane kuchungechunge olukhulu kunamasayithi we-React, lokhu kungase kusitshele ukuthi ukusebenzisa okunye ukusebenza ku-jQuery kusiza ukuthuthukisa ukusebenza kwesayithi kancane.

Kodwa njengoba iphrojekthi isuka ku-jQuery iye ku-React futhi incike kakhulu ku-React, isimo siyashintsha. Uma isayithi lenziwe ngekhwalithi ephezulu ngempela, futhi abathuthukisi besayithi basebenzisa i-React ngokucophelela, khona-ke konke kuzolunga ngesayithi elinjalo. Kepha esizeni esimaphakathi se-React, ukusetshenziswa kakhulu kwe-React kusho ukuthi intambo eyinhloko ingaphansi komthwalo owandayo.

Igebe phakathi kwamadivayisi eselula nawedeskithophu

Enye indlela engibheke ngayo idatha kwakuwukuhlola ukuthi likhulu kangakanani igebe phakathi kokuhlangenwe nakho kweselula nedeskithophu. Uma sikhuluma ngokuqhathanisa amavolumu ekhodi yeJavaScript, ukuqhathanisa okunjalo akuvezi lutho olubi. Yebo, kungaba kuhle ukubona amanani amancane ekhodi elandekayo, kodwa awukho umehluko omkhulu enanini lekhodi yeselula neyedeskithophu.

Kodwa uma uhlaziya isikhathi esidingekayo ukuze kucutshungulwe ikhodi, igebe elikhulu kakhulu phakathi kwamadivayisi eselula nawedeskithophu liyabonakala.

Ukwenyuka kwesikhathi (ngephesenti) okuhlobene nokucutshungulwa kombhalo kumadivayisi eselula uma kuqhathaniswa nalawo edeskithophu

Amaphesenti
10
25
50
75
90

Zonke izingosi
144.1
172.8
185.5
208.5
224.0

amasayithi we-jQuery
188.2
187.4
191.3
209.6
221.9

Buka amawebhusayithi
222.5
220.8
220.2
221.4
220.4

Amawebhusayithi angama-angular
205.1
206.0
201.6
210.4
218.7

Amawebhusayithi okusabela
431.5
386.8
337.9
242.6
179.6

Nakuba umehluko othile wejubane lokucubungula ikhodi phakathi kwefoni nekhompyutha ephathekayo kufanele ulindelwe, izinombolo ezinkulu kangaka zingitshela ukuthi izinhlaka zesimanje aziqondiswe ngokwanele kumadivayisi anamandla aphansi kanye nesifiso sokuvala igebe elikhonjiwe. Ngisho nakumaphesenti angu-10, amasayithi we-React achitha isikhathi esiningi esingu-431.5% kuchungechunge oluyinhloko lweselula kunaseluchungechungeni oluyinhloko lwedeskithophu. I-jQuery inegebe elincane kakhulu, kodwa ngisho nalapha isibalo esihambisanayo singama-188.2%. Lapho abathuthukisi bewebhusayithi benza amaphrojekthi abo ngendlela yokuthi badinga isikhathi esengeziwe se-CPU ukuze bawacubungule (futhi yilokhu okwenzekayo, futhi kuba kubi kakhulu ngokuhamba kwesikhathi), abanikazi bemishini yamandla aphansi kufanele bakhokhele.

Imiphumela

Izinhlaka ezinhle kufanele zinikeze abathuthukisi isisekelo esihle sokwakha amaphrojekthi ewebhu (ngokwemibandela yokuphepha, ukufinyeleleka, ukusebenza), noma kufanele kube nemikhawulo eyakhelwe ngaphakathi eyenza kube nzima ukudala okuthile okwephula leyo mikhawulo.

Lokhu akubonakali kusebenza ekusebenzeni kwamaphrojekthi wewebhu (futhi ngokusobala kuwo ukufinyeleleka).

Kubalulekile ukuqaphela ukuthi ngenxa yokuthi amasayithi we-React noma angular achitha isikhathi esiningi se-CPU elungiselela ikhodi kunabanye akusho ukuthi amasayithi e-React adinga kakhulu i-CPU kunamasayithi e-Vue uma esebenza. Eqinisweni, idatha esiyibhekile isho okuncane kakhulu mayelana nokusebenza kwezinhlaka nemitapo yolwazi. Bakhuluma kabanzi mayelana nezindlela zokuthuthuka, ezikwaziyo noma cha, lezi zinhlaka ezingaphushela abahleli bezinhlelo. Sikhuluma ngemibhalo yezinhlaka, i-ecosystem yazo, nezindlela zokuthuthukisa ezivamile.

Kuyafaneleka futhi ukusho okuthile esingazange sikuhlaziye lapha, okungukuthi, singakanani isikhathi idivayisi esisebenzisayo isebenzisa ikhodi ye-JavaScript lapho ishintsha phakathi kwamakhasi esayithi. Ingxabano evuna i-SPA iwukuthi uma uhlelo lwekhasi elilodwa selilayishwe esipheqululini, umsebenzisi uzokwazi, ngokombono, ukufinyelela amakhasi esayithi ngokushesha. Okuhlangenwe nakho kwami ​​kungitshela ukuthi lokhu akulona iqiniso. Kodwa asinayo idatha yokucacisa lolu daba.

Okucacile ukuthi uma usebenzisa uhlaka noma umtapo wolwazi ukwakha iwebhusayithi, wenza isivumelwano mayelana nokulayisha kuqala iphrojekthi futhi uyilungiselele ukuhamba. Lokhu kusebenza nasezimeni ezinhle kakhulu.

Kungenzeka ukwenza ukuvumelana okuthile ezimweni ezifanele, kodwa kubalulekile ukuthi onjiniyela benze ukuyekethisa okunjalo ngokuqaphela.

Kodwa futhi sinesizathu sokuba nethemba. Kuyangikhuthaza ukuthi abathuthukisi be-Chrome basebenzisana eduze kangakanani nalabo abangemuva kwamanye amathuluzi angaphambili esiwambozile ukuze sisize ukuthuthukisa ukusebenza kwalawo mathuluzi.

Nokho, ngingumuntu pragmatic. Izakhiwo ezintsha zidala izinkinga zokusebenza kaningi njengoba zizixazulula. Futhi kuthatha isikhathi ukuqeda ukushiyeka. Njengoba nje akufanele sikulindele lokho ubuchwepheshe obusha benethiwekhi izoxazulula zonke izinkinga zokusebenza, akufanele ulindele lokhu ezinguqulweni ezintsha zezinhlaka esizithandayo.

Uma ufuna ukusebenzisa elinye lamathuluzi angaphambili okuxoxwe ngawo kule ndaba, lokhu kusho ukuthi kuzodingeka wenze imizamo eyengeziwe yokuqinisekisa ukuthi, ngengozi, awulimazi ukusebenza kwephrojekthi yakho. Nazi ezinye izinto okufanele uzicabangele ngaphambi kokuthi uqale ukusebenzisa uhlaka olusha:

  • Zihlole ngomqondo ophusile. Ingabe udinga ngempela ukusebenzisa uhlaka olukhethile? I-JavaScript ehlanzekile ingenza okuningi namuhla.
  • Ingabe ikhona enye indlela elula kuhlaka olukhethile (njenge-Preact, i-Svelte noma enye into) engakunika u-90% wamakhono alolo hlaka?
  • Uma ngabe usuvele usebenzisa uhlaka, cabanga ukuthi kukhona yini okunikeza okungcono, okunomsoco, izinketho ezijwayelekile (isibonelo, i-Nuxt.js esikhundleni se-Vue, Next.js esikhundleni se-React, njll.).
  • Uzothini wena isabelomali Ukusebenza kwe-JavaScript?
  • Ungakwenza kanjani umkhawulo inqubo yokuthuthukisa ukwenza kube nzima ukwethula ikhodi ye-JavaScript eningi kuphrojekthi kunokuba kudingekile ngempela?
  • Uma usebenzisa uhlaka lokuthuthuka kalula, cabanga uyadinga thumela ikhodi yohlaka kumakhasimende. Mhlawumbe ungakwazi ukuxazulula zonke izinkinga kuseva?

Imvamisa, le mibono ifanelekile ukuyibhekisisa, kungakhathaliseki ukuthi ukhetha ini ukuthuthukisa ingaphambili. Kodwa zibaluleke kakhulu uma usebenza kuphrojekthi engenakho ukusebenza okufanele uqale ngayo.

Bafundi abathandekayo! Yini oyibona njengohlaka olufanele lweJavaScript?

Intengo yezinhlaka ze-JavaScript

Source: www.habr.com

Engeza amazwana