Bihayê çarçoveyên JavaScript

Rêyek bileztir tune ku meriv malperek hêdî bike (pun mebest) ji meşandina komek kodên JavaScript-ê li ser wê. Dema ku JavaScript-ê bikar tînin, divê hûn di performansa projeyê de herî kêm çar carî ji bo wê bidin. Li vir koda JavaScript-a malperê pergalên bikarhêneran bi çi bar dike:

  • Barkirina pelê li ser torê.
  • Parzûnkirin û berhevkirina koda çavkaniyê ya nepakkirî piştî dakêşandinê.
  • Çêkirina koda JavaScriptê.
  • Vexwarina bîranînê.

Ev tevlihevî derdikeve holê pir biha.

Bihayê çarçoveyên JavaScript

Û em di projeyên xwe de bêtir û bêtir koda JS-ê vedigirin. Gava ku rêxistin ber bi malperên ku ji hêla çarçove û pirtûkxaneyên mîna React, Vue û yên din ve têne hêzdar kirin diçin, em fonksiyona bingehîn a malperan pir bi JavaScript ve girêdayî dikin.

Min gelek malperên pir giran dît ku çarçoveyên JavaScript bikar tînin. Lê nêrîna min a mijarê bi tundî alîgir e. Rastî ev e ku pargîdaniyên ku ez bi wan re dixebitim bi rastî ji min re têne ji ber ku pirsgirêkên performansa malperê yên tevlihev hene. Wekî encamek, ez meraq kirim ku ez zanibim ka ev pirsgirêk çiqas berbelav e, û em çi "cezayên" didin dema ku em yek an çarçoveyek din wekî bingehek ji bo malperek hilbijêrin.

Vê projeyê alîkariya min kir ku ez vê yekê fêm bikim. Arşîva HTTP.

Daneyên

Projeya Arşîva HTTP bi tevahî 4308655 lînkên malperên sermaseya birêkûpêk û 5484239 lînkên malperên mobîl dişopîne. Di nav gelek nîşaneyên ku bi van girêdanan re têkildar in navnîşek teknolojiyên ku li ser malperên têkildar têne dîtin hene. Ev tê vê wateyê ku em dikarin bi hezaran malperên ku çarçove û pirtûkxaneyên cihêreng bikar tînin nimûne bikin û fêr bibin ka ew çiqas kod ji xerîdaran re dişînin û ew kod çiqas bar li pergalên bikarhêneran dike.

Min daneyên ji Adara 2020-an berhev kir, ku ev daneya herî dawî ya ku min gihîştî bû.

Min biryar da ku daneyên berhevkirî yên Arşîva HTTP-ê ji bo hemî malperan bi daneyên malperên ku hatine dîtin ku React, Vue, û Angular bikar tînin bidin ber hev, her çend min fikir kir ku materyalên çavkaniyê yên din jî bikar bînin.

Ji bo ku ew balkêştir bikim, min malperên ku jQuery bikar tînin jî li berhevoka daneya çavkaniyê zêde kir. Ev pirtûkxane hê jî pir populer e. Di heman demê de ew nêzîkatiyek pêşkeftina malperê destnîşan dike ku ji modela Serlêdana Yek Rûpelê (SPA) ya ku ji hêla React, Vue û Angular ve hatî pêşkêş kirin cûda dibe.

Girêdanên di Arşîva HTTP-ê de malperên ku hatine dîtin ku teknolojiyên meraqdar bikar tînin temsîl dikin

Çarçoveyek an pirtûkxane
Girêdanên malperên mobîl
Girêdanên malperên birêkûpêk

jQuery
4615474
3714643

Bersivkirin
489827
241023

Vue
85649
43691

Angular
19423
18088

Hêvî û xeyal

Berî ku em derbasî analîzkirina daneyan bibin, ez dixwazim li ser tiştê ku ez dixwazim hêvî bikim biaxivim.

Ez bawer dikim ku di cîhanek îdeal de, çarçove dê ji hewcedariyên pêşdebiran wêdetir biçin û hin feydeyên berbiçav ji bikarhênerên rojane yên malperên me re peyda bikin. Hilberîn tenê yek ji wan feydeyan e. Gihîştin û ewlehî jî li vir tê bîra mirov. Lê ev tenê ya herî girîng e.

