Нархи чаҳорчӯбаҳои JavaScript

Ягон роҳи тезтар барои суст кардани вебсайт вуҷуд надорад (маъношуда) аз истифодаи як қатор рамзи JavaScript дар он. Ҳангоми истифодаи JavaScript, шумо бояд барои он бо иҷрои лоиҳаҳо на камтар аз чор маротиба пардохт кунед. Ин аст, ки чӣ тавр коди JavaScript-и сайт системаҳои корбаронро бор мекунад:

  • Зеркашии файл тавассути шабака.
  • Таҳлил ва тартиб додани коди сарчашмаи кушодашуда пас аз зеркашӣ.
  • Иҷрои рамзи JavaScript.
  • Истеъмоли хотира.

Ин комбинатсия ба назар мерасад хеле гарон.

Нархи чаҳорчӯбаҳои JavaScript

Ва мо дар лоиҳаҳои худ бештар ва бештар рамзи JS дохил мекунем. Вақте ки созмонҳо ба сайтҳое ҳаракат мекунанд, ки аз чаҳорчӯбаҳо ва китобхонаҳо ба монанди React, Vue ва дигарон сохта шудаанд, мо функсияҳои асосии сайтҳоро аз JavaScript хеле вобаста месозем.

Ман бисёр сайтҳои хеле вазнинро бо истифода аз чаҳорчӯбаи JavaScript дидаам. Аммо дидгоҳи ман ба ин масъала хеле ғаразнок аст. Гап дар сари он аст, ки ширкатҳое, ки ман бо онҳо кор мекунам, маҳз аз он сабаб ба ман муроҷиат мекунанд, ки онҳо дар соҳаи иҷрои сайт бо мушкилоти мураккаб рӯ ба рӯ мешаванд. Дар натиҷа, ман кунҷков шудам, ки ин мушкилот то чӣ андоза маъмул аст ва вақте ки мо ин ё он чаҳорчӯбро ҳамчун асос барои сайти муайян интихоб мекунем, мо чӣ гуна "ҷаримаҳо" месупорем.

Лоиҳа ба ман кӯмак кард, ки инро дарк кунам. Бойгонии HTTP.

маълумот

Лоиҳаи HTTP Archive дар маҷмӯъ 4308655 истинод ба сайтҳои муқаррарии мизи корӣ ва 5484239 истинод ба сайтҳои мобилиро пайгирӣ мекунад. Дар байни ченакҳои зиёде, ки бо ин истинодҳо алоқаманданд, рӯйхати технологияҳо дар сайтҳои мувофиқ мавҷуданд. Ин маънои онро дорад, ки мо метавонем ҳазорон сайтҳоеро, ки чаҳорчӯбаҳо ва китобхонаҳои гуногунро истифода мебаранд, намуна гирем ва дар бораи он, ки онҳо ба мизоҷон чӣ қадар код мефиристанд ва чӣ қадар ин кодро дар системаҳои корбарон эҷод мекунад, бифаҳмем.

Ман маълумоти марти соли 2020 ҷамъоварӣ кардам, ки охирин маълумоте буд, ки ман ба онҳо дастрасӣ доштам.

Ман тасмим гирифтам, ки маълумоти ҷамъшудаи бойгонии HTTP-ро дар тамоми сайтҳо бо маълумот аз сайтҳое, ки бо истифода аз React, Vue ва Angular ёфт шудаанд, муқоиса кунам, гарчанде ки ман истифодаи маводи дигари манбаъро низ фикр мекардам.

Барои ҷолибтар кардани он, ман инчунин сайтҳоеро илова кардам, ки jQuery-ро ба маҷмӯи маълумотҳои манбаъ истифода мебаранд. Ин китобхона то ҳол хеле маъмул аст. Он инчунин нисбат ба модели Single Page Application (SPA), ки аз ҷониби React, Vue ва Angular пешниҳод шудааст, муносибати дигарро ба таҳияи веб муаррифӣ мекунад.

