Presyo sa JavaScript frameworks

Walay mas paspas nga paagi sa pagpahinay sa usa ka website (pun intended) kay sa paggamit sa usa ka hugpong sa JavaScript code niini. Kung gigamit ang JavaScript, kinahanglan nimo nga bayran kini sa paghimo sa mga proyekto nga dili moubos sa upat ka beses. Ania kung giunsa pagkarga sa code sa JavaScript sa site ang mga sistema sa mga tiggamit:

  • Pag-download sa usa ka file sa network.
  • Pag-parse ug pag-compile sa wala ma-pack nga source code pagkahuman sa pag-download.
  • Pagpatuman sa JavaScript code.
  • Pagkonsumo sa memorya.

Kini nga kombinasyon nahimo mahal kaayo.

Presyo sa JavaScript frameworks

Ug among gilakip ang dugang ug mas daghang JS code sa among mga proyekto. Samtang ang mga organisasyon naglihok padulong sa mga site nga gipadagan sa mga balangkas ug mga librarya sama sa React, Vue ug uban pa, gihimo namon ang panguna nga pagpaandar sa mga site nga nagsalig kaayo sa JavaScript.

Nakakita ko og daghang bug-at kaayo nga mga site gamit ang JavaScript frameworks. Pero bias kaayo ang akong panglantaw sa isyu. Ang tinuod mao nga ang mga kompanya nga akong gitrabahoan milingi kanako tungod kay nag-atubang sila sa mga komplikado nga problema sa natad sa pasundayag sa site. Ingon usa ka sangputanan, nakuryuso ako kung unsa ka sagad kini nga problema, ug kung unsang klase nga "mga silot" ang among gibayad kung gipili namon ang usa o lain nga balangkas ingon basihan sa usa ka site.

Ang proyekto nakatabang kanako nga masabtan kini. HTTP Archive.

data

Ang proyekto sa HTTP Archive nagsubay sa kinatibuk-an nga 4308655 ka link sa regular nga desktop site ug 5484239 ka link sa mobile sites. Lakip sa daghang mga sukdanan nga nalangkit sa kini nga mga link mao ang usa ka lista sa mga teknolohiya nga makit-an sa tagsa-tagsa nga mga site. Nagpasabot kini nga maka-sample kami og liboan ka mga site nga naggamit sa lain-laing mga frameworks ug librarya ug makat-on mahitungod sa unsa kadaghan nga code ang ilang ipadala sa mga kliyente ug kung unsa kadaghan ang load niini nga code nga namugna sa mga sistema sa mga tiggamit.

Nakolekta nako ang datos sa Marso 2020, nga mao ang pinakabag-o nga datos nga akong na-access.

Nakahukom ko nga itandi ang aggregated HTTP Archive data sa tanang mga site nga adunay mga datos gikan sa mga site nga nakit-an gamit ang React, Vue, ug Angular, bisan kung gikonsiderar nako ang paggamit usab sa ubang gigikanan nga materyal.

Aron mahimo kini nga mas makapaikag, gidugang usab nako ang mga site nga naggamit sa jQuery sa set sa gigikanan nga datos. Kini nga librarya popular gihapon kaayo. Gipaila usab niini ang lahi nga pamaagi sa pagpalambo sa web kaysa sa modelo nga Single Page Application (SPA) nga gitanyag sa React, Vue ug Angular.

Mga link sa HTTP Archive nga nagrepresentar sa mga site nga nakit-an nga naggamit sa mga teknolohiya nga interesado

Framework o librarya
Mga link sa mga mobile site
Mga link sa regular nga mga site

jQuery
4615474
3714643

React
489827
241023

Vue
85649
43691

Angular
19423
18088

Mga paglaum ug mga damgo

Sa dili pa kita mopadayon sa pagtuki sa datos, gusto nakong hisgutan kung unsa ang gusto nakong gilauman.

Nagtuo ko nga sa usa ka sulundon nga kalibutan, ang mga balangkas kinahanglan nga labaw pa sa pagtagbo sa mga panginahanglanon sa mga developer ug maghatag pipila ka piho nga kaayohan sa kasagaran nga tiggamit nga nagtrabaho sa among mga site. Ang performance usa lang sa mga benepisyo. Dinhi diin ang accessibility ug seguridad moabut sa pagdula. Apan kini mao lamang ang labing importante.

Busa, sa usa ka sulundon nga kalibutan, ang usa ka matang sa gambalay kinahanglan nga makapasayon ​​sa paghimo sa usa ka high-performance nga site. Kini kinahanglan nga buhaton bisan tungod sa kamatuoran nga ang gambalay naghatag sa developer og usa ka desente nga basehan sa pagtukod sa usa ka proyekto, o tungod sa kamatuoran nga kini nagpahamtang mga pagdili sa kalamboan, nagbutang sa unahan sa mga kinahanglanon alang niini nga complicate sa pagpalambo sa usa ka butang nga turns. kay hinay.

Ang labing kaayo nga mga balangkas kinahanglan nga buhaton ang duha: paghatag usa ka maayo nga sukaranan, ug pagpahamtang mga pagdili sa trabaho, nga gitugotan ka nga makab-ot ang usa ka desente nga sangputanan.

Ang pag-analisar sa median nga mga kantidad sa datos dili maghatag kanamo sa kasayuran nga among gikinahanglan. Ug, sa tinuud, kini nga pamaagi wala sa among atensyon daghang importante. Hinuon, nakuha nako ang mga porsyento gikan sa datos nga naa nako. Kini mao ang 10, 25, 50 (median), 75, 90 porsyento.

Interesado ako labi na sa ika-10 ug ika-90 nga porsyento. Ang ika-10 nga porsyento nagrepresentar sa labing kaayo nga pasundayag (o labing menos labaw pa o dili kaayo duol sa labing kaayo) alang sa usa ka partikular nga balangkas. Sa laing pagkasulti, kini nagpasabot nga 10% lamang sa mga site nga naggamit sa usa ka partikular nga balangkas ang naghimo niini nga lebel, o mas taas pa. Ang ika-90 nga porsyento, sa laing bahin, mao ang pikas nga bahin sa sensilyo - kini nagpakita kanato kung unsa ang dili maayo nga mga butang. Ang 90th percentile mao ang mga site nga nagsunod-sunod sa ubos nga 10% sa mga site nga adunay pinakadaghang JS code o ang pinakataas nga panahon sa pagproseso sa ilang code sa main thread.

Mga volume sa JavaScript code

Sa pagsugod, makatarunganon ang pag-analisar sa gidak-on sa JavaScript code nga gipasa sa lainlaing mga site sa network.

Ang kantidad sa JavaScript code (Kb) nga gibalhin sa mga mobile device

Mga porsyento
10
25
50
75
90

Tanan nga mga site
93.4 
196.6 
413.5 
746.8 
1201.6 

jQuery nga mga site
110.3 
219.8 
430.4 
748.6 
1162.3 

Vue nga mga site
244.7 
409.3 
692.1 
1065.5 
1570.7 

Angular nga mga site
445.1 
675.6 
1066.4 
1761.5 
2893.2 

React nga mga Site
345.8 
441.6 
690.3 
1238.5 
1893.6 

Presyo sa JavaScript frameworks
Gidaghanon sa JavaScript code nga gipadala sa mga mobile device

Gidaghanon sa JavaScript code (Kb) nga gibalhin sa mga desktop device

Mga porsyento
10
25
50
75
90

Tanan nga mga site
105.5 
226.6 
450.4 
808.8 
1267.3 

jQuery nga mga site
121.7 
242.2 
458.3 
803.4 
1235.3 

Vue nga mga site
248.0 
420.1 
718.0 
1122.5 
1643.1 

Angular nga mga site
468.8 
716.9 
1144.2 
1930.0 
3283.1 

React nga mga Site
308.6 
469.0 
841.9 
1472.2 
2197.8 

Presyo sa JavaScript frameworks
Gidaghanon sa JavaScript code nga gipadala sa mga desktop device

Kung maghisgot lang kami bahin sa gidak-on sa JS code nga gipadala sa mga site sa mga aparato, nan ang tanan tan-awon sama sa imong gipaabut. Nga mao, kung ang usa sa mga balangkas gigamit, kini nagpasabut nga bisan sa usa ka sulundon nga kahimtang, ang gidaghanon sa code sa JavaScript sa site modaghan. Dili kini katingad-an - dili nimo mahimo ang JavaScript framework nga sukaranan sa usa ka site ug gilauman nga ang gidaghanon sa JS code sa proyekto gamay ra.

Ang talagsaon sa kini nga datos mao nga ang pipila ka mga balangkas ug mga librarya mahimong makonsiderar nga usa ka mas maayo nga punto sa pagsugod alang sa usa ka proyekto kaysa sa uban. Nindot tan-awon ang mga site nga adunay jQuery. Sa mga desktop nga bersyon sa mga site, kini adunay 15% nga mas daghan nga JavaScript kaysa sa tanan nga mga site, ug sa mobile kini adunay 18% nga labaw pa. (Tinuod, adunay pipila ka data nga korapsyon dinhi. Ang kamatuoran mao nga ang jQuery anaa sa daghang mga site, mao nga natural lamang nga ang maong mga site mas suod nga nakig-uban kay sa uban nga adunay kinatibuk-ang gidaghanon sa mga site. Apan, kini wala makaapekto kung unsa ka hilaw data kay output para sa matag framework.)

Samtang ang 15-18% nga pagtaas sa gidaghanon sa code usa ka talagsaon nga numero, kung itandi kini sa ubang mga frameworks ug mga librarya, ang usa makahinapos nga ang "buhis" nga gipahamtang sa jQuery ubos kaayo. Ang mga angular nga site sa ika-10 nga porsyento nagpadala ug 344% nga dugang nga datos sa desktop kaysa sa tanan nga mga site, ug 377% labi pa sa mobile. Ang mga react site mao ang sunod nga pinakabug-at, nagpadala ug 193% nga mas daghang code sa desktop kaysa sa tanan nga mga site, ug 270% pa sa mobile.

Sa sayo pa, akong gihisgutan nga bisan kung ang paggamit sa usa ka balangkas nagpasabut nga ang usa ka piho nga kantidad sa code iapil sa proyekto, sa sinugdanan sa pagtrabaho niini, nanghinaut ko nga ang balangkas makahimo sa bisan unsang paagi nga limitahan ang developer. Sa partikular, naghisgot kami bahin sa paglimit sa labing taas nga kantidad sa code.

Makapainteres, ang mga site sa jQuery nagsunod niini nga ideya. Samtang sila mas bug-at gamay kaysa sa tanan nga mga site sa ika-10 nga porsyento (sa 15-18%), sila labi ka gaan sa ika-90 nga porsyento sa hapit 3% sa desktop ug mobile. Dili kini pag-ingon nga kini usa ka mahinungdanon kaayo nga kaayohan, apan kini mahimong isulti nga ang mga jQuery nga mga site, labing menos, walay dagkong mga gidak-on sa JavaScript code, bisan sa ilang pinakadako nga mga bersyon.

Apan ang parehas dili masulti bahin sa ubang mga balangkas.

Sama sa kaso sa ika-10 nga porsyento, sa ika-90 nga porsyento nga mga site sa Angular ug React lahi sa ubang mga site, apan lahi sila, sa kasubo, sa labi ka grabe.

Sa ika-90 nga porsyento, ang Angular nga mga site nagpadala ug 141% nga dugang nga datos sa mobile kaysa sa tanan nga mga site, ug 159% labi pa sa desktop. Ang mga site sa reaksyon nagpadala og 73% nga labaw sa desktop kaysa sa tanan nga mga site, ug 58% nga labaw pa sa mobile. Ang gidak-on sa code sa mga site sa React sa 90th percentile mao ang 2197.8 KB. Nagpasabot kini nga ang maong mga site nagpadala ug 322.9 KB nga mas daghang datos sa mga mobile device kay sa ilang pinakasuod nga mga kakompetensya base sa Vue. Ang gintang tali sa mga desktop site base sa Angular ug React ug uban pang mga site mas dako pa. Pananglitan, ang desktop React nga mga site nagpadala ug 554.7 KB nga mas daghang JS code ngadto sa mga device kay sa katumbas nga Vue sites.

Panahon nga gikuha sa pagproseso sa JavaScript code sa main thread

Ang datos sa ibabaw tin-aw nga nagpakita nga ang mga site nga naggamit sa mga frameworks ug mga librarya nga gitun-an adunay daghang kantidad sa JavaScript code. Apan siyempre, kana usa ra ka bahin sa among equation.

Human ang JavaScript code miabut sa browser, kini kinahanglan nga dad-on ngadto sa usa ka magamit nga kahimtang. Ilabi na daghang mga problema ang gipahinabo sa mga aksyon nga kinahanglan himuon sa code sa panguna nga thread sa browser. Ang panguna nga hilo mao ang responsable sa pagproseso sa mga aksyon sa gumagamit, alang sa pagkalkula sa mga istilo, alang sa pagtukod ug pagpakita sa layout sa panid. Kung mapuno nimo ang panguna nga hilo sa mga buluhaton sa JavaScript, wala kini higayon nga makompleto ang nahabilin nga mga buluhaton sa oras. Nagdala kini sa mga paglangan ug "preno" sa pagtrabaho sa mga panid.

Ang database sa HTTP Archive adunay kasayuran kung unsa kadugay ang proseso sa JavaScript code sa panguna nga hilo sa V8 engine. Nagpasabot kini nga mahimo natong kolektahon kini nga datos ug mahibal-an kung pila ka oras ang gikinahanglan sa panguna nga hilo aron maproseso ang JavaScript sa lainlaing mga site.

Oras sa processor (sa millisecond) nga may kalabutan sa pagproseso sa script sa mga mobile device

Mga porsyento
10
25
50
75
90

Tanan nga mga site
356.4
959.7
2372.1
5367.3
10485.8

jQuery nga mga site
575.3
1147.4
2555.9
5511.0
10349.4

Vue nga mga site
1130.0
2087.9
4100.4
7676.1
12849.4

Angular nga mga site
1471.3
2380.1
4118.6
7450.8
13296.4

React nga mga Site
2700.1
5090.3
9287.6
14509.6
20813.3

Presyo sa JavaScript frameworks
Panahon sa processor nga may kalabutan sa pagproseso sa script sa mga mobile device

Oras sa processor (sa millisecond) nga may kalabutan sa pagproseso sa script sa mga desktop device

Mga porsyento
10
25
50
75
90

Tanan nga mga site
146.0
351.8
831.0
1739.8
3236.8

jQuery nga mga site
199.6
399.2
877.5
1779.9
3215.5

Vue nga mga site
350.4
650.8
1280.7
2388.5
4010.8

Angular nga mga site
482.2
777.9
1365.5
2400.6
4171.8

React nga mga Site
508.0
1045.6
2121.1
4235.1
7444.3

Presyo sa JavaScript frameworks
Oras sa processor nga may kalabutan sa pagproseso sa script sa mga desktop device

Dinhi imong makita ang usa ka butang nga pamilyar kaayo.

Alang sa pagsugod, ang mga site nga adunay jQuery naggasto labi ka gamay sa pagproseso sa JavaScript sa panguna nga hilo kaysa sa ubang mga site. Sa ika-10 nga porsyento, kung itandi sa tanan nga mga site, ang mga site sa jQuery sa mobile naggasto og 61% nga dugang nga oras sa pagproseso sa JS code sa panguna nga hilo. Sa kaso sa desktop jQuery nga mga site, ang oras sa pagproseso nagdugang sa 37%. Sa ika-90 nga porsyento, ang mga site sa jQuery duol kaayo sa mga aggregate nga mga marka. Sa partikular, ang jQuery nga mga site sa mga mobile device mogasto og 1.3% nga mas gamay nga oras sa main thread kaysa sa tanan nga mga site, ug 0.7% nga mas gamay nga oras sa mga desktop device.

Sa pikas bahin sa among rating mao ang mga balangkas nga gihulagway sa labing kataas nga pagkarga sa panguna nga hilo. Kini, pag-usab, Angular ug React. Ang bugtong kalainan tali sa duha mao nga samtang ang Angular nga mga site nagpadala og dugang nga code sa mga browser kaysa sa React nga mga site, ang Angular nga mga site nagkinahanglan og gamay nga oras sa CPU sa pagproseso sa code. Labing gamay.

Sa ika-10 nga porsyento, ang mga desktop Angular nga mga site naggugol ug 230% nga mas daghang oras sa panguna nga pagproseso sa thread nga JS code kaysa sa tanan nga mga site. Alang sa mga mobile site, kini nga numero 313%. Ang mga site sa reaksyon mao ang labing daotan nga mga performer. Sa desktop, mogasto sila og 248% nga mas daghang oras sa pagproseso sa code kaysa sa tanan nga mga site, ug 658% pa sa mobile. Ang 658% dili typo. Sa ika-10 nga porsyento, ang mga site sa React naggugol ug 2.7 segundos sa oras sa panguna nga thread sa pagproseso sa ilang code.

Ang ika-90 nga porsyento, kung itandi niining daghang mga numero, tan-awon nga labi ka maayo. Kung itandi sa tanan nga mga site, ang mga proyekto sa Angular mogugol og 29% nga mas daghang oras sa mga desktop device sa main thread, ug 27% nga mas daghang oras sa mga mobile device. Sa kaso sa mga site sa React, ang parehas nga mga numero sama sa 130% ug 98%, matag usa.

Ang mga paglihis sa porsyento alang sa ika-90 nga porsyento mas maayo nga tan-awon kaysa parehas nga mga kantidad alang sa ika-10 nga porsyento. Apan dinhi angay nga hinumdoman nga ang mga numero nga nagpakita sa oras ingon og makahadlok. Ingnon ta nga 20.8 segundos sa panguna nga hilo sa mobile alang sa usa ka website nga gitukod gamit ang React. (Sa akong hunahuna ang istorya sa kung unsa ang tinuod nga nahitabo niining panahona takus sa usa ka lahi nga artikulo).

Adunay usa ka potensyal nga komplikasyon dinhi (salamat Jeremias alang sa pagdani sa akong pagtagad niini nga bahin, ug alang sa maampingong pagkonsiderar sa datos gikan niini nga punto sa panglantaw). Ang tinuod mao nga daghang mga site ang naggamit sa daghang mga gamit sa atubangan. Sa partikular, nakakita ako og daghang mga site nga naggamit sa jQuery kauban ang React o Vue, tungod kay ang mga site naglalin gikan sa jQuery ngadto sa ubang mga frameworks o librarya. Ingon nga resulta, naigo ko pag-usab ang database, niining higayona nagpili lamang sa mga link nga katumbas sa mga site nga naggamit lamang sa React, jQuery, Angular, o Vue, apan dili bisan unsang kombinasyon niini. Ania ang akong nakuha.

Oras sa processor (sa millisecond) nga may kalabutan sa pagproseso sa mga script sa mga mobile device sa usa ka sitwasyon diin ang mga site naggamit lamang sa usa ka framework o usa lamang ka librarya

Mga porsyento
10
25
50
75
90

Mga site nga naggamit lang sa jQuery
542.9
1062.2
2297.4
4769.7
8718.2

Mga site nga naggamit lang sa Vue
944.0
1716.3
3194.7
5959.6
9843.8

Mga site nga naggamit lang sa Angular
1328.9
2151.9
3695.3
6629.3
11607.7

Mga site nga naggamit lang sa React
2443.2
4620.5
10061.4
17074.3
24956.3

Presyo sa JavaScript frameworks
Ang oras sa processor nga may kalabutan sa pagproseso sa mga script sa mga mobile device sa usa ka sitwasyon diin ang mga site naggamit lamang sa usa ka framework, o usa lamang ka librarya

Una, usa ka butang nga dili katingad-an: kung ang usa ka site naggamit lamang sa usa ka balangkas o usa ka librarya, ang paghimo sa ingon nga usa ka site mas kanunay nga mouswag kaysa dili. Ang matag instrumento mas maayo nga pasundayag sa ika-10 ug ika-25 nga porsyento. Makataronganon kini. Ang usa ka site nga gihimo gamit ang usa ka framework kinahanglan nga molihok nga mas maayo kaysa usa ka site nga gihimo gamit ang duha o daghan pa nga mga frameworks o librarya.

Sa tinuud, ang pasundayag sa matag himan sa unahan nga gitun-an mas maayo nga tan-awon sa tanan nga mga kaso, gawas sa usa ka talagsaon nga eksepsiyon. Ang nakapakurat kanako mao nga sa ika-50 nga porsyento ug pataas, ang mga site nga naggamit sa React mas grabe kung ang React mao ra ang librarya nga ilang gigamit. Kini, sa tinuud, mao ang hinungdan nga akong gipresentar kini nga datos dinhi.

Kini usa ka gamay nga katingad-an, apan ako sa gihapon mosulay sa pagpangita alang sa usa ka katin-awan alang niini nga katingad-an.

Kung ang usa ka proyekto naggamit sa React ug jQuery, nan kana nga proyekto lagmit sa tungatunga sa pagbalhin gikan sa jQuery hangtod sa React. Tingali kini adunay code base diin kini nga mga librarya gisagol. Tungod kay nakita na namo nga ang mga jQuery nga mga site naggugol og gamay nga oras sa main thread kaysa sa React nga mga site, kini mahimong magsulti kanamo nga ang pag-implementar sa pipila ka gamit sa jQuery makatabang sa site nga makahimo og mas maayo.

Apan samtang ang proyekto nagbalhin gikan sa jQuery ngadto sa React ug mas nagsalig sa React, ang mga butang nagbag-o. Kung ang site adunay taas nga kalidad, ug ang mga developer sa site naggamit sa React pag-ayo, nan ang tanan mahimong maayo sa ingon nga site. Apan alang sa kasagaran nga site sa React, ang daghang paggamit sa React nagpasabut nga ang panguna nga hilo ubos sa bug-at nga karga.

Ang gintang tali sa mga mobile ug desktop device

Ang laing punto sa panglantaw nga akong gitan-aw sa gisiksik nga datos mao ang pagtuon kung unsa ka dako ang gintang tali sa pagtrabaho sa mga site sa mga mobile ug desktop device. Kung maghisgot kita bahin sa pagtandi sa mga volume sa JavaScript code, nan ang ingon nga pagtandi wala magpadayag bisan unsa nga makalilisang. Siyempre, nindot tan-awon ang gamay nga kantidad sa ma-download nga code, apan wala’y daghang kalainan sa kantidad sa mobile ug desktop code.

Apan kung atong analisahon ang oras nga gikinahanglan sa pagproseso sa code, usa ka dako kaayo nga gintang tali sa mga mobile ug desktop device mahimong mamatikdan.

Pagtaas sa oras (porsiyento) nga may kalabutan sa pagproseso sa mga script sa mga mobile device kumpara sa desktop

Mga porsyento
10
25
50
75
90

Tanan nga mga site
144.1
172.8
185.5
208.5
224.0

jQuery nga mga site
188.2
187.4
191.3
209.6
221.9

Vue nga mga site
222.5
220.8
220.2
221.4
220.4

Angular nga mga site
205.1
206.0
201.6
210.4
218.7

React nga mga Site
431.5
386.8
337.9
242.6
179.6

Samtang ang pipila ka kalainan sa katulin sa pagproseso sa code tali sa usa ka telepono ug usa ka laptop ang gipaabut, ang ingon nga daghang mga numero nagsulti kanako nga ang mga modernong balangkas dili igo nga gipunting sa mga aparato nga adunay gamay nga gahum, ug nga sila naningkamot sa pagsira sa gintang nga ilang nadiskobrehan. Bisan sa ika-10 nga porsyento, ang mga site sa React mogugol ug 431.5% nga mas daghang oras sa mobile main thread kaysa sa desktop main thread. Ang jQuery adunay pinakagamay nga gintang, apan bisan dinhi ang katumbas nga numero mao ang 188.2%. Kung ang mga nag-develop sa website naghimo sa ilang mga proyekto sa paagi nga ang ilang pagproseso nanginahanglan daghang oras sa processor (ug kini mahitabo, ug kini labi ka grabe sa paglabay sa panahon), ang mga tag-iya sa mga aparato nga adunay gamay nga gahum kinahanglan nga magbayad niini.

Mga resulta

Ang maayo nga mga frameworks kinahanglan maghatag sa mga developer og maayong pundasyon alang sa pagtukod og mga proyekto sa web (sa termino sa seguridad, accessibility, performance), o sila kinahanglan nga adunay built-in nga mga pagdili nga makapalisud sa pagtukod og butang nga makalapas sa mga pagdili.

Kini daw dili magamit sa paghimo sa mga proyekto sa web (ug lagmit dili sa ilang accessibility).

Angay nga hinumdoman nga tungod lang kay ang React o Angular nga mga site naggugol ug mas daghang oras sa CPU sa pag-andam sa code kaysa sa uban wala magpasabut nga ang mga site sa React labi ka kusog sa CPU kaysa sa mga site sa Vue samtang nagdagan. Sa tinuud, ang datos nga among gisusi gamay ra ang giingon bahin sa pagpaandar sa mga balangkas ug mga librarya. Naghisgot sila labi pa bahin sa mga pamaagi sa pag-uswag nga, nahibal-an o wala, kini nga mga balangkas makaduso sa mga programmer. Naghisgot kami bahin sa dokumentasyon alang sa mga balangkas, bahin sa ilang ekosistema, bahin sa sagad nga mga pamaagi sa pag-uswag.

Angayan usab nga hisgutan ang usa ka butang nga wala namon gisusi dinhi, nga mao, kung pila ka oras ang gigugol sa aparato sa pagpatuman sa code sa JavaScript sa pag-navigate sa taliwala sa mga panid sa site. Ang argumento nga pabor sa SPA mao nga sa higayon nga ang usa ka panid nga aplikasyon ma-load sa browser, ang user sa teoriya makahimo sa pag-abli sa mga panid sa site nga mas paspas. Ang akong kaugalingong kasinatian nagsulti kanako nga kini layo sa kamatuoran. Apan wala kami mga datos aron maklaro kini nga isyu.

Ang klaro mao nga kung naggamit ka usa ka balangkas o librarya aron makahimo usa ka website, naghimo ka usa ka pagkompromiso sa mga termino sa una nga pagkarga sa proyekto ug pag-andam niini. Kini magamit bisan sa labing positibo nga mga senaryo.

Kini mao ang hingpit nga posible nga sa paghimo sa pipila ka mga pagkompromiso sa tukma nga mga sitwasyon, apan kini mao ang importante nga ang mga developers sa paghimo sa ingon nga mga pagkompromiso mahunahunaon.

Apan aduna usab kitay rason sa pagkamalaumon. Naghinam-hinam ko nga makita kung unsa ka suod ang pagtrabaho sa mga developer sa Chrome uban sa mga developer sa pipila sa mga front-end nga mga himan nga among gisusi sa paningkamot nga makatabang sa pagpalambo sa performance sa mga himan.

Bisan pa, ako usa ka pragmatic nga tawo. Ang mga bag-ong arkitektura nagmugna og mga problema sa pasundayag sa kanunay nga pagsulbad niini. Ug kini nagkinahanglan og panahon sa pag-ayo sa mga bug. Sama sa dili ta angay magdahom bag-ong mga teknolohiya sa network masulbad ang tanan nga mga problema sa pasundayag, dili nimo kini mapaabut gikan sa mga bag-ong bersyon sa among paborito nga mga balangkas.

Kung gusto nimong gamiton ang usa sa mga tool sa front-end nga gihisgutan sa kini nga artikulo, kini nagpasabut nga kinahanglan nimo nga magbutang ug dugang nga paningkamot aron dili makadaot sa pasundayag sa imong proyekto sa kasamtangan. Ania ang pipila ka mga konsiderasyon nga ikonsiderar sa dili pa magsugod ang usa ka bag-ong balangkas:

  • Sulayi ang imong kaugalingon sa sentido komon. Kinahanglan ba gyud nimo gamiton ang gipili nga balangkas? Ang lunsay nga JavaScript karon makahimo sa daghan.
  • Aduna bay mas gaan nga alternatibo sa gipili nga balangkas (sama sa Preact, Svelte o uban pa) nga makahatag kanimo og 90% sa mga kapabilidad niini nga balangkas?
  • Kung naggamit ka na ug balangkas, hunahunaa kung adunay usa ka butang nga nagtanyag labi ka maayo, labi ka konserbatibo, sukaranan nga mga kapilian (eg Nuxt.js imbes nga Vue, Next.js imbes nga React, ug uban pa).
  • Unsa ang imong ang badyet pasundayag sa JavaScript?
  • Unsaon nimo utlanan usa ka proseso sa pagpalambo aron mas lisud ang pag-inject sa dugang nga JavaScript code ngadto sa usa ka proyekto kay sa gikinahanglan gayud?
  • Kung naggamit ka usa ka balangkas alang sa kadali sa pag-uswag, hunahunaa kinahanglan ba nimo ipadala framework code sa mga kliyente. Tingali masulbad nimo ang tanan nga mga isyu sa server?

Kasagaran kini nga mga ideya angay tan-awon, bisan unsa pa gyud ang imong gipili alang sa pag-uswag sa unahan. Apan sila labi ka hinungdanon kung nagtrabaho ka sa usa ka proyekto nga kulang sa pasundayag gikan sa sinugdanan.

Minahal nga magbabasa! Giunsa nimo pagtan-aw ang sulundon nga balangkas sa JavaScript?

Presyo sa JavaScript frameworks

Source: www.habr.com

Idugang sa usa ka comment