Ixabiso lezakhelo zeJavaScript

Akukho ndlela ikhawulezayo yokucothisa iwebhusayithi (akukho pun yenzelwe) kunokuqhuba iqela lekhowudi yeJavaScript kuyo. Xa usebenzisa iJavaScript, kufuneka uyihlawule kumsebenzi weprojekthi ubuncinane amaxesha amane. Nantsi into ikhowudi yeJavaScript yesayithi elayisha ngayo iinkqubo zabasebenzisi:

  • Ukulayisha ifayile kwinethiwekhi.
  • Ukwahlulahlula kunye nokuqulunqa ikhowudi yemvelaphi engapakishwanga emva kokukhuphela.
  • Ukwenza ikhowudi yeJavaScript.
  • Ukusetyenziswa kwememori.

Le ndibaniselwano ijika ibe ibiza kakhulu.

Ixabiso lezakhelo zeJavaScript

Kwaye sibandakanya ngakumbi nangakumbi ikhowudi ye-JS kwiiprojekthi zethu. Njengoko imibutho isiya kwiziza ezixhaswe zizikhokelo kunye namathala eencwadi afana neReact, Vue kunye nezinye, senza umsebenzi ongundoqo weziza uxhomekeke kakhulu kwiJavaScript.

Ndibone iiwebhusayithi ezininzi ezinzima kakhulu zisebenzisa izikhokelo zeJavaScript. Kodwa umbono wam ngalo mba uthath' icala. Inyani yeyokuba iinkampani endisebenza nazo ziza kum ngokuchanekileyo kuba zineengxaki zokusebenza kwewebhusayithi. Ngenxa yoko, ndaba nomdla wokwazi ukuba ixhaphake kangakanani le ngxaki, kwaye yintoni "izohlwayo" esizihlawulayo xa sikhetha esinye okanye esinye isakhelo njengesiseko sendawo ethile.

Le projekthi yandinceda ukuba ndiyiqonde le nto. Indawo yokugcina yeHTTP.

Iinkcukacha

Iprojekthi ye-HTTP ye-Archive ilandelela inani elipheleleyo le-4308655 ikhonkco kwiindawo eziqhelekileyo ze-desktop kunye ne-5484239 ikhonkco kwiindawo ezihambahambayo. Phakathi kwezalathi ezininzi ezinxulumene nala makhonkco luhlu lwethekhnoloji efunyenwe kwiindawo ezihambelanayo. Oku kuthetha ukuba sinokusampula amawaka eendawo ezisebenzisa izikhokelo ezahlukeneyo kunye namathala eencwadi kwaye sifunde ukuba ingakanani na ikhowudi abayithumelayo kubathengi kunye nokuba ungakanani na umthwalo obekwa yikhowudi kwiinkqubo zabasebenzisi.

Ndiqokelele idatha ukusuka ngoMatshi ka-2020, eyona datha yamva nje bendinokufikelela kuyo.

Ndigqibe kwelokuba ndithelekise idatha ehlanganisiweyo ye-HTTP kuzo zonke iisayithi ezinedatha yeesayithi ezifunyenwe zisebenzisa i-React, i-Vue, kunye ne-Angular, nangona ndicinge ukusebenzisa enye imathiriyeli yomthombo ngokunjalo.

Ukwenza umdla ngakumbi, ndongeze iisayithi ezisebenzisa i-jQuery kwiseti yedatha yomthombo. Eli thala leencwadi lisathandwa kakhulu. Kwakhona yazisa indlela yokuphuhliswa kwewebhusayithi eyahlukileyo kwimodeli yeSicelo sePhepha elinye (i-SPA) enikezelwa yi-React, Vue kunye ne-Angular.

Unxulumano kuVimba weHTTP omele iisayithi ezifunyaniswe zisebenzisa ubuchwepheshe obunomdla kuthi

Isakhelo okanye ithala leencwadi
Iilinki kwiindawo eziphathwayo
Iikhonkco kwiindawo eziqhelekileyo

jQuery
4615474
3714643

usabela
489827
241023

Vue
85649
43691

emboxo
19423
18088