Истинодҳо дар бойгонии HTTP, ки сайтҳоеро муаррифӣ мекунанд, ки аз технологияҳои мавриди таваҷҷӯҳ истифода мешаванд

Чорчӯба ё китобхона
Пайвандҳо ба сайтҳои мобилӣ
Истинодҳо ба сайтҳои муқаррарӣ

Пинҳон кардани
4615474
3714643

Натиҷа
489827
241023

Vue
85649
43691

Ақл
19423
18088

Умедҳо ва орзуҳо

Пеш аз он ки мо ба таҳлили маълумот гузарем, ман мехоҳам дар бораи он чизе ки ман умедворам, сӯҳбат кунам.

Ман боварӣ дорам, ки дар ҷаҳони идеалӣ чаҳорчӯбаҳо бояд аз қонеъ кардани ниёзҳои таҳиягарон фаротар бошанд ва ба корбари миёна, ки бо сайтҳои мо кор мекунанд, фоидаи мушаххас диҳанд. Иҷрои кор танҳо яке аз ин афзалиятҳост. Дар ин ҷо дастрасӣ ва амният бозӣ мекунанд. Аммо ин танҳо муҳимтарин аст.

Ҳамин тавр, дар ҷаҳони идеалӣ, як намуди чаҳорчӯба бояд эҷоди як сайти баландсифатро осон кунад. Ин бояд ё аз он сабаб анҷом дода шавад, ки чаҳорчӯба ба таҳиякунанда заминаи муносибе медиҳад, ки дар он лоиҳа бунёд кунад ё аз сабаби он, ки он барои рушд маҳдудият ҷорӣ мекунад, ба он талаботе мегузорад, ки таҳияи чизеро душвор мегардонад. суст шавад.

Беҳтарин чаҳорчӯбаҳо бояд ҳардуро иҷро кунанд: заминаи хуб диҳед ва ба кор маҳдудият ҷорӣ кунед, ки ба шумо имкон медиҳад, ки натиҷаи муносиб ба даст оред.

Таҳлили арзишҳои медиании маълумот ба мо маълумоти заруриро намедиҳад. Ва, дар хакикат, ин муносибат аз диккати мо дур мемонад бисёр муҳим. Ба ҷои ин, ман аз маълумоте, ки ман доштам, фоизҳо гирифтам. Инҳо 10, 25, 50 (миёна), 75, 90 фоиз мебошанд.

Ман махсусан ба фоизҳои 10 ва 90 таваҷҷӯҳ дорам. Фоизи 10-ум нишондиҳандаи беҳтаринро (ё ҳадди аққал бештар ё камтар ба беҳтарин) барои чаҳорчӯбаи мушаххас нишон медиҳад. Ба ибораи дигар, ин маънои онро дорад, ки танҳо 10% сайтҳое, ки чаҳорчӯбаи мушаххасро истифода мебаранд, онро ба ин сатҳ ё болотар мерасанд. Аз тарафи дигар, фоизи 90-ум тарафи дигари танга аст - он ба мо нишон медиҳад, ки чӣ гуна чизҳои бад метавонанд ба даст оянд. Фоизи 90-ум сайтҳое мебошанд, ки дар паси он қафо мемонанд - он 10% сайтҳои поёнӣ, ки аз ҳама бештар рамзи JS доранд ё муддати дарозтарин барои коркарди коди худ дар риштаи асосӣ.

Ҳаҷмҳои рамзи JavaScript

Барои оғоз кардан, таҳлил кардани андозаи коди JavaScript, ки аз ҷониби сайтҳои гуногун тавассути шабака интиқол дода мешаванд, маъно дорад.

Маблағи рамзи JavaScript (Кб) ба дастгоҳҳои мобилӣ интиқол дода шудааст

Фоизҳо
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 (Кб), ки ба дастгоҳҳои мизи корӣ интиқол дода шудааст