Ji ber vê yekê, di cîhanek îdeal de, divê hin çarçoveyek çêkirina malperek performansa bilind hêsantir bike. Pêdivî ye ku ev yek were kirin ji ber vê yekê ku çarçove bingehek maqûl dide pêşdebiran ku li ser wê projeyek ava bike, an jî ji ber vê yekê ku ew li ser pêşkeftinê sînordar dike, ji bo wê hewcedariyên ku pêşdebirina tiştek dijwar dike. ku hêdî dibe.

Divê çarçoveyên çêtirîn herduyan bikin: bingehek baş peyda bikin, û li ser xebata ku destûrê dide we ku hûn encamek maqûl bi dest bixin, sînordar bikin.

Analîzkirina nirxên navîn ên daneyê dê agahdariya ku em hewce ne bide me. Û, bi rastî, ev nêzîkatî ji bal me dûr dikeve gelek tiştên girîng. Di şûna wê de, min ji daneyên ku di destên min de hebûn, puanên ji sedî derxist. Ev ji sedî 10, 25, 50 (navînî), 75, 90 sedî ne.

Ez bi taybetî ji sedî 10 û 90 eleqedar im. Ji sedî 10-an ji bo çarçoveyek taybetî performansa çêtirîn (an jî bi kêmanî kêmtir an kêmtir nêzî ya çêtirîn) nîşan dide. Bi gotinek din, ev tê vê wateyê ku tenê 10% ji malperên ku çarçoveyek taybetî bikar tînin digihîjin vê astê, an astek bilindtir. Ji aliyê din ve, ji sedî 90-an, aliyê din ê drav e - ew nîşanî me dide ku tişt dikarin çiqas xirab bibin. Ji sedî 90-an malperên paşerojê ne - ew 10% ji malperên paşîn ên ku xwedan mîqdara herî mezin a koda JS an jî dema herî dirêj e ku hewce dike ku koda xwe li ser mijara sereke bişopîne.

Cildên koda JavaScript

Ji bo destpêkirinê, maqûl e ku meriv mezinahiya kodê JavaScript-ê ku ji hêla malperên cihêreng li ser torê ve hatî veguheztin analîz bike.

Hejmara koda JavaScript (KB) ku ji cîhazên mobîl re hatî veguheztin

Percentiles
10
25
50
75
90

Hemû malperên
93.4 
196.6 
413.5 
746.8 
1201.6 

Malperên jQuery
110.3 
219.8 
430.4 
748.6 
1162.3 

Malperên Vue
244.7 
409.3 
692.1 
1065.5 
1570.7 

Malperên Angular
445.1 
675.6 
1066.4 
1761.5 
2893.2 

Malperên React
345.8 
441.6 
690.3 
1238.5 
1893.6 

Bihayê çarçoveyên JavaScript
Hejmara koda JavaScriptê ji cîhazên mobîl re hatî şandin

Hejmara koda JavaScriptê (KB) ku ji cîhazên sermaseyê re hatî veguheztin

Percentiles
10
25
50
75
90

Hemû malperên
105.5 
226.6 
450.4 
808.8 
1267.3 

Malperên jQuery
121.7 
242.2 
458.3 
803.4 
1235.3 

Malperên Vue
248.0 
420.1 
718.0 
1122.5 
1643.1 

Malperên Angular
468.8 
716.9 
1144.2 
1930.0 
3283.1 

Malperên React
308.6 
469.0 
841.9 
1472.2 
2197.8 

Bihayê çarçoveyên JavaScript
Hejmara koda JavaScriptê ku ji cîhazên sermaseyê re hatî veguheztin

Ger em tenê li ser mezinahiya koda JS ya ku malper ji cîhazan re dişînin biaxivin, wê hingê her tişt wekî ku hûn hêvî dikin xuya dike. Ango, heke yek ji çarçoweyan were bikar anîn, ev tê vê wateyê ku di rewşek îdeal de jî, dê hêjmara koda JavaScript-ê ji bo malperê zêde bibe. Ev ne ecêb e - hûn nekarin çarçoveyek JavaScript-ê bikin bingeha malperek û li bendê bin ku hêjmara koda JS-ê ya projeyê pir kêm be.