Amathemba namaphupha

Ngaphambi kokuba siqhubele phambili ekuhlalutyeni idatha, ndifuna ukuthetha malunga noko ndingathanda ukuthemba.

Ndiyakholelwa ukuba kwihlabathi elifanelekileyo, izikhokelo ziyakuhamba ngaphaya kokuhlangabezana neemfuno zabaphuhlisi kwaye zibonelele ngezibonelelo ezibambekayo kubasebenzisi bemihla ngemihla beesayithi zethu. Imveliso yenye yezo zibonelelo. Ukufikeleleka kunye nokhuseleko kwakhona kuza engqondweni apha. Kodwa oku kuphela kweyona nto ibalulekileyo.

Ngoko ke, kwihlabathi elifanelekileyo, uhlobo oluthile lwesakhelo kufuneka lenze kube lula ukwenza iwebhusayithi yokusebenza okuphezulu. Oku kufuneka kwenziwe mhlawumbi ngenxa yokuba isakhelo sinika umphuhlisi isiseko esifanelekileyo sokwakha iprojekthi, okanye ngenxa yokuba ibeka izithintelo kuphuhliso, ukubeka phambili iimfuno ezenza kube nzima ukuphuhlisa into ethile. oko kubonakala kucotha.

Izikhokelo ezifanelekileyo kufuneka zenze zombini: zinike isiseko esihle, kwaye zibeke izithintelo kumsebenzi okuvumela ukuba ufezekise umphumo ohloniphekileyo.

Ukuhlalutya amaxabiso aphakathi edatha akusayi kusinika ulwazi esiludingayo. Kwaye, eneneni, le ndlela ishiya ngaphaya kwengqalelo yethu izinto ezininzi ezibalulekileyo. Endaweni yoko, ndifumene amanqaku epesenti kwidatha ebendinayo. Ezi ziyi-10, 25, 50 (i-median), i-75, i-90 yeepesenti.

Ndinomdla kakhulu kwipesenti ye-10 kunye ne-90. Ipesenti ye-10 imele ukusebenza kakuhle (okanye ubuncinane ngaphezulu okanye ngaphantsi kweyona nto ingcono) kwisakhelo esithile. Ngamanye amazwi, oku kuthetha ukuba kuphela i-10% yeziza ezisebenzisa isakhelo esithile zifikelela kweli nqanaba, okanye kwinqanaba eliphezulu. Ipesenti ezingama-90, kwelinye icala, lelinye icala lengqekembe - isibonisa indlela izinto ezinokuba mbi ngayo. I-90th percentile yi-trailing sites-ezo zi-10% zokugqibela zeendawo ezinenani elikhulu lekhowudi ye-JS okanye ixesha elide elifunekayo ukuze kuqhutywe ikhowudi yabo kwintambo eyintloko.

Imiqulu yekhowudi yeJavaScript

Ukuqala, kunengqiqo ukuhlalutya ubungakanani bekhowudi yeJavaScript ehanjiswe kwiindawo ezahlukeneyo kwinethiwekhi.

Isixa sekhowudi yeJavaScript (KB) ekhutshelwe kwizixhobo eziphathwayo

Iipesenti
10
25
50
75
90

Zonke iisayithi
93.4 
196.6 
413.5 
746.8 
1201.6 

iisayithi zejQuery
110.3 
219.8 
430.4 
748.6 
1162.3 

Jonga iiwebhusayithi
244.7 
409.3 
692.1 
1065.5 
1570.7 

Iiwebhusayithi zeAngular
445.1 
675.6 
1066.4 
1761.5 
2893.2 

Iiwebhusayithi zokusabela
345.8 
441.6 
690.3 
1238.5 
1893.6 

Ixabiso lezakhelo zeJavaScript
Isixa sekhowudi yeJavaScript ethunyelwe kwizixhobo eziphathwayo

Isixa sekhowudi yeJavaScript (KB) egqithiselwe kwizixhobo zedesktop

Iipesenti
10
25
50
75
90

Zonke iisayithi
105.5 
226.6 
450.4 
808.8 
1267.3 