Фоизҳо
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% зиёдтар доранд. (Мутмаин аст, ки дар ин ҷо баъзе фасоди маълумотҳо вуҷуд дорад. Гап дар он аст, ки jQuery дар бисёр сайтҳо мавҷуд аст, бинобар ин табиист, ки чунин сайтҳо нисбат ба дигарон бо шумораи умумии сайтҳо зичтар алоқаманданд. Аммо, ин ба он таъсир намерасонад, ки то чӣ андоза хом маълумот барои ҳар як чаҳорчӯба бароварда мешавад.)

Дар ҳоле ки 15-18% афзоиши ҳаҷми кодҳо як рақами назаррас аст, дар муқоиса бо дигар чаҳорчӯбаҳо ва китобхонаҳо, метавон хулоса кард, ки "андоз" аз jQuery ситонида мешавад, хеле кам аст. Сайтҳои кунҷӣ дар фоизи 10-ум нисбат ба ҳама сайтҳо ба мизи корӣ 344% ва ба мобилӣ 377% бештар маълумот мефиристанд. Сомонаҳои реаксия аз ҳама вазнинтарин мебошанд, ки нисбат ба ҳама сайтҳо 193% бештар кодро ба мизи корӣ мефиристанд ва 270% бештар ба мобилӣ.

Пештар, ман зикр кардам, ки гарчанде ки истифодаи чаҳорчӯба маънои онро дорад, ки миқдори муайяни код ба лоиҳа дохил карда мешавад, аммо дар оғози кор дар он, ман умедворам, ки чаҳорчӯба қодир аст, ки таҳиякунандаро ба ягон навъ маҳдуд кунад. Аз ҷумла, сухан дар бораи маҳдуд кардани ҳадди ниҳоии код меравад.

Ҷолиб он аст, ки сайтҳои jQuery ин идеяро пайравӣ мекунанд. Гарчанде ки онҳо нисбат ба ҳама сайтҳо дар 10-фоиз каме вазнинтаранд (15-18%), онҳо дар 90-фоиз каме сабуктаранд ва тақрибан 3% ҳам дар мизи корӣ ва ҳам мобилӣ. Ин маънои онро надорад, ки ин як бартарии хеле назаррас аст, аммо метавон гуфт, ки сайтҳои jQuery, ҳадди аққал, андозаи бузурги коди JavaScript, ҳатто дар версияҳои калонтарини онҳо надоранд.

Аммо дар бораи чаҳорчӯбаҳои дигар ҳаминро гуфтан мумкин нест.

Мисли дар ҳолати 10-фоиз, дар сайтҳои 90-уми фоизӣ дар Angular ва React аз сайтҳои дигар фарқ мекунанд, аммо мутаассифона, онҳо аз ҷиҳати бадтар фарқ мекунанд.

Дар фоизи 90-ум, сайтҳои Angular нисбат ба ҳама сайтҳо 141% бештар маълумотро ба мобилӣ мефиристанд ва 159% бештар ба мизи корӣ. Сомонаҳои React нисбат ба ҳама сайтҳо 73% бештар ба мизи корӣ ва 58% бештар ба мобилӣ мефиристанд. Андозаи рамзи сайтҳои React дар фоизи 90-ум 2197.8 КБ аст. Ин маънои онро дорад, ки чунин сайтҳо нисбат ба рақибони наздиктарини худ дар асоси Vue ба дастгоҳҳои мобилӣ 322.9 KB бештар маълумот мефиристанд. Фарқи байни сайтҳои мизи корӣ дар асоси Angular ва React ва сайтҳои дигар боз ҳам калонтар аст. Масалан, сайтҳои Desktop React ба дастгоҳҳо нисбат ба сайтҳои муодили Vue 554.7 KB бештар рамзи JS мефиристанд.

Барои коркарди коди JavaScript дар риштаи асосӣ вақт сарф шудааст

Маълумоти дар боло зикршуда равшан нишон медиҳад, ки сайтҳое, ки чаҳорчӯба ва китобхонаҳои мавриди омӯзиш қарор доранд, миқдори зиёди коди JavaScript-ро дар бар мегиранд. Аммо, албатта, ин танҳо як қисми муодилаи мост.