Tiştê ku di derbarê vê daneyê de balkêş e ev e ku dibe ku hin çarçove û pirtûkxane ji yên din ji bo projeyekê xalên destpêkê çêtir werin hesibandin. Malperên bi jQuery çêtirîn xuya dikin. Malperên wan ên sermaseyê ji hemî malperan %15 zêdetir JavaScript-ê dihewîne, û malperên wan ên mobîl %18-ê JavaScript-ê bêtir dihewîne. (Bêguman, li vir di daneyan de hin xeletî heye. Rastî ev e ku jQuery li ser gelek malperan heye, ji ber vê yekê xwezayî ye ku malperên bi vî rengî ji yên din nêzîktir bi hejmara giştî ya malperan re têkildar in. Lêbelê, ev yek bandorê li ser çawaniya Daneyên çavkaniyê ji bo her çarçoveyek têne derxistin.)

Dema ku 15-18% mezinbûna kodê jimareyek girîng e, dema ku bi çarçove û pirtûkxaneyên din re were berhev kirin, baca ku ji hêla jQuery ve hatî ferz kirin pir kêm e. Malperên Angular ên di sedî 10-an de ji hemî malperan 344% bêtir daneyan dişînin cîhazên sermaseyê, û 377% bêtir ji cîhazên mobîl re. Malperên React yên din ên herî giran in, ji hemî malperan 193% bêtir kodê dişînin cîhazên sermaseyê, û 270% bêtir ji cîhazên mobîl re.

Min berê behs kir ku her çend karanîna çarçoveyek tê vê wateyê ku dê di destpêka xebata li ser wê de hêjmarek kodek di projeyê de were bicîh kirin, ez hêvî dikim ku çarçove bikaribe bi rengek pêşdebiran sînordar bike. Bi taybetî, em behsa sînorkirina herî zêde ya kodê dikin.

Ya balkêş ev e ku malperên jQuery vê ramanê dişopînin. Her çend ew, di asta ji sedî 10-an de, ji hemî malperan hinekî girantir in (ji sedî 15-18%), ew, di asta ji sedî 90-an de, ji hemî malperan hinekî siviktir in - hem di guhertoyên sermaseyê û hem jî di guhertoyên mobîl de bi qasî 3%. Ev nayê vê wateyê ku ev feydeyek pir girîng e, lê dikare were gotin ku malperên jQuery bi kêmî ve di guhertoyên xwe yên herî mezin de jî xwedan pîvanên koda JavaScript-a mezin nînin.

Lê heman tişt li ser çarçoveyên din nayê gotin.

Mîna ku di doza ji sedî 10-an de, di sedî 90-an de malperên li ser Angular û React ji malperên din cûda dibin, lê mixabin ew ji xirabtir cûda dibin.

Di sedî 90-an de, malperên Angular ji hemî malperan 141% bêtir daneyan ji cîhazên mobîl re dişînin, û 159% bêtir ji cîhazên sermaseyê re. Malperên React ji hemî malperan 73% bêtir ji cîhazên sermaseyê re, û% 58 bêtir ji cîhazên mobîl re dişînin. Mezinahiya kodê ya malperên React di sedî 90-an de 2197.8 KB ye. Ev tê vê wateyê ku ev malper 322.9 KB bêtir daneyan dişînin cîhazên mobîl ji hevrikên xwe yên herî nêzîk ên Vue. Cûdahiya di navbera malperên sermaseyê yên li ser Angular û React û malperên din de hîn mezintir e. Mînakî, malperên sermaseyê React 554.7 KB bêtir koda JS-ê ji malperên Vue yên mîna hev re dişînin.

Dem hate girtin ku koda JavaScript-ê li ser mijara sereke bişopîne

Daneyên jorîn eşkere destnîşan dikin ku malperên ku çarçove û pirtûkxaneyên lêkolînkirî bikar tînin gelek kodên JavaScript-ê hene. Lê, bê guman, ev tenê beşek ji hevkêşeya me ye.

Piştî ku koda JavaScript gihîşte gerokê, pêdivî ye ku ew bikeve rewşek xebitandinê. Bi taybetî jî gelek pirsgirêk ji ber wan kiryarên ku divê bi kodê di mijara geroka sereke de bêne kirin têne çêkirin. Mijara sereke berpirsiyariya hilanîna kiryarên bikarhêner, hesabkirina şêwazan, û avakirina û nîşankirina sêwirana rûpelê ye. Ger hûn mijara sereke bi peywirên JavaScript-ê ve zexm bikin, ew ê fersendê tune ku karên din di wextê xwe de temam bike. Ev dibe sedema derengî û "brakes" di xebata rûpelan de.

Databasa Arşîva HTTP-ê agahdarî li ser çiqas dem digire ku koda JavaScript-ê li ser mijara sereke ya motora V8-ê bişopîne heye. Ev tê vê wateyê ku em dikarin van daneyan berhev bikin û fêr bibin ka mijara sereke çiqas wext digire da ku JavaScript-a malperên cihêreng bixebite.

Wextê CPU (di millisecond de) bi pêvajoyek nivîsê ya li ser cîhazên mobîl ve girêdayî ye

Percentiles
10
25
50
75
90

Hemû malperên
356.4
959.7
2372.1
5367.3
10485.8

Malperên jQuery
575.3
1147.4
2555.9
5511.0
10349.4

Malperên Vue
1130.0
2087.9
4100.4
7676.1
12849.4

Malperên Angular
1471.3
2380.1
4118.6
7450.8
13296.4

Malperên React
2700.1
5090.3
9287.6
14509.6
20813.3

Bihayê çarçoveyên JavaScript
Wextê CPU-yê bi pêvajoyek nivîsê ya li ser cîhazên mobîl ve girêdayî ye

Wextê CPU (di millisecond de) bi pêvajoyek nivîsê ya li ser cîhazên sermaseyê ve girêdayî ye

Percentiles
10
25
50
75
90

Hemû malperên
146.0
351.8
831.0
1739.8
3236.8

Malperên jQuery
199.6
399.2
877.5
1779.9
3215.5

Malperên Vue
350.4
650.8
1280.7
2388.5
4010.8

Malperên Angular
482.2
777.9
1365.5
2400.6
4171.8

Malperên React
508.0
1045.6
2121.1
4235.1
7444.3

Bihayê çarçoveyên JavaScript
Wextê CPU-yê bi pêvajoyek nivîsê ya li ser cîhazên sermaseyê ve girêdayî ye

Li vir hûn dikarin tiştek pir nas bibînin.

Ji bo destpêkê, malperên bi jQuery ji yên din kêmtir JavaScript-ê li ser mijara sereke xerc dikin. Di sedî 10-an de, li gorî hemî malperan, malperên jQuery yên li ser cîhazên desta 61% zêdetir wext derbas dikin ku koda JS-ê li ser mijara sereke hildiweşînin. Di warê malperên jQuery yên sermaseyê de, dema pêvajoyê 37% zêde dibe. Di sedî 90-an de, pûanên malperên jQuery pir nêzikî xalên tevhev in. Bi taybetî, malperên jQuery yên li ser cîhazên mobîl ji hemî malperan 1.3% kêmtir wext di mijara sereke de derbas dikin, û li ser cîhazên sermaseyê ew 0.7% kêmtir wext di mijara sereke de derbas dikin.

Li aliyê din ê nirxa me çarçove hene ku bi bargiraniya herî mezin li ser mijara sereke têne destnîşan kirin. Ev, dîsa, Angular û React e. Cûdahiya wan tenê ev e ku, her çend malperên Angular ji malperên React mîqdarên mezintir kodê ji gerokan re dişînin, lê ew kêmtir wextê CPU-yê digire ku koda malperên Angular bişopîne. Pir kêmtir.

Di ji sedî 10-an de, malperên sermaseya Angular ji hemî malperan 230% zêdetir wextê mijara sereke li ser koda JS-ê derbas dikin. Ji bo malperên mobîl ev rêje %313 ye. Malperên React xwedan performansa herî xirab in. Li ser cîhazên sermaseyê ew ji hemî malperan 248% bêtir wextê koda pêvajoyê derbas dikin, û li ser cîhazên mobîl ew 658% bêtir dema koda pêvajoyê derbas dikin. 658% ne xeletiyek tîpî ye. Di sedî 10-an de, malperên React 2.7 saniyeyên dema mijara sereke derbas dikin ku koda xweya heyî hilînin.

Li gorî van hejmarên mezin, hejmarên ji sedî 90-an bi kêmanî hinekî çêtir xuya dikin. Projeyên Angular, li gorî hemî malperan, li ser cîhazên sermaseyê 29% zêdetir wext di mijara sereke de derbas dikin, û li ser cîhazên mobîl 27% zêdetir wext derbas dikin. Di mijara malperên React de, nîşaneyên wekhev bi rêzdarî% 130 û 98% xuya dikin.

Rêjeyên veqetandinê yên ji sedî 90-an ji nirxên wekhev ên ji sedî 10-an çêtir xuya dikin. Lê li vir hêjayî bîranînê ye ku hejmarên ku dem destnîşan dikin pir tirsnak xuya dikin. Ka em bibêjin - 20.8 çirke di mijara sereke ya amûrek mobîl de ji bo malperek ku li ser React hatî çêkirin. (Ez bawer dikim ku çîroka ku di vê demê de bi rastî diqewime hêjayî gotarek cihê ye).

Li vir yek tevliheviyek potansiyel heye (spas Jeremy ji bo ku ez bala xwe bikşînim ser vê taybetmendiyê, û ji bo vekolîna daneyan ji vî alî ve bi baldarî). Rastî ev e ku gelek malper gelek amûrên pêş-end bikar tînin. Bi taybetî, min dît ku gelek malper jQuery digel React an Vue bikar tînin ji ber ku ev malper ji jQuery koçî çarçove an pirtûkxaneyên din dikin. Wekî encamek, ez vegeriyam databasê, vê carê tenê wan lînkên ku bi malperên ku tenê React, jQuery, Angular an Vue bikar tînin, hilbijartim, lê ne yekheviyek ji wan. Li vir tiştê ku min girt.

Di rewşên ku malper tenê çarçoveyek an tenê pirtûkxaneyek bikar tînin de dema pêvajoyê (di milî çirkeyan de) bi pêvajokirina nivîsê ya li ser cîhazên mobîl ve girêdayî ye.

Percentiles
10
25
50
75
90

Malperên ku tenê jQuery bikar tînin
542.9
1062.2
2297.4
4769.7
8718.2

Malperên ku tenê Vue bikar tînin
944.0
1716.3
3194.7
5959.6
9843.8

Malperên ku tenê Angular bikar tînin
1328.9
2151.9
3695.3
6629.3
11607.7

Malperên ku tenê React bikar tînin
2443.2
4620.5
10061.4
17074.3
24956.3

Bihayê çarçoveyên JavaScript
Wextê pêvajoyê ku bi hilberandina nivîsarên li ser cîhazên mobîl ve girêdayî ye di rewşek ku malper tenê çarçoveyek, an tenê pirtûkxaneyek bikar tînin

Ya yekem, tiştek ku ne ecêb e: gava ku malperek tenê çarçoveyek an pirtûkxaneyek bikar tîne, performansa malperek wusa pir caran çêtir dibe. Performansa ji bo her amûrekê di sedî 10 û 25-an de çêtir xuya dike. Aqil dike. Malperek ku bi karanîna çarçoveyek hatî çêkirin divê ji malperek ku bi du an bêtir çarçove an pirtûkxaneyan hatî çêkirin zûtir be.

Di rastiyê de, hejmarên ji bo her amûrek pêşîn a ku me lêkolîn kir di hemî rewşan de çêtir xuya dikir, bi yek îstîsnayek meraq. Tiştê ku ez şaş kirim ev bû ku di sedî 50-an û jor de, malperên ku React bikar tînin xirabtir dixebitin dema ku React tenê pirtûkxaneya ku ew bikar tînin e. Ev bû sedem ku ez van daneyan li vir pêşkêş bikim.

Ev hinekî xerîb e, lê dîsa jî ez ê hewl bidim ku li ravekirina vê xerîbiyê bigerim.

Ger projeyek hem React û hem jî jQuery bikar tîne, wê hingê ew proje bi îhtîmalek mezin di nîvê rê de di pêvajoya koçkirina ji jQuery ber bi React de ye. Dibe ku bingehek wî ya kod heye ku tê de ev pirtûkxane tê de tevlihev in. Ji ber ku me berê dîtiye ku malperên jQuery ji malperên React kêmtir wext li ser mijara sereke derbas dikin, ev dibe ku ji me re vebêje ku bicîhkirina hin fonksiyonan di jQuery de dibe alîkar ku performansa malperê piçekî baştir bike.

Lê her ku proje ji jQuery ber bi React ve diçe û bêtir û bêtir xwe dispêre React, rewş diguhere. Ger malper bi rastî bi kalîteya bilind hatî çêkirin, û pêşdebirên malperê React bi baldarî bikar tînin, wê hingê dê bi malperek wusa re her tişt baş be. Lê ji bo malpera navînî ya React, karanîna berfireh a React tê vê wateyê ku mijara sereke di bin barkirina zêde de ye.

Cûdahiya di navbera cîhazên mobîl û sermaseyê de

Rêyek din ku min li daneyan mêze kir ev bû ku vekolim ka valahiya di navbera ezmûnên mobîl û sermaseyê de çiqas mezin e. Ger em li ser berhevdana cildên koda JavaScript-ê biaxivin, wê hingê berhevokek wusa tiştek tirsnak eşkere nake. Bê guman, dê xweş be ku meriv mîqdarên piçûktir kodên dakêşandî bibînin, lê di mîqdara koda mobîl û sermaseyê de pir cûdahî tune.

Lê heke hûn wextê ku ji bo pêvajokirina kodê hewce dike analîz bikin, valahiya pir mezin di navbera cîhazên mobîl û sermaseyê de diyar dibe.

Zêdebûna wextê (ji sedî) ku bi pêvajoya nivîsarê ya li ser cîhazên mobîl ve girêdayî ye li gorî yên sermaseyê

Percentiles
10
25
50
75
90

Hemû malperên
144.1
172.8
185.5
208.5
224.0

Malperên jQuery
188.2
187.4
191.3
209.6
221.9

Malperên Vue
222.5
220.8
220.2
221.4
220.4

Malperên Angular
205.1
206.0
201.6
210.4
218.7

Malperên React
431.5
386.8
337.9
242.6
179.6

Digel ku hin cûdahiyek di leza hilberandina kodê ya di navbera têlefon û laptopek de tête hêvî kirin, hejmarên wusa mezin ji min re dibêjin ku çarçoveyên nûjen bi têra xwe li amûrên kêm-hêza kêm têne armanc kirin û xwestina girtina valahiya ku hatî nas kirin. Tewra di sedî 10-an de, malperên React 431.5% zêdetir wext li ser mijara sereke ya mobîl ji ya sermaseya sereke derbas dikin. jQuery xwedan valahiya herî piçûk e, lê li vir jî hêjmara têkildar 188.2%. Gava ku pêşdebirên malperê projeyên xwe bi vî rengî çêdikin ku ji wan re bêtir dem CPU hewce dike ku wan pêvajoyê bike (û ev e ya ku diqewime, û ew bi demê re tenê xirabtir dibe), xwediyên cîhazên kêm-hêza neçar in ku ji bo wê bidin.

Encam

Pêdivî ye ku çarçoveyên baş bingehek baş bide pêşdebiran ji bo avakirina projeyên malperê (di warê ewlehî, gihîştin, performansê de), an jî pêdivî ye ku tixûbên çêkirî hebin ku çêkirina tiştek ku wan sînoran binpê dike dijwar dike.

Wusa dixuye ku ev ji performansa projeyên malperê re derbas nabe (û xuya ye ji wan re gihîştîbûn).

Hêjayî gotinê ye ku tenê ji ber ku malperên React an Angular ji yên din bêtir wextê CPU-yê didin amadekirina kodê, nayê vê wateyê ku malperên React di dema xebitandinê de ji malperên Vue-ê CPU-êtir in. Bi rastî, daneyên ku me lê nihêrî di derheqê performansa xebitandinê ya çarçove û pirtûkxaneyan de pir hindik dibêje. Ew bêtir li ser nêzîkatiyên pêşkeftinê diaxivin ku, bi zanebûn an na, van çarçove dikarin bernamenûsan ber bi pêş ve bibin. Em li ser belgekirina çarçoveyan, ekosîstema wan, û teknîkên pêşkeftina hevpar diaxivin.

Di heman demê de hêjayî gotinê ye ku me li vir analîz nekir, ango, dema ku di navbera rûpelên malperê de derbas dibe, cîhaz çiqas wext derbas dike ku koda JavaScript-ê dimeşîne. Nîqaşa di berjewendiya SPA de ev e ku gava ku serîlêdana yek rûpelî di gerokê de were barkirin, bikarhêner, di teoriyê de, dê bikaribe zûtir bigihîje rûpelên malperê. Tecrûbeya min ji min re dibêje ku ev ji rastiyê dûr e. Lê ji bo zelalkirina vê mijarê daneyên me tune ne.

Ya ku diyar e ev e ku heke hûn çarçoveyek an pirtûkxaneyek bikar bînin da ku malperek biafirînin, hûn di warê destpêkirina barkirina projeyê de lihevhatinek çêdikin û wê amade dikin ku biçin. Ev ji bo senaryoyên herî erênî jî derbas dibe.

Di rewşên guncan de gengaz e ku meriv hin lihevhatinan bike, lê girîng e ku pêşdebiran bi zanebûn lihevkirinên weha bikin.

Lê sedemên me yên xweşbîniyê jî hene. Ez ji ber ku pêşdebirên Chrome-ê ji nêz ve bi yên li pişt hin amûrên pêşîn ên ku me veşartiye re ji nêz ve dixebitin re dilxweş im da ku alîkariya baştirkirina performansa wan amûran bikin.

Lêbelê, ez kesek pragmatîk im. Mîmarên nû bi qasî ku ew wan çareser dikin pirsgirêkên performansê diafirînin. Û ji bo rakirina kêmasiyan dem lazim e. Çawa ku divê em li bendê nebin teknolojiyên torê yên nû dê hemî pirsgirêkên performansê çareser bike, divê hûn vê ji guhertoyên nû yên çarçoveyên meyên bijare hêvî nekin.

Heke hûn dixwazin yek ji wan amûrên pêşîn ên ku di vê materyalê de hatine nîqaş kirin bikar bînin, ev tê vê wateyê ku hûn neçar in ku hewildanên zêde bikin da ku pê ewle bibin ku, bi teybetî, hûn zirarê nedin performansa projeya xwe. Berî ku hûn dest bi karanîna çarçoveyek nû bikin, li vir hin nêrîn hene:

  • Xwe bi aqilê hevpar kontrol bikin. Ma hûn bi rastî hewce ne ku hûn çarçoveya xweya bijartî bikar bînin? Pure JavaScript îro dikare gelek tiştan bike.
  • Ji çarçoveya bijartina we re alternatîfek siviktir heye (wek Preact, Svelte an tiştek din) ku dikare% 90 ji kapasîteyên wê çarçoveyê bide we?
  • Ger hûn berê çarçoveyek bikar tînin, bifikirin ka tiştek heye ku vebijarkên çêtir, muhafezekartir, standard pêşkêşî dike (mînak, Nuxt.js li şûna Vue, Next.js li şûna React, hwd.).
  • Te dê çi bike sermîyan Performansa JavaScriptê?
  • Çawa hûn dikarin sînorkirin pêvajoya pêşkeftinê ji bo ku danasîna koda JavaScriptê di projeyekê de ji ya ku bêkêmasî hewce ye dijwartir bike?
  • Heke hûn çarçoveyek ji bo hêsankirina pêşveçûnê bikar tînin, bifikirin hûn hewce ne koda çarçoveyê ji xerîdaran re bişînin. Dibe ku hûn dikarin hemî pirsgirêkên li ser serverê çareser bikin?

Bi gelemperî, van ramanan hêja ye ku meriv ji nêz ve lê binêre, bêyî ku hûn bi rastî çi hilbijêrin ku dawiya pêşiyê pêşve bibin. Lê ew bi taybetî girîng in dema ku hûn li ser projeyek ku ji bo destpêkirina performansê kêm e dixebitin.

Xwendevanên delal! Hûn wekî çarçoveya JavaScriptê ya îdeal çi dibînin?

Bihayê çarçoveyên JavaScript

Source: www.habr.com

Add a comment