iisayithi zejQuery
121.7 
242.2 
458.3 
803.4 
1235.3 

Jonga iiwebhusayithi
248.0 
420.1 
718.0 
1122.5 
1643.1 

Iiwebhusayithi zeAngular
468.8 
716.9 
1144.2 
1930.0 
3283.1 

Iiwebhusayithi zokusabela
308.6 
469.0 
841.9 
1472.2 
2197.8 

Ixabiso lezakhelo zeJavaScript
Isixa sekhowudi yeJavaScript ekhutshelwe kwizixhobo zedesktop

Ukuba sithetha kuphela malunga nobukhulu bekhowudi ye-JS ezithunyelwa kwiisayithi kwizixhobo, ngoko yonke into ikhangeleka njengoko unokulindela. Okukuthi, ukuba esinye sesakhelo sisetyenzisiweyo, oku kuthetha ukuba nakwimeko efanelekileyo, umthamo wekhowudi yeJavaScript yesayithi uya kwanda. Oku akumangalisi - awukwazi ukwenza isakhelo seJavaScript isiseko sesayithi kwaye ulindele ukuba inani lekhowudi ye-JS yeprojekthi iya kuba phantsi kakhulu.

Yintoni enika umdla ngale datha kukuba ezinye izikhokelo kunye namathala eencwadi anokuthathwa njengeendawo ezingcono zokuqalisa iprojekthi kunezinye. IiWebhusayithi ezinejQuery zikhangeleka kakuhle. Iisayithi zabo zedesktop zine-15% yeJavaScript ngaphezulu kwazo zonke iisayithi, kwaye iisayithi zabo eziphathwayo zine-18% ngaphezulu kweJavaScript. (Kuyavunywa, kukho i-skew kwidatha apha. Inyaniso kukuba i-jQuery ikhona kwiindawo ezininzi, ngoko kuyimvelo ukuba iindawo ezinjalo zihlobene kakhulu nenani elipheleleyo leesayithi kunezinye. Nangona kunjalo, oku akuchaphazeli indlela Umthombo wedatha yimveliso yesakhelo ngasinye.)

Ngelixa i-15-18% yokukhula kwekhowudi iyinani elibalulekileyo, xa kuthelekiswa nezinye izikhokelo kunye namathala eencwadi, irhafu ebekwe yi-jQuery iphantsi kakhulu. Iziza ze-Angular kwi-10th percentile zithumela i-344% idatha engaphezulu kwizixhobo ze-desktop kuzo zonke iisayithi, kunye ne-377% ngaphezulu kwizixhobo eziphathwayo. Iisayithi ezisabelayo zezona zinzima kakhulu, zithumela i-193% ikhowudi engaphezulu kwizixhobo zedesktop kuzo zonke iisayithi, kunye ne-270% ngaphezulu kwizixhobo eziphathwayo.

Nditshilo ngaphambili ukuba nangona ukusebenzisa isakhelo kuthetha ukuba inani elithile lekhowudi liya kufakwa kwiprojekthi ekuqaleni komsebenzi kuyo, ndiyathemba ukuba isakhelo siyakwazi ukukhawulela umthuthukisi ngandlela-thile. Ngokukodwa, sithetha ngokunciphisa inani eliphezulu lekhowudi.

Yintoni enomdla kukuba iisayithi ze-jQuery zilandela le ngcamango. Nangona bona, kwinqanaba le-percentile ye-10, banzima kancinci kuzo zonke iisayithi (ngo-15-18%), bona, kwinqanaba le-90 yepesenti, bakhaphukhaphu kancinci kuzo zonke iisayithi - malunga ne-3% kuzo zombini ii-desktop kunye neenguqulelo zeselula. Oku akuthethi ukuba le yinzuzo ebaluleke kakhulu, kodwa kunokutshiwo ukuba iisayithi ze-jQuery azinamanani amakhulu ekhowudi yeJavaScript nakwiinguqulelo zazo ezinkulu.

Kodwa okufanayo akunakuthethwa malunga nezinye izikhokelo.

Kanye njengokuba kwimeko yepesenti ye-10, kwiindawo ze-90 zepesenti kwi-Angular kunye ne-React ziyahluka kwezinye iisayithi, kodwa ziyahluka, ngelishwa, ngokubi.

Kwi-90th percentile, iisayithi ze-Angular zithumela i-141% idatha engaphezulu kwizixhobo eziphathwayo kuzo zonke iisayithi, kunye ne-159% ngaphezulu kwizixhobo zedesktop. Iisayithi ezisabelayo zithumela i-73% ngaphezulu kwizixhobo zedesktop kunazo zonke iisayithi, kunye ne-58% ngaphezulu kwizixhobo eziphathwayo. Ubungakanani bekhowudi yeesayithi ze-React kwi-90th percentile yi-2197.8 KB. Oku kuthetha ukuba ezi sayithi zithumela i-322.9 KB yedatha engaphezulu kwizixhobo eziphathwayo kunabo bakhuphisana nabo bakufutshane base-Vue-based. Umsantsa phakathi kweesayithi zedesktop esekwe kwi-Angular kunye ne-React kunye nezinye iisayithi mkhulu ngakumbi. Umzekelo, iisayithi ze-desktop ze-React zithumela i-554.7 KB ngaphezulu kwekhowudi ye-JS kwizixhobo kuneendawo ezifanayo ze-Vue.

Ixesha elithathiweyo ukuqhubekekisa ikhowudi yeJavaScript kumsonto oyintloko

Le datha ingentla ibonisa ngokucacileyo ukuba iisayithi ezisebenzisa izikhokelo kunye neelayibrari ezifundiweyo ziqulethe ixabiso elikhulu lekhowudi yeJavaScript. Kodwa, ewe, le yinxalenye nje enye yenxaki yethu.

Emva kokuba ikhowudi yeJavaScript ifikile kwisikhangeli, kufuneka iziswe kwimeko yokusebenza. Ngokukodwa iingxaki ezininzi zibangelwa zezo zenzo kufuneka zenziwe ngekhowudi kwintambo yomkhangeli zincwadi. Intambo ephambili inoxanduva lokucubungula izenzo zomsebenzisi, izitayela zokubala, kunye nokwakha kunye nokubonisa ukwakheka kwephepha. Ukuba ugqithisa intambo ephambili kunye nemisebenzi yeJavaScript, ayiyi kuba nethuba lokugqiba eminye imisebenzi ngexesha elifanelekileyo. Oku kukhokelela ekulibazisekeni kunye "neziqhoboshi" ekusebenzeni kwamaphepha.

I-database ye-HTTP Archive iqulethe ulwazi malunga nokuba kuthatha ixesha elingakanani ukucubungula ikhowudi yeJavaScript kumsonto oyintloko we-injini ye-V8. Oku kuthetha ukuba singakwazi ukuqokelela le datha kwaye sifunde ukuba lingakanani ixesha intambo ephambili ithatha ukucubungula iJavaScript yeendawo ezahlukeneyo.

Ixesha le-CPU (kwi-milliseconds) ehambelana nokusetyenzwa kweskripthi kwizixhobo eziphathwayo

Iipesenti
10
25
50
75
90

Zonke iisayithi
356.4
959.7
2372.1
5367.3
10485.8

iisayithi zejQuery
575.3
1147.4
2555.9
5511.0
10349.4

Jonga iiwebhusayithi
1130.0
2087.9
4100.4
7676.1
12849.4

Iiwebhusayithi zeAngular
1471.3
2380.1
4118.6
7450.8
13296.4

Iiwebhusayithi zokusabela
2700.1
5090.3
9287.6
14509.6
20813.3

Ixabiso lezakhelo zeJavaScript
Ixesha le-CPU elinxulumene nokusetyenzwa kweskripthi kwizixhobo eziphathwayo

Ixesha le-CPU (kwi-milliseconds) enxulumene nokusetyenzwa kweskripthi kwizixhobo zedesktop

Iipesenti
10
25
50
75
90

Zonke iisayithi
146.0
351.8
831.0
1739.8
3236.8

iisayithi zejQuery
199.6
399.2
877.5
1779.9
3215.5

Jonga iiwebhusayithi
350.4
650.8
1280.7
2388.5
4010.8

Iiwebhusayithi zeAngular
482.2
777.9
1365.5
2400.6
4171.8

Iiwebhusayithi zokusabela
508.0
1045.6
2121.1
4235.1
7444.3

Ixabiso lezakhelo zeJavaScript
Ixesha le-CPU elinxulumene nokusetyenzwa kweskripthi kwizixhobo zedesktop

Apha unokubona into eyaziwa kakhulu.

Ukuqala, iisayithi ezinejQuery zichitha kakhulu ukusetyenzwa kweJavaScript kumsonto ophambili kunabanye. Kwi-percentile ye-10, xa kuthelekiswa nazo zonke iisayithi, iisayithi ze-jQuery kwizixhobo eziphathwayo zichitha i-61% ixesha elingakumbi lokucubungula ikhowudi ye-JS kwintambo enkulu. Kwimeko yeesayithi ze-desktop jQuery, ixesha lokucubungula linyuka nge-37%. Kwipesenti ezingama-90, amanqaku esayithi e-jQuery asondele kakhulu kumanqaku adityanisiweyo. Ngokukodwa, iisayithi ze-jQuery kwizixhobo eziphathwayo zichitha ixesha elingaphantsi kwe-1.3% kumsonto oyintloko kunazo zonke iisayithi, kunye nezixhobo zedesktop zichitha ixesha elingaphantsi kwe-0.7% kumsonto oyintloko.

Kwelinye icala lokulinganisa kwethu kukho izikhokelo ezibonakaliswe ngowona mthwalo mkhulu kumsonto oyintloko. Oku, kwakhona, i-Angular kunye ne-React. Ukwahlukana kuphela phakathi kwabo kukuba, nangona iisayithi ze-Angular zithumela inani elikhulu lekhowudi kwiiphequluli kuneendawo ze-React, kuthatha ixesha elincinane le-CPU ukucubungula ikhowudi yeendawo ze-Angular. Kancinci kancinci.

Kwi-percentile ye-10, iisayithi ze-desktop ze-Angular zichitha i-230% ngaphezulu kwexesha eliphambili lentambo yokucubungula ikhowudi ye-JS ngaphezu kwazo zonke iisayithi. Kwiisayithi eziphathwayo eli nani lingama-313%. Iisayithi ezisabelayo zinomsebenzi ombi kakhulu. Kwizixhobo zedeskithophu bachitha i-248% ikhowudi yokucubungula ixesha elingakumbi kunazo zonke iisayithi, kwaye kwizixhobo eziphathwayo zichitha i-658% ikhowudi yokucubungula ixesha. I-658% ayiyiyo itypo. Kwipesenti ye-10, iisayithi ze-React zichitha i-2.7 imizuzwana yexesha eliphambili lentambo yokulungisa ikhowudi yabo ekhoyo.

Amanani epesenti angama-90 akhangeleka ngcono kancinci xa ethelekiswa nala manani makhulu. Iiprojekthi ze-Angular, xa kuthelekiswa nazo zonke iisayithi, zichitha i-29% ixesha elingakumbi kwintambo ephambili kwizixhobo ze-desktop, kunye ne-27% ixesha elingakumbi kwizixhobo eziphathwayo. Kwimeko yeesayithi ze-React, izikhombisi ezifanayo zibukeka njenge-130% kunye ne-98%, ngokulandelanayo.

Iipesenteji zokutenxa kwipesenti ezingama-90 zikhangeleka zingcono kunamaxabiso afanayo epesenti ye-10. Kodwa apha kubalulekile ukukhumbula ukuba amanani abonisa ixesha abonakala esoyika. Masithi-imizuzwana engama-20.8 kumsonto oyintloko wesixhobo esiphathwayo sesiza esakhiwe kwi-React. (Ndiyakholelwa ukuba ibali lento eyenzekayo ngeli xesha lifanelekile inqaku elahlukileyo).

Kukho enye ingxaki enokwenzeka apha (enkosi uYeremiya ngokutsala ingqalelo yam kolu phawu, kunye nokuphonononga ngononophelo idata kule ndawo yokujonga). Inyani kukuba iisayithi ezininzi zisebenzisa izixhobo ezininzi zangaphambili. Ngokukodwa, ndibone iisayithi ezininzi zisebenzisa i-jQuery ecaleni kwe-React okanye i-Vue njengoko ezi sayithi zifuduka ukusuka kwi-jQuery ukuya kwezinye izikhokelo okanye amathala eencwadi. Ngenxa yoko, ndabuyela kwisiseko sedatha, ngeli xesha ndikhetha kuphela ezo zikhonkco ezihambelana neziza ezisetyenziselwa kuphela i-React, i-jQuery, i-Angular okanye i-Vue, kodwa ayikho nayiphi na indibaniselwano yazo. Nantsi into endiyifumeneyo.

Ixesha leprosesa (kwi-milliseconds) enxulumene nokusetyenzwa kweskripthi kwizixhobo eziphathwayo kwiimeko apho iisayithi zisebenzisa isakhelo esinye kuphela okanye ilayibrari enye kuphela.

Iipesenti
10
25
50
75
90

Iisayithi ezisebenzisa i-jQuery kuphela
542.9
1062.2
2297.4
4769.7
8718.2

Iisayithi ezisebenzisa i-Vue kuphela
944.0
1716.3
3194.7
5959.6
9843.8

Iisayithi ezisebenzisa i-Angular kuphela
1328.9
2151.9
3695.3
6629.3
11607.7

IiWebhusayithi ezisebenzisa kuphela iReact
2443.2
4620.5
10061.4
17074.3
24956.3

Ixabiso lezakhelo zeJavaScript
Ixesha leprosesa elinxulumene nokucubungula izikripthi kwizixhobo eziphathekayo kwimeko apho iisayithi zisebenzisa isakhelo esinye kuphela, okanye ilayibrari enye kuphela

Okokuqala, into engamangalisiyo: xa isayithi isebenzisa isakhelo esinye kuphela okanye ilayibrari enye, ukusebenza kweso siza kuphucula ngokuphindaphindiweyo. Ukusebenza kwesixhobo ngasinye kubonakala bhetele kwipesenti ze-10 kunye ne-25. Iyavakala. Isiza esenziwe kusetyenziswa isakhelo esinye kufuneka sikhawuleze kunesiza esenziwe kusetyenziswa iziseko ezimbini okanye ngaphezulu okanye amathala eencwadi.

Ngapha koko, amanqaku aso sonke isixhobo sokugqibela esisivavanyileyo ajongeka ngcono kuzo zonke iimeko, ngaphandle komnye onomdla. Into eyandothusayo kukuba kwipesenti yama-50 nangaphezulu, iisayithi ezisebenzisa i-React ziqhuba kakubi xa i-React ikuphela kwethala leencwadi abalisebenzisayo. Oku, ngendlela, yayisisizathu sokuba ndibonise le datha apha.

Iyamangalisa ke le, kodwa ndisazama ukukhangela ingcaciso ngalo mmangaliso.

Ukuba iprojekthi isebenzisa zombini i-React kunye ne-jQuery, ngoko ke loo projekthi inokwenzeka kwindawo ethile phakathi kwinkqubo yokufuduka kwi-jQuery ukuya kwi-React. Mhlawumbi une-codebase apho la mathala eencwadi axutywe. Kuba sele sibonile ukuba iisayithi ze-jQuery zichitha ixesha elincinci kumsonto ophambili kune-React sites, oku kunokusixelela ukuba ukuphumeza umsebenzi othile kwi-jQuery kunceda ukuphucula ukusebenza kwesayithi kancinci.

Kodwa njengoko iprojekthi isuka kwi-jQuery ukuya kwi-React kwaye ixhomekeke ngakumbi nangakumbi kwi-React, imeko iyatshintsha. Ukuba isiza senziwe ngomgangatho ophezulu ngokwenene, kwaye abaphuhlisi besayithi basebenzisa i-React ngononophelo, ngoko yonke into iya kulunga kwindawo enjalo. Kodwa kwi-avareji yesayithi ye-React, ukusetyenziswa ngokubanzi kwe-React kuthetha ukuba intambo ephambili ixhomekeke kumthwalo owandisiweyo.

Umsantsa phakathi kwezixhobo eziphathwayo kunye nedesktop

Enye indlela endajonga ngayo idatha yayikukuphonononga ukuba likhulu kangakanani isithuba phakathi kwamava eselula kunye nedesktop. Ukuba sithetha ngokuthelekisa imiqulu yekhowudi yeJavaScript, ngoko uthelekiso olunjalo alubonakalisi into embi. Ewe kunjalo, kuya kuba kuhle ukubona amanani amancinci ekhowudi ekhutshelwayo, kodwa akukho mahluko ungako kwisixa sekhowudi yeselula kunye nedesktop.

Kodwa ukuba uhlalutya ixesha elifunekayo ukusetyenzwa kwekhowudi, umsantsa omkhulu kakhulu phakathi kwezixhobo zeselfowuni kunye nedesktop uyabonakala.

Ukonyuka kwexesha (ngepesenti) enxulumene nokusetyenzwa kweskripthi kwizixhobo eziphathwayo xa kuthelekiswa nedesktop

Iipesenti
10
25
50
75
90

Zonke iisayithi
144.1
172.8
185.5
208.5
224.0

iisayithi zejQuery
188.2
187.4
191.3
209.6
221.9

Jonga iiwebhusayithi
222.5
220.8
220.2
221.4
220.4

Iiwebhusayithi zeAngular
205.1
206.0
201.6
210.4
218.7

Iiwebhusayithi zokusabela
431.5
386.8
337.9
242.6
179.6

Ngelixa umahluko othile kwisantya sokusingathwa kwekhowudi phakathi kwefowuni kunye nelaptop kufuneka ulindeleke, amanani amakhulu kangaka andixelela ukuba izikhokelo zale mihla azijoliswanga ngokwaneleyo kwizixhobo ezinamandla aphantsi kunye nomnqweno wokuvala umsantsa ochongiwe. Nakwipesenti ye-10, iisayithi ze-React zichitha i-431.5% ixesha elingakumbi kumsonto oyintloko ophathwayo kune-desktop engundoqo. I-jQuery inomsantsa omncinci, kodwa nalapha inani elihambelanayo yi-188.2%. Xa abaphuhlisi bewebhusayithi benza iiprojekthi zabo ngendlela yokuba bafune ixesha elingakumbi le-CPU ukuze baqhube (kwaye oku kwenzekani, kwaye kuya kuba nzima kakhulu ngokuhamba kwexesha), abanini bezixhobo eziphantsi kwamandla kufuneka bahlawule.

Iziphumo

Izikhokelo ezilungileyo kufuneka zinike abaphuhlisi isiseko esihle sokwakha iiprojekthi zewebhu (ngokwemiqathango yokhuseleko, ukufikelela, ukusebenza), okanye kufuneka kube nezithintelo ezakhelwe ngaphakathi ezenza kube nzima ukwenza into ephula ezo zithintelo.

Oku akubonakali kusebenza ekusebenzeni kweeprojekthi zewebhu (kwaye ngokucacileyo kuzo ukufikeleleka).

Kufanelekile ukuqaphela ukuba ngenxa yokuba iisayithi ze-React okanye ze-Angular zichitha ixesha elininzi le-CPU lilungiselela ikhowudi kunabanye akuthethi ukuba iisayithi ze-React zi-CPU-zinzulu kuneendawo ze-Vue xa ziqhuba. Ngapha koko, idatha esiyijongileyo ithetha kancinci kakhulu malunga nokusebenza kwezikhokelo kunye namathala eencwadi. Bathetha ngakumbi malunga neendlela zophuhliso ezinokuthi, ngokuqaphela okanye hayi, ezi zikhokelo zinokutyhala abadwelisi benkqubo ukuba baye. Sithetha ngamaxwebhu esikhokelo, i-ecosystem yabo, kunye nobuchule obuqhelekileyo bophuhliso.

Kukwafanelekile ukukhankanya into esingazange siyihlalutye apha, oko kukuthi, lingakanani ixesha elichithwa isixhobo sisebenzisa ikhowudi yeJavaScript xa sitshintsha phakathi kwamaphepha esayithi. Ingxoxo exhasa i-SPA kukuba xa isicelo sephepha elinye silayishwe kwisikhangeli, umsebenzisi uya kuthi, ngokwethiyori, abe nako ukufikelela kumaphepha esayithi ngokukhawuleza. Amava am andixelela ukuba oku akuyonyani. Kodwa asinayo idatha yokucacisa lo mba.

Yintoni ecacileyo kukuba ukuba usebenzisa isakhelo okanye ilayibrari ukwenza iwebhusayithi, wenza i-compromise malunga nokulayisha iprojekthi ekuqaleni kwaye ulungele ukuhamba. Oku kusebenza nakwiimeko ezintle kakhulu.

Kuyenzeka ukwenza ulungelelwaniso oluthile kwiimeko ezifanelekileyo, kodwa kubalulekile ukuba abaphuhlisi benze ulungelelaniso olunjalo ngononophelo.

Kodwa sinesizathu sokuba nethemba. Ndikhuthazwa yindlela ngokusondeleyo abaphuhlisi beChrome basebenza ngayo nabo basemva kwezinye zezixhobo zokugqibela esizigubungeleyo ukunceda ukuphucula ukusebenza kwezo zixhobo.

Nangona kunjalo, ndingumntu wepragmatic. Uyilo olutsha ludala iingxaki zokusebenza rhoqo njengoko zizisombulula. Yaye kuthatha ixesha ukuphelisa iintsilelo. Kanye njengokuba singayilindelanga loo nto itekhnoloji entsha yenethiwekhi iya kusombulula zonke iingxaki zokusebenza, akufanele ulindele oku kwiinguqulelo ezintsha zesakhelo esizithandayo.

Ukuba ufuna ukusebenzisa esinye sezixhobo eziphambili ezixutyushwa kulo mbandela, oku kuthetha ukuba kuya kufuneka wenze imizamo eyongezelelweyo yokuqinisekisa ukuba, ngokuqinisekileyo, awulimazi ukusebenza kweprojekthi yakho. Nazi ezinye izinto ekufuneka uziqwalasele ngaphambi kokuba uqale ukusebenzisa isakhelo esitsha:

  • Zihlole ngengqiqo. Ngaba ngokwenene kufuneka usebenzise isakhelo esikhethiweyo? IJavaScript ecocekileyo inokwenza okuninzi namhlanje.
  • Ngaba kukho enye indlela ekhaphukhaphu kwisakhelo esisikhethileyo (njengePreact, Svelte okanye enye into) enokunika i-90% yezakhono zesakhelo?
  • Ukuba sele usebenzisa isakhelo, cinga malunga nokuba kukho into enikezela ngcono, i-conservative ngakumbi, iinketho eziqhelekileyo (umzekelo, i-Nuxt.js endaweni ye-Vue, i-Next.js endaweni ye-React, njl.).
  • Uzakuthini wena uhlahlo lwabiwo-mali Ukusebenza kweJavaScript?
  • Ungenza njani umda inkqubo yophuhliso ukwenza kube nzima kakhulu ukwazisa ngakumbi ikhowudi yeJavaScript kwiprojekthi kunokuba kuyimfuneko?
  • Ukuba usebenzisa isakhelo sophuhliso lula, qwalasela uyadinga thumela ikhowudi yesakhelo kubaxhasi. Mhlawumbi unokusombulula yonke imiba kumncedisi?

Ngokwesiqhelo, ezi ngcinga zifanelekile ukujonga ngakumbi, kungakhathaliseki ukuba ukhetha ntoni na ukuphuhlisa isiphelo sangaphambili. Kodwa zibaluleke ngakumbi xa usebenza kwiprojekthi engenamsebenzi ukuqala ngayo.

Bafundi abathandekayo! Yintoni oyibonayo njengesakhelo esifanelekileyo seJavaScript?

Ixabiso lezakhelo zeJavaScript

umthombo: www.habr.com

Yongeza izimvo