Пас аз ворид шудани коди JavaScript ба браузер, он бояд ба ҳолати корӣ оварда шавад. Махсусан мушкилоти зиёде аз он амалҳое ба миён меоянд, ки бояд бо код дар риштаи асосии браузер анҷом дода шаванд. Риштаи асосӣ барои коркарди амалҳои корбар, барои ҳисоб кардани услубҳо, барои сохтан ва намоиш додани тарҳбандии саҳифа масъул аст. Агар шумо риштаи асосиро бо супоришҳои JavaScript пур кунед, он имкони сари вақт иҷро кардани вазифаҳои боқимондаро надорад. Ин боиси кашолкорй ва «тормоз» шудани кори сахифахо мегардад.

Пойгоҳи HTTP Archive дорои маълумотест, ки барои коркарди коди JavaScript дар риштаи асосии муҳаррики V8 чӣ қадар вақт лозим аст. Ин маънои онро дорад, ки мо метавонем ин маълумотро ҷамъоварӣ кунем ва бифаҳмем, ки риштаи асосӣ барои коркарди JavaScript-и сайтҳои гуногун чӣ қадар вақт мегирад.

Вақти протсессор (бо миллисонияҳо) вобаста ба коркарди скрипт дар дастгоҳҳои мобилӣ

Фоизҳо
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
Вақти протсессори марбут ба коркарди скрипт дар дастгоҳҳои мобилӣ

Вақти протсессор (дар миллисонияҳо) вобаста ба коркарди скрипт дар дастгоҳҳои мизи корӣ

Фоизҳо
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
Вақти протсессори марбут ба коркарди скрипт дар дастгоҳҳои мизи корӣ

Дар ин чо шумо чизи хеле шиносро дидан мумкин аст.

Барои шурӯъкунандагон, сайтҳо бо jQuery барои коркарди JavaScript дар риштаи асосӣ нисбат ба дигар сайтҳо хеле камтар сарф мекунанд. Дар фоизи 10, дар муқоиса бо ҳама сайтҳо, сайтҳои jQuery дар мобилӣ барои коркарди коди JS дар риштаи асосӣ 61% вақти бештар сарф мекунанд. Дар мавриди сайтҳои мизи jQuery, вақти коркард 37% зиёд мешавад. Дар фоизи 90-ум, сайтҳои jQuery ба холҳои ҷамъӣ хеле наздиканд. Махсусан, сайтҳои jQuery дар дастгоҳҳои мобилӣ нисбат ба ҳама сайтҳо дар риштаи асосӣ 1.3% ва дар дастгоҳҳои мизи корӣ 0.7% камтар вақт сарф мекунанд.

Дар тарафи дигари рейтинги мо чаҳорчӯбаҳое ҳастанд, ки бо баландтарин сарбории риштаи асосӣ тавсиф мешаванд. Ин боз ҳам Angular ва React аст. Ягона фарқияти байни ин ду дар он аст, ки дар ҳоле ки сайтҳои Angular нисбат ба сайтҳои React ба браузерҳо рамзи бештар мефиристанд, сайтҳои Angular барои коркарди код вақти камтари CPU мегиранд. Хеле камтар.

Дар фоизи 10-ум, сайтҳои мизи корӣ Angular нисбат ба ҳама сайтҳо барои коркарди риштаи асосии коди JS 230% бештар вақт сарф мекунанд. Барои сайтҳои мобилӣ ин рақам 313% аст. Сомонаҳои реаксия бадтарин иҷрокунанда мебошанд. Дар мизи корӣ, онҳо нисбат ба ҳама сайтҳо барои коркарди код 248% ва дар мобилӣ 658% бештар вақт сарф мекунанд. 658% хато нест. Дар фоизи 10-ум, сайтҳои React барои коркарди коди худ 2.7 сония вақти асосии риштаро сарф мекунанд.

Фоизи 90-ум, дар муқоиса бо ин рақамҳои бузург, ҳадди аққал каме беҳтар ба назар мерасад. Дар муқоиса бо ҳама сайтҳо, лоиҳаҳои Angular барои дастгоҳҳои мизи корӣ дар риштаи асосӣ 29% ва дар дастгоҳҳои мобилӣ 27% вақти бештар сарф мекунанд. Дар мавриди сайтҳои React, ҳамон рақамҳо мутаносибан 130% ва 98% ба назар мерасанд.

Инҳирофҳои фоизӣ барои фоизи 90-ум нисбат ба арзишҳои шабеҳи фоизи 10-ум беҳтар ба назар мерасанд. Аммо дар ин ҷо бояд дар хотир дошт, ки рақамҳое, ки вақтро нишон медиҳанд, хеле даҳшатнок ба назар мерасанд. Биёед бигӯем, ки 20.8 сония дар риштаи асосии мобилӣ барои вебсайте, ки бо React сохта шудааст. (Ман фикр мекунам, ки достони воқеан дар ин муддат рӯйдода, сазовори мақолаи алоҳида аст).

Дар ин ҷо як мушкилии эҳтимолӣ вуҷуд дорад (ташаккур Ҷереми барои он ки диккати маро ба ин хусусият чалб намуда, маълумотхоро аз ин нуктаи назар бодиккат ба назар гирам). Далели он аст, ки бисёр сайтҳо якчанд абзорҳои пешрафтаро истифода мебаранд. Аз ҷумла, ман бисёр сайтҳоеро дидаам, ки дар баробари React ё Vue jQuery-ро истифода мебаранд, зеро он сайтҳо аз 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% аст. Вақте ки таҳиягарони вебсайт лоиҳаҳои худро тавре таҳия мекунанд, ки коркарди онҳо вақти бештари протсессорро талаб мекунад (ва ин рӯй медиҳад ва он танҳо бо мурури замон бадтар мешавад), соҳибони дастгоҳҳои камқувват бояд барои он пардохт кунанд.

Натиҷаҳо

Чаҳорчӯбаҳои хуб бояд ба таҳиягарон барои сохтани лоиҳаҳои веб (аз нуқтаи назари амният, дастрасӣ, иҷроиш) заминаи хуб диҳанд ё онҳо бояд маҳдудиятҳои дарунсохт дошта бошанд, ки сохтани чизеро, ки ин маҳдудиятҳоро вайрон мекунад, душвор месозад.

Чунин ба назар мерасад, ки ин ба иҷрои лоиҳаҳои веб дахл надорад (ва эҳтимолан ба онҳо дастрасӣ).

Бояд қайд кард, ки танҳо аз он сабаб, ки сайтҳои React ё Angular барои таҳияи код нисбат ба дигарон вақти бештари CPU сарф мекунанд, ҳатман маънои онро надорад, ки сайтҳои React нисбат ба сайтҳои Vue ҳангоми кор пуршиддат CPU мебошанд. Дарвоқеъ, маълумоте, ки мо баррасӣ кардем, дар бораи фаъолияти амалии чаҳорчӯбаҳо ва китобхонаҳо хеле кам гуфта мешавад. Онҳо бештар дар бораи равишҳои рушд сӯҳбат мекунанд, ки огоҳона ё не, ин чаҳорчӯба метавонад барномасозонро тела диҳад. Мо дар бораи ҳуҷҷатгузорӣ барои чаҳорчӯбаҳо, дар бораи экосистемаи онҳо, дар бораи усулҳои умумии рушд сухан меронем.

Инчунин бояд чизеро зикр кунем, ки мо дар ин ҷо таҳлил накардаем, яъне дастгоҳ барои иҷро кардани коди JavaScript чӣ қадар вақтро ҳангоми паймоиш байни саҳифаҳои сайт сарф мекунад. Далел ба манфиати SPA ин аст, ки вақте як замимаи саҳифа ба браузер бор карда мешавад, корбар аз ҷиҳати назариявӣ метавонад саҳифаҳои сайтро зудтар кушояд. Таҷрибаи шахсии ман ба ман мегӯяд, ки ин аз воқеият дур аст. Аммо мо маълумоте надорем, ки ин масъаларо равшан кунад.

Он чизе, ки равшан аст, ин аст, ки агар шумо барои сохтани вебсайт чаҳорчӯба ё китобхонаро истифода баред, шумо дар мавриди бори аввал лоиҳа ва омода кардани он созиш мекунед. Ин ҳатто ба сенарияҳои мусбӣ дахл дорад.

Дар ҳолатҳои мувофиқ баъзе созишҳо кардан комилан имконпазир аст, аммо муҳим аст, ки таҳиягарон ин гуна созишҳоро бошуурона анҷом диҳанд.

Вале мо барои оптимизм низ асос дорем. Ман ба ҳаяҷон омадам, ки таҳиягарони Chrome то чӣ андоза бо таҳиягарони баъзе абзорҳои пешрафта, ки мо баррасӣ кардаем, то чӣ андоза зич кор мекунанд, то ба беҳтар шудани кори ин асбобҳо кӯмак расонанд.

Бо вуҷуди ин, ман як шахси прагматик ҳастам. Архитектураҳои нав, вақте ки онҳо онҳоро ҳал мекунанд, мушкилоти иҷроишро эҷод мекунанд. Ва барои ислоҳи хатогиҳо вақт лозим аст. Ҳамон тавре ки мо набояд интизор шавем технологияҳои нави шабакавӣ ҳамаи мушкилоти иҷроишро ҳал хоҳад кард, шумо набояд инро аз версияҳои нави чаҳорчӯбаҳои дӯстдоштаи мо интизор шавед.

Агар шумо хоҳед, ки яке аз абзорҳои пешрафтаи дар ин мақола муҳокимашударо истифода баред, ин маънои онро дорад, ки шумо бояд кӯшиши иловагӣ ба харҷ диҳед, то ба иҷрои лоиҳаи худ дар айни замон зарар нарасонед. Инҳоянд чанд мулоҳизаҳое, ки пеш аз оғози чаҳорчӯбаи нав бояд баррасӣ шаванд:

  • Бо ақли солим худро санҷед. Оё ба шумо дар ҳақиқат лозим аст, ки чаҳорчӯбаи интихобшударо истифода баред? JavaScript-и пок имрӯз қодир ба бисёр чизҳост.
  • Оё алтернативаи сабуктар ба чаҳорчӯбаи интихобшуда вуҷуд дорад (ба монанди Preact, Svelte ё чизи дигар), ки метавонад ба шумо 90% имкониятҳои ин чаҳорчӯбро диҳад?
  • Агар шумо аллакай чаҳорчӯба истифода карда истода бошед, фикр кунед, ки оё чизе вуҷуд дорад, ки имконоти беҳтар, консервативӣ ва стандартиро пешниҳод мекунад (масалан, Nuxt.js ба ҷои Vue, Next.js ба ҷои React ва ғайра).
  • Шумо чӣ хоҳад кард буҷет Иҷрои JavaScript?
  • Чӣ тавр шумо метавонед маҳдуд раванди таҳия барои душвортар кардани ворид кардани коди бештари JavaScript ба лоиҳа назар ба он ки комилан зарур аст?
  • Агар шумо чаҳорчӯбаро барои осонии рушд истифода баред, фикр кунед ба шумо лозим аст ба мизоҷон рамзи чаҳорчӯба фиристед. Шояд шумо метавонед ҳамаи масъалаҳои серверро ҳал кунед?

Одатан, ин ғояҳо, новобаста аз он, ки шумо барои рушди фронт чӣ маҳз интихоб кардаед, арзанда аст. Аммо онҳо махсусан муҳиманд, вақте ки шумо дар лоиҳае кор мекунед, ки аз ибтидо иҷроиш намерасад.

Хонандагони азиз! Шумо чаҳорчӯбаи идеалии JavaScript-ро чӣ гуна мебинед?

Нархи чаҳорчӯбаҳои JavaScript

Манбаъ: will.com

Илова Эзоҳ