JavaScript алкактарынын баасы

Веб-сайтты жайлатуунун анда JavaScript кодун бир топко иштетүүгө караганда ылдамыраак жолу жок. JavaScript колдонуп жатканда, сиз долбоордун аткарылышы үчүн кеминде төрт жолу төлөшүңүз керек. Бул жерде сайттын JavaScript коду колдонуучулардын системаларын жүктөйт:

  • Тармак аркылуу файл жүктөлүүдө.
  • Жүктөп алгандан кийин таңгаксыз баштапкы кодду талдоо жана компиляциялоо.
  • JavaScript коду аткарылууда.
  • Эстутум керектөө.

Бул комбинация болуп чыгат абдан кымбат.

JavaScript алкактарынын баасы

Жана биз долбоорлорубузга барган сайын көбүрөөк JS кодун кошуп жатабыз. Уюмдар React, Vue жана башкалар сыяктуу алкактар ​​жана китепканалар менен камсыздалган сайттарды көздөй жылган сайын, биз сайттардын негизги функцияларын JavaScript'тен көз каранды кылып жатабыз.

Мен JavaScript алкактарын колдонгон абдан оор веб-сайттарды көрдүм. Бирок бул маселеге менин көз карашым бир жактуу. Чындыгында, мен иштеген компаниялар мага веб-сайттын иштешинин татаал көйгөйлөрү бар болгондуктан келишет. Жыйынтыгында, бул көйгөй канчалык кеңири жайылганын жана кайсы бир сайтка негиз катары тигил же бул фреймдерди тандап алганыбызда кандай «айыптарды» төлөй турганыбызды билүүгө кызыгып калдым.

Бул долбоор мага муну түшүнүүгө жардам берди. HTTP архиви.

маалымат

HTTP Archive долбоору кадимки рабочий сайттарга жалпысынан 4308655 5484239 XNUMX шилтемени жана мобилдик сайттарга XNUMX XNUMX XNUMX шилтемени көзөмөлдөйт. Бул шилтемелер менен байланышкан көптөгөн көрсөткүчтөрдүн арасында тиешелүү сайттарда табылган технологиялардын тизмеси бар. Бул биз ар кандай алкактарды жана китепканаларды колдонгон миңдеген сайттарды тандап алып, алар кардарларга канча код жөнөтөрүн жана ал код колдонуучулардын тутумдарына канчалык жүк салаарын биле алабыз дегенди билдирет.

Мен 2020-жылдын март айындагы маалыматтарды чогулттум, бул менде эң акыркы маалыматтар болгон.

Мен бардык сайттар үчүн топтолгон HTTP Archive маалыматтарын React, Vue жана Angular колдонуп жаткан сайттардын маалыматтары менен салыштырууну чечтим, бирок мен башка булак материалдарды да колдонууну ойлондум.

Аны кызыктуураак кылуу үчүн, мен булак маалымат топтомуна jQuery колдонгон сайттарды да коштум. Бул китепкана дагы эле абдан популярдуу. Ал ошондой эле React, Vue жана Angular тарабынан сунушталган Single Page Application (SPA) моделинен айырмаланган веб-сайтты иштеп чыгуу ыкмасын киргизет.

HTTP архивиндеги шилтемелер, алар бизди кызыктырган технологияларды колдонуп жатканы аныкталган сайттар

Алкак же китепкана
Мобилдик сайттарга шилтемелер
Кадимки сайттарга шилтемелер

Код
4615474
3714643

иш-аракет кылгыла
489827
241023

көрүнүшү
85649
43691

бурчтук
19423
18088

Үмүттөр жана кыялдар

Маалыматтарды талдоого өтүүдөн мурун, мен эмнеге үмүттөнгүм келгени жөнүндө айткым келет.

Мен идеалдуу дүйнөдө алкактар ​​иштеп чыгуучулардын муктаждыктарын канааттандыруудан тышкары, биздин сайттардын күнүмдүк колдонуучуларына кандайдыр бир конкреттүү артыкчылыктарды берет деп ишенем. Өндүрүмдүүлүк ошол артыкчылыктардын бири гана. Жеткиликтүүлүк жана коопсуздук да бул жерде эске келет. Бирок бул эң негизгиси гана.

Ошентип, идеалдуу дүйнөдө кандайдыр бир алкак жогорку натыйжалуу веб-сайтты түзүүнү жеңилдетет. Бул же алкак иштеп чыгуучуга долбоорду курууга татыктуу база бергендиктен, же өнүгүүгө чектөөлөрдү киргизгендиктен, ага бир нерсени иштеп чыгууну кыйындаткан талаптарды койгондуктан жасалышы керек. бул жай болуп чыгат.

Мыкты алкактар ​​экөөнү тең аткарышы керек: жакшы негиз түзүп, татыктуу натыйжага жетүү үчүн жумушка чектөөлөрдү киргизет.

Маалыматтардын медианалык баалуулуктарын талдоо бизге керектүү маалыматты бербейт. Жана, чындыгында, бул мамиле биздин көңүлүбүздүн сыртында калат көп маанилүү нерселер. Анын ордуна, менде болгон маалыматтардан пайыздык упайларды алдым. Булар 10, 25, 50 (орто), 75, 90 пайыздык көрсөткүчтөр.

Мен өзгөчө 10 жана 90-процентильдерге кызыгам. 10-проценттил белгилүү бир алкак үчүн эң жакшы көрсөткүчтү (же жок дегенде эң жакшысына аздыр-көптүр жакын) билдирет. Башкача айтканда, бул белгилүү бир алкакты колдонгон сайттардын 10% гана ушул деңгээлге же андан жогору деңгээлге жетет дегенди билдирет. Ал эми 90-проценттиль монетанын экинчи тарабы болуп саналат - бул бизге нерселер канчалык жаман болорун көрсөтүп турат. 90-проценттил арттагы сайттар — JS кодунун эң көп суммасына ээ болгон сайттардын акыркы 10% же негизги жипте өз кодун иштетүү үчүн эң узак убакыт талап кылынган сайттар.

JavaScript кодунун көлөмү

Баштоо үчүн, тармак аркылуу ар кандай сайттар тарабынан берилүүчү JavaScript кодунун өлчөмүн талдоо мааниси бар.

Мобилдик түзмөктөргө которулган JavaScript кодунун суммасы (KB).

Процентильдер
10
25
50
75
90

Бардык сайттар
93.4 
196.6 
413.5 
746.8 
1201.6 

jQuery сайттары
110.3 
219.8 
430.4 
748.6 
1162.3 

Vue веб-сайттары
244.7 
409.3 
692.1 
1065.5 
1570.7 

Бурчтуу веб-сайттар
445.1 
675.6 
1066.4 
1761.5 
2893.2 

Реакция веб-сайттары
345.8 
441.6 
690.3 
1238.5 
1893.6 

JavaScript алкактарынын баасы
Мобилдик түзмөктөргө жөнөтүлгөн JavaScript кодунун суммасы

Иш такта түзмөктөрүнө которулган JavaScript кодунун суммасы (KB).

Процентильдер
10
25
50
75
90

Бардык сайттар
105.5 
226.6 
450.4 
808.8 
1267.3 

jQuery сайттары
121.7 
242.2 
458.3 
803.4 
1235.3 

Vue веб-сайттары
248.0 
420.1 
718.0 
1122.5 
1643.1 

Бурчтуу веб-сайттар
468.8 
716.9 
1144.2 
1930.0 
3283.1 

Реакция веб-сайттары
308.6 
469.0 
841.9 
1472.2 
2197.8 

JavaScript алкактарынын баасы
Иш такта түзмөктөрүнө которулган JavaScript кодунун суммасы

Эгер сайттар түзмөктөргө жөнөтүүчү JS кодунун көлөмү жөнүндө гана айтсак, анда баары сиз күткөндөй көрүнөт. Тактап айтканда, эгерде алкактардын бири колдонулса, бул идеалдуу кырдаалда да сайт үчүн JavaScript кодунун көлөмү көбөйөт дегенди билдирет. Бул таң калыштуу эмес - сиз JavaScript алкагын сайттын негизи кыла албайсыз жана долбоор үчүн JS кодунун көлөмү өтө аз болот деп күтө албайсыз.

Бул маалыматтардын кызыгы, кээ бир алкактар ​​жана китепканалар башкаларга караганда долбоор үчүн жакшыраак башталгыч чекиттер катары каралышы мүмкүн. jQuery менен веб-сайттар мыкты көрүнөт. Алардын рабочий сайттарында бардык сайттарга караганда 15% көбүрөөк JavaScript камтылган жана мобилдик сайттарында 18% көбүрөөк JavaScript камтылган. (Албетте, бул жерде маалыматтарда кандайдыр бир кыйгачтык бар. Чындыгында jQuery көптөгөн сайттарда бар, андыктан мындай сайттар башкаларга караганда сайттардын жалпы саны менен тыгыз байланышта болушу табигый нерсе. Бирок бул кандайча булак маалыматы ар бир алкак үчүн чыгарылат.)

15-18% коддун өсүшү олуттуу көрсөткүч болсо да, башка алкактарга жана китепканаларга салыштырганда, jQuery тарабынан салынган салык абдан төмөн. 10-проценттилдеги бурчтук сайттар бардык сайттарга караганда рабочий түзмөктөргө 344%, ал эми мобилдик түзмөктөргө 377% көбүрөөк маалымат жөнөтөт. Реакция сайттары кийинки эң оор, бардык сайттарга караганда рабочий түзмөктөргө 193%, ал эми мобилдик түзмөктөргө 270% көбүрөөк код жөнөтөт.

Мен жогоруда айтып өткөн элем, алкакты колдонуу ал боюнча иштөөнүн эң башында долбоорго белгилүү бир көлөмдөгү код киргизилет дегенди билдирсе да, алкак кандайдыр бир жол менен иштеп чыгуучуну чектөөгө жөндөмдүү деп үмүттөнөм. Атап айтканда, биз коддун максималдуу көлөмүн чектөө жөнүндө сөз болуп жатат.

Кызыктуусу jQuery сайттары ушул идеяны карманышат. Алар 10-процентиль деңгээлинде бардык сайттардан бир аз оор (15-18%) болсо да, 90-процентиль деңгээлинде алар бардык сайттарга караганда бир аз жеңилирээк - десктоп жана мобилдик версияларда 3%га жакын. Бул абдан маанилүү пайда деп айтууга болбойт, бирок jQuery сайттарында эң чоң версияларында да JavaScript кодун чоң өлчөмдөрү жок деп айтууга болот.

Бирок башка алкактар ​​жөнүндө ушуну айтууга болбойт.

10-процентильдегидей эле, Angular жана Reactдагы 90-проценттилдик сайттар башка сайттардан айырмаланат, бирок алар, тилекке каршы, жаман жагына айырмаланат.

90-проценттилде Angular сайттары мобилдик түзмөктөргө бардык сайттарга караганда 141% көбүрөөк маалымат жөнөтөт жана рабочий түзмөктөргө 159% көбүрөөк. React сайттары бардык сайттарга караганда 73% көбүрөөк иш столуна, ал эми мобилдик түзмөктөргө 58% көбүрөөк жөнөтөт. 90-проценттилдеги React сайттарынын код өлчөмү 2197.8 КБ. Бул бул сайттар Vue негизиндеги эң жакын атаандаштарына караганда мобилдик түзмөктөргө 322.9 КБ көбүрөөк маалымат жөнөтөт дегенди билдирет. Angular жана React негизиндеги рабочий сайттардын жана башка сайттардын ортосундагы ажырым андан да чоң. Мисалы, React рабочий сайттары окшош Vue сайттарына караганда түзмөктөргө 554.7 КБ көбүрөөк JS кодун жөнөтөт.

Негизги жипте JavaScript кодун иштетүүгө кеткен убакыт

Жогорудагы маалыматтар изилденген алкактарды жана китепканаларды колдонгон сайттарда JavaScript кодунун чоң көлөмүн камтыганын ачык көрсөтүп турат. Бирок, албетте, бул биздин теңдеменин бир гана бөлүгү.

JavaScript коду браузерге келгенден кийин, ал жумушчу абалына келтирилиши керек. Айрыкча көптөгөн көйгөйлөр негизги серепчи жипинде код менен аткарылышы керек болгон аракеттерден келип чыгат. Негизги жип колдонуучунун иш-аракеттерин иштетүүгө, стилдерди эсептөөгө жана барактын макетін курууга жана көрсөтүүгө жооптуу. Эгерде сиз негизги жипти JavaScript тапшырмалары менен басып алсаңыз, анда башка тапшырмаларды өз убагында бүтүрүү мүмкүнчүлүгү болбойт. Бул барактардын иштөөсүнүн кечигүүсүнө жана "тормозуна" алып келет.

HTTP Archive маалымат базасы V8 кыймылдаткычынын негизги жипинде JavaScript кодун иштетүүгө канча убакыт керектиги жөнүндө маалыматты камтыйт. Бул биз бул маалыматтарды чогултуп, ар кандай сайттардын JavaScript иштетүү үчүн негизги жип канча убакыт талап кылынарын биле алабыз дегенди билдирет.

Мобилдик түзмөктөрдө скрипт иштетүүгө байланыштуу CPU убактысы (миллисекунд менен).

Процентильдер
10
25
50
75
90

Бардык сайттар
356.4
959.7
2372.1
5367.3
10485.8

jQuery сайттары
575.3
1147.4
2555.9
5511.0
10349.4

Vue веб-сайттары
1130.0
2087.9
4100.4
7676.1
12849.4

Бурчтуу веб-сайттар
1471.3
2380.1
4118.6
7450.8
13296.4

Реакция веб-сайттары
2700.1
5090.3
9287.6
14509.6
20813.3

JavaScript алкактарынын баасы
Мобилдик түзмөктөрдө скрипт иштетүүгө байланыштуу CPU убактысы

Иш тактасы түзмөктөрүндө скрипт иштетүүгө байланыштуу CPU убактысы (миллисекунд менен).

Процентильдер
10
25
50
75
90

Бардык сайттар
146.0
351.8
831.0
1739.8
3236.8

jQuery сайттары
199.6
399.2
877.5
1779.9
3215.5

Vue веб-сайттары
350.4
650.8
1280.7
2388.5
4010.8

Бурчтуу веб-сайттар
482.2
777.9
1365.5
2400.6
4171.8

Реакция веб-сайттары
508.0
1045.6
2121.1
4235.1
7444.3

JavaScript алкактарынын баасы
Иш такта түзмөктөрүндө скрипт иштетүүгө байланыштуу CPU убактысы

Бул жерде сиз абдан тааныш нерсени көрө аласыз.

Баштоочулар үчүн, jQuery менен сайттар башкаларына караганда негизги жипте JavaScript иштетүүгө кыйла аз коротушат. 10-проценттилде, бардык сайттарга салыштырмалуу, мобилдик түзмөктөрдө jQuery сайттары негизги жиптеги JS кодун иштетүүгө 61% көбүрөөк убакыт коротот. Иш тактадагы jQuery сайттарында иштетүү убактысы 37% га көбөйөт. 90-проценттилде jQuery сайттарынын упайлары жалпы упайларга абдан жакын. Тактап айтканда, мобилдик түзмөктөрдө jQuery сайттары бардык сайттарга караганда негизги жипте 1.3%, ал эми рабочий түзмөктөрдө негизги жипте 0.7% аз убакыт коротушат.

Биздин рейтингдин башка тарабында негизги жипке эң чоң жүктөө менен мүнөздөлгөн алкактар ​​бар. Бул дагы, бурчтук жана реакция. Алардын ортосундагы бир гана айырмачылык, Angular сайттары React сайттарына караганда браузерлерге көбүрөөк көлөмдөгү код жөнөтсө да, Angular сайттарынын кодун иштетүү үчүн CPU азыраак убакыт талап кылынат. алда канча аз.

10-проценттилде Angular desktop сайттары бардык сайттарга караганда JS кодун иштетүүгө 230% көбүрөөк негизги жип убактысын коротушат. Мобилдик сайттар үчүн бул көрсөткүч 313% түзөт. Реактивдүү сайттар эң начар көрсөткүчкө ээ. Иш такта түзмөктөрүндө алар кодду иштетүүгө бардык сайттарга караганда 248%, ал эми мобилдик түзмөктөрдө кодду иштетүүгө 658% көбүрөөк убакыт коротушат. 658% ката эмес. 10-проценттилде, React сайттары учурдагы кодду иштетүүгө негизги жип убактысынын 2.7 секундун коротушат.

90-процентиль сандары бул чоң сандарга салыштырмалуу бир аз жакшыраак көрүнөт. Бурчтук долбоорлор, бардык сайттарга салыштырмалуу, рабочий түзмөктөрдө негизги жипте 29%, ал эми мобилдик түзмөктөрдө 27% көбүрөөк убакыт өткөрүшөт. React сайттарында окшош көрсөткүчтөр тиешелүүлүгүнө жараша 130% жана 98% окшойт.

90-процентиль үчүн четтөө пайыздары 10-проценттилге окшош маанилерге караганда жакшыраак көрүнөт. Бирок бул жерде убакытты көрсөткөн сандар абдан коркунучтуу экенин эстен чыгарбоо керек. Айталы - React-те курулган сайт үчүн мобилдик түзүлүштүн негизги жипинде 20.8 секунд. (Менин оюмча, бул убакыттын ичинде эмне болуп жатканы өзүнчө макалага татыктуу).

Бул жерде бир мүмкүн болгон татаалдашуу бар (рахмат Жеремия менин көңүлүмдү ушул өзгөчөлүккө бурганым үчүн жана маалыматтарды ушул көз караштан кылдаттык менен изилдегеним үчүн). Чынында, көптөгөн сайттар бир нече алдыңкы куралдарды колдонушат. Атап айтканда, мен көптөгөн сайттар jQuery'ди React же Vue менен бирге колдонушканын көрдүм, анткени бул сайттар jQueryден башка алкактарга же китепканаларга көчүп кетет. Натыйжада, мен маалымат базасына кайттым, бул жолу React, jQuery, Angular же Vue гана колдонгон, бирок алардын комбинациясын эмес, сайттарга туура келген шилтемелерди гана тандап алдым. Мына менде эмне бар.

Сайттар бир гана фреймворкту же бир китепкананы колдонгон жагдайларда мобилдик түзмөктөрдө скрипт иштетүүгө байланыштуу процессор убактысы (миллисекунд менен)

Процентильдер
10
25
50
75
90

jQuery гана колдонгон сайттар
542.9
1062.2
2297.4
4769.7
8718.2

Vue гана колдонгон сайттар
944.0
1716.3
3194.7
5959.6
9843.8

Angular гана колдонгон сайттар
1328.9
2151.9
3695.3
6629.3
11607.7

React гана колдонгон веб-сайттар
2443.2
4620.5
10061.4
17074.3
24956.3

JavaScript алкактарынын баасы
Сайттар бир гана фреймворкту же бир китепкананы колдонгон кырдаалда мобилдик түзмөктөрдө скрипттерди иштетүүгө байланыштуу процессордун убактысы

Биринчиден, таң калыштуу эмес нерсе: сайт бир гана фреймворкту же бир китепкананы колдонгондо, мындай сайттын иштеши жакшырат. Ар бир инструменттин көрсөткүчү 10 жана 25-процентильде жакшыраак көрүнөт. Бул мааниси бар. Бир алкакты колдонуу менен жасалган сайт эки же андан көп алкактарды же китепканаларды колдонуу менен жасалган сайтка караганда ылдамыраак болушу керек.

Чындыгында, биз карап чыккан ар бир алдыңкы инструменттин упайлары бардык учурларда жакшыраак көрүндү, бир кызыкчылыкты эске албаганда. Мени таң калтырган нерсе, 50-процентильде жана андан жогоруда, React колдонгон сайттар React алар колдонгон жалгыз китепкана болгондо начарыраак иштешет. Айтмакчы, бул жерде бул маалыматтарды келтиргениме ушул себеп болду.

Бул бир аз кызыктай, бирок мен дагы эле бул кызыкчылык үчүн түшүндүрмө издөөгө аракет кылам.

Эгерде долбоордо React жана jQuery экөө тең колдонулса, анда ал долбоор jQueryден Reactке өтүү процессинин жарымында болушу мүмкүн. Балким, анын бул китепканалар аралашкан код базасы бардыр. Биз буга чейин jQuery сайттары React сайттарына караганда негизги жипке азыраак убакыт короторун көргөндүктөн, бул jQuery'де айрым функцияларды ишке ашыруу сайттын иштешин бир аз жакшыртууга жардам берерин айтышы мүмкүн.

Бирок долбоор jQueryден Reactке өтүп, барган сайын React'ке таянган сайын кырдаал өзгөрөт. Эгер сайт чындап жогорку сапатта жасалса жана сайттын иштеп чыгуучулары Reactти кылдаттык менен колдонсо, анда мындай сайтта баары жакшы болот. Бирок орточо React сайты үчүн, React'тин кеңири колдонулушу негизги жиптин жогорулатылган жүккө дуушар болушун билдирет.

Мобилдик жана рабочий түзмөктөрдүн ортосундагы ажырым

Маалыматтарды карап чыгуунун дагы бир жолу - мобилдик жана рабочий тажрыйбанын ортосундагы ажырым канчалык чоң экенин изилдөө. Эгерде биз JavaScript кодунун көлөмүн салыштыруу жөнүндө сөз кыла турган болсок, анда мындай салыштыруу эч кандай коркунучтуу нерсени көрсөтпөйт. Албетте, азыраак өлчөмдөгү жүктөлүп алынуучу кодду көрүү жакшы болмок, бирок мобилдик жана рабочий коддун көлөмүндө көп деле айырма жок.

Бирок, эгер сиз кодду иштетүү үчүн талап кылынган убакытты талдасаңыз, мобилдик жана рабочий түзмөктөрдүн ортосунда абдан чоң ажырым байкалат.

Мобилдик түзмөктөрдө скрипттерди иштетүүгө байланыштуу убакыттын (пайыз менен) рабочий компьютерлерге салыштырмалуу өсүшү

Процентильдер
10
25
50
75
90

Бардык сайттар
144.1
172.8
185.5
208.5
224.0

jQuery сайттары
188.2
187.4
191.3
209.6
221.9

Vue веб-сайттары
222.5
220.8
220.2
221.4
220.4

Бурчтуу веб-сайттар
205.1
206.0
201.6
210.4
218.7

Реакция веб-сайттары
431.5
386.8
337.9
242.6
179.6

Телефон менен ноутбуктун ортосундагы кодду иштетүү ылдамдыгында кандайдыр бир айырмачылык күтүлсө да, мындай чоң сандар заманбап алкактар ​​аз кубаттуулуктагы түзмөктөргө жетиштүү багытталбаганын жана аныкталган боштукту жабуу каалоосун айтып турат. 10-проценттилде болсо да, React сайттары иш тактасынын негизги жипине караганда мобилдик негизги жипке 431.5% көбүрөөк убакыт коротушат. jQuery эң аз ажырымга ээ, бирок бул жерде да тиешелүү көрсөткүч 188.2% түзөт. Вебсайтты иштеп чыгуучулар өз долбоорлорун иштеп чыгуу үчүн көбүрөөк CPU убактысын талап кылгандай кылып жасашканда (жана ушундай болот жана убакыттын өтүшү менен ал начарлайт), аз кубаттуулуктагы түзмөктөрдүн ээлери ал үчүн төлөшү керек.

натыйжалары

Жакшы алкактар ​​иштеп чыгуучуларга веб-долбоорлорду куруу үчүн жакшы негиз бериши керек (коопсуздук, жеткиликтүүлүк, аткаруу жагынан) же ошол чектөөлөрдү бузган нерсени түзүүнү кыйындаткан камтылган чектөөлөр болушу керек.

Бул веб-долбоорлордун аткарылышына (жана, сыягы, алардын жеткиликтүүлүк).

Белгилей кетчү нерсе, React же Angular сайттары башкаларына караганда кодду даярдоого көбүрөөк CPU убактысын коротуп жаткандыктан, React сайттары иштеп жатканда Vue сайттарына караганда CPU интенсивдүү дегенди билдирбейт. Чынында, биз карап чыккан маалыматтар алкактардын жана китепканалардын оперативдүү иштеши жөнүндө өтө аз айтылат. Алар аң-сезимдүү же жокпу, бул алкактар ​​программисттерди түртүшү мүмкүн болгон өнүгүү ыкмалары жөнүндө көбүрөөк айтышат. Биз алкактардын документтери, алардын экосистемасы жана жалпы иштеп чыгуу ыкмалары жөнүндө сөз болуп жатат.

Бул жерде биз талдабаган нерсени да айта кетели, тактап айтканда, сайттын барактарынын ортосунда өтүүдө түзмөк JavaScript кодун аткарууга канча убакыт коротот. SPA пайдасына аргумент бир беттик тиркеме браузерге жүктөлгөндөн кийин, колдонуучу теориялык жактан сайттын баракчаларына тезирээк кире алат. Бул чындыктан алыс экенин өзүмдүн тажрыйбам айтып турат. Бирок бизде бул маселени тактай турган маалыматтар жок.

Эгерде сиз веб-сайтты түзүү үчүн алкак же китепкананы колдонсоңуз, анда долбоорду алгач жүктөө жана аны баштоого даярдоо жагынан компромисске барасыз. Бул эң позитивдүү сценарийлерге да тиешелүү.

Тийиштүү кырдаалдарда кээ бир компромисстерге барууга болот, бирок иштеп чыгуучулар мындай компромисстерди аң-сезимдүү түрдө жасашы маанилүү.

Бирок бизде оптимизмге да негиз бар. Chrome иштеп чыгуучулары ал куралдардын иштешин жакшыртууга жардам берүү үчүн биз камтыган айрым алдыңкы куралдардын артында тургандар менен канчалык тыгыз иштешип жатканы мени кубаттады.

Бирок, мен прагматик адаммын. Жаңы архитектуралар аларды чечкен сайын аткаруу көйгөйлөрүн жаратат. Ал эми кемчиликтерди жоюуга убакыт керек. Мындайды күтпөшүбүз керек эле жаңы тармактык технологиялар бардык аткаруу көйгөйлөрүн чечет, сиз муну биздин сүйүктүү алкактардын жаңы версияларынан күтпөшүңүз керек.

Эгер сиз бул материалда талкууланган алдыңкы инструменттердин бирин колдонгуңуз келсе, демек, сиз долбоордун натыйжалуулугуна зыян келтирбешиңиз үчүн кошумча күч-аракеттерди жумшоого туура келет. Бул жерде жаңы алкакты колдонууну баштоодон мурун эске алуу керек болгон кээ бир ойлорду карап көрөлү:

  • Акыл менен өзүңүздү текшериңиз. Сиз чындап эле тандаган алкакты колдонушуңуз керекпи? Таза JavaScript бүгүн көп нерсе кыла алат.
  • Сиз тандаган рамкага жеңилирээк альтернатива барбы (мисалы, Preact, Svelte же башка нерсе) сизге ошол алкактын мүмкүнчүлүктөрүнүн 90% бере алат?
  • Эгер сиз мурунтан эле фреймворкту колдонуп жатсаңыз, жакшыраак, консервативдүү, стандарттуу варианттарды сунуштаган бир нерсе бар же жок экенин ойлонуп көрүңүз (мисалы, Vue ордуна Nuxt.js, React ордуна Next.js ж.б.).
  • сенин эмне болот бюджет JavaScript аткаруусу?
  • Сен кантип чек Иштеп чыгуу процессин долбоорго абдан зарыл болгондон көбүрөөк JavaScript кодун киргизүүнү кыйындатуу үчүнбү?
  • Эгер сиз иштеп чыгууну жеңилдетүү үчүн негизди колдонуп жатсаңыз, ойлонуп көрүңүз сага керекпи кардарларга алкак кодун жөнөтүү. Балким, сиз сервердеги бардык маселелерди чече аласызбы?

Адатта, бул идеялар, сиз алдыңкы чекти иштеп чыгуу үчүн эмнени тандасаңыз да, кылдаттык менен карап чыгууга арзыйт. Бирок алар, өзгөчө, сиз баштоо үчүн натыйжалуулугу жок долбоордун үстүндө иштеп жатканыңызда маанилүү.

Урматтуу окурмандар! Сиз идеалдуу JavaScript алкак катары эмнени көрөсүз?

JavaScript алкактарынын баасы

Source: www.habr.com

Комментарий кошуу