JavaScript çərçivələrinin qiyməti

Veb saytı yavaşlatmaq üçün orada bir dəstə JavaScript kodu istifadə etməkdən daha sürətli bir yol yoxdur. JavaScript istifadə edərkən, ən azı dörd dəfə layihələrin icrası ilə bunun üçün ödəməlisiniz. Saytın JavaScript kodu istifadəçilərin sistemlərini necə yükləyir:

  • Şəbəkə üzərindən fayl endirilir.
  • Yüklədikdən sonra qablaşdırılmamış mənbə kodunun təhlili və tərtib edilməsi.
  • JavaScript kodunun icrası.
  • Yaddaş istehlakı.

Bu birləşmə ortaya çıxır çox bahalı.

JavaScript çərçivələrinin qiyməti

Və biz layihələrimizə getdikcə daha çox JS kodu daxil edirik. Təşkilatlar React, Vue və başqaları kimi çərçivələr və kitabxanalar tərəfindən dəstəklənən saytlara doğru irəlilədikcə, biz saytların əsas funksionallığını JavaScript-dən çox asılı edirik.

JavaScript çərçivələrindən istifadə edən çox ağır saytlar gördüm. Amma məsələyə baxışım çox qərəzlidir. Fakt budur ki, işlədiyim şirkətlər saytın performansı sahəsində mürəkkəb problemlərlə üzləşdikləri üçün mənə müraciət edirlər. Nəticədə bu problemin nə dərəcədə geniş yayıldığı, müəyyən sayt üçün bu və ya digər çərçivə seçəndə hansı “cərimələr” ödədiyimizlə maraqlandım.

Layihə mənə bunu anlamağa kömək etdi. HTTP Arxivi.

Məlumat

HTTP Arxiv layihəsi adi masaüstü saytlara cəmi 4308655 5484239 XNUMX keçidi və mobil saytlara XNUMX XNUMX XNUMX keçidi izləyir. Bu bağlantılarla əlaqəli bir çox göstəricilər arasında müvafiq saytlarda tapılan texnologiyaların siyahısı var. Bu o deməkdir ki, biz müxtəlif çərçivələrdən və kitabxanalardan istifadə edən minlərlə saytdan nümunə götürə və onların müştərilərə nə qədər kod göndərdiyini və bu kodun istifadəçilərin sistemlərində nə qədər yük yaratdığını öyrənə bilərik.

Mən 2020-ci ilin mart ayı məlumatlarını topladım, bu da əlimdə olan ən son məlumatlar idi.

Digər mənbə materiallarından da istifadə etməyi düşünsəm də, mən bütün saytlardakı məcmu HTTP Arxiv məlumatlarını React, Vue və Angular istifadə edərək tapılan saytların məlumatları ilə müqayisə etmək qərarına gəldim.

Daha maraqlı etmək üçün mənbə məlumat dəstinə jQuery istifadə edən saytları da əlavə etdim. Bu kitabxana hələ də çox populyardır. O, həmçinin React, Vue və Angular tərəfindən təklif olunan Tək Səhifə Tətbiqi (SPA) modelindən fərqli olaraq veb inkişafı üçün fərqli bir yanaşma təqdim edir.

Maraqlanan texnologiyalardan istifadə etdiyi aşkar edilmiş saytları təmsil edən HTTP Arxivindəki bağlantılar

Çərçivə və ya kitabxana
Mobil saytlara keçidlər
Adi saytlara keçidlər

jQuery
4615474
3714643

Reaksiya
489827
241023

Vue
85649
43691

Bucaq
19423
18088

Ümidlər və xəyallar

Məlumatların təhlilinə keçməzdən əvvəl mən nəyə ümid etmək istədiyim barədə danışmaq istəyirəm.

Hesab edirəm ki, ideal bir dünyada çərçivələr tərtibatçıların ehtiyaclarını ödəməkdən kənara çıxmalı və saytlarımızla işləyən adi istifadəçiyə müəyyən fayda təmin etməlidir. Performans bu üstünlüklərdən yalnız biridir. Burada əlçatanlıq və təhlükəsizlik ön plana çıxır. Ancaq bu, yalnız ən vacibidir.

Beləliklə, ideal bir dünyada hansısa çərçivə yüksək performanslı sayt yaratmağı asanlaşdırmalıdır. Bu, ya çərçivənin tərtibatçıya bir layihə qurmaq üçün layiqli baza verməsi və ya inkişafa məhdudiyyətlər qoyması, ona çevrilən bir şeyin inkişafını çətinləşdirən tələblər irəli sürməsi səbəbindən edilməlidir. yavaş olmaq üçün.

Ən yaxşı çərçivələr hər ikisini etməlidir: yaxşı bir əsas vermək və layiqli nəticə əldə etməyə imkan verən işə məhdudiyyətlər qoymaq.

Verilənlərin median dəyərlərini təhlil etmək bizə lazım olan məlumatı verməyəcək. Və əslində bu yanaşma bizim diqqətimizdən kənarda qalır çox vacib. Bunun əvəzinə məndə olan məlumatlardan faizlər çıxardım. Bunlar 10, 25, 50 (median), 75, 90 faizdir.

Mən xüsusilə 10 və 90 faizlərlə maraqlanıram. 10-cu faizlik müəyyən bir çərçivə üçün ən yaxşı performansı (və ya ən azı ən yaxşıya daha çox və ya daha az yaxın) təmsil edir. Başqa sözlə, bu o deməkdir ki, müəyyən çərçivədən istifadə edən saytların yalnız 10%-i bu səviyyəyə və ya daha yüksək səviyyəyə çatır. Digər tərəfdən, 90 faizlik sikkənin digər tərəfidir - bu, bizə pis şeylərin nə qədər pis ola biləcəyini göstərir. 90-cı faizlik arxada qalan saytlardır - ən çox JS koduna malik olan və ya kodunu əsas mövzuda emal etmək üçün ən uzun müddətə malik olan saytların aşağı 10%-i.

JavaScript kodunun həcmi

Başlamaq üçün şəbəkə üzərindən müxtəlif saytlar tərəfindən ötürülən JavaScript kodunun ölçüsünü təhlil etmək məntiqlidir.

Mobil cihazlara ötürülən JavaScript kodunun miqdarı (Kb).

Faizlər
10
25
50
75
90

Bütün saytlar
93.4 
196.6 
413.5 
746.8 
1201.6 

jQuery saytları
110.3 
219.8 
430.4 
748.6 
1162.3 

Vue saytları
244.7 
409.3 
692.1 
1065.5 
1570.7 

Bucaqlı saytlar
445.1 
675.6 
1066.4 
1761.5 
2893.2 

Reaksiya Saytları
345.8 
441.6 
690.3 
1238.5 
1893.6 

JavaScript çərçivələrinin qiyməti
Mobil cihazlara göndərilən JavaScript kodunun miqdarı

Masaüstü cihazlara ötürülən JavaScript kodunun miqdarı (Kb).

Faizlər
10
25
50
75
90

Bütün saytlar
105.5 
226.6 
450.4 
808.8 
1267.3 

jQuery saytları
121.7 
242.2 
458.3 
803.4 
1235.3 

Vue saytları
248.0 
420.1 
718.0 
1122.5 
1643.1 

Bucaqlı saytlar
468.8 
716.9 
1144.2 
1930.0 
3283.1 

Reaksiya Saytları
308.6 
469.0 
841.9 
1472.2 
2197.8 

JavaScript çərçivələrinin qiyməti
Masaüstü cihazlara göndərilən JavaScript kodunun miqdarı

Yalnız saytların cihazlara göndərdiyi JS kodunun ölçüsündən danışsaq, hər şey gözlədiyiniz kimi görünür. Məhz, çərçivələrdən biri istifadə olunarsa, bu o deməkdir ki, hətta ideal vəziyyətdə belə saytın JavaScript kodunun həcmi artacaq. Bu təəccüblü deyil - siz JavaScript çərçivəsini saytın əsasına çevirə və layihənin JS kodunun həcminin çox aşağı olacağını gözləyə bilməzsiniz.

Bu məlumatların diqqətəlayiq cəhəti odur ki, bəzi çərçivələr və kitabxanalar layihə üçün digərlərindən daha yaxşı başlanğıc nöqtəsi hesab edilə bilər. jQuery ilə saytlar ən yaxşı görünür. Saytların masaüstü versiyalarında bütün saytlardan 15%, mobil versiyada isə 18% daha çox JavaScript ehtiva edir. (Etiraf etmək lazımdır ki, burada bəzi məlumatların korlanması var. Fakt budur ki, jQuery bir çox saytlarda mövcuddur, ona görə də bu cür saytların saytların ümumi sayı ilə digərləri ilə müqayisədə daha sıx əlaqəli olması təbiidir. Lakin bu, nə qədər raw olmasına təsir etmir. məlumatlar hər çərçivə üçün çıxarılır.)

Kod həcmində 15-18% artım diqqətəlayiq rəqəm olsa da, bunu digər çərçivələr və kitabxanalarla müqayisə etdikdə, jQuery tərəfindən tutulan “vergi”nin çox aşağı olduğu qənaətinə gəlmək olar. 10-cu faizlikdə olan bucaqlı saytlar bütün saytlara nisbətən masaüstünə 344%, mobil cihazlara isə 377% daha çox məlumat göndərir. Reaksiya saytları növbəti ən ağırdır, bütün saytlardan 193%, mobil telefona isə 270% daha çox kod göndərir.

Əvvəllər qeyd etdim ki, çərçivədən istifadə etmək layihəyə müəyyən miqdarda kodun daxil edilməsini nəzərdə tutsa da, onun üzərində işin lap əvvəlində, ümid edirəm ki, çərçivə birtəhər tərtibatçını məhdudlaşdıra bilir. Xüsusilə, kodun maksimum miqdarının məhdudlaşdırılmasından danışırıq.

Maraqlıdır ki, jQuery saytları bu fikrə əməl edirlər. Onlar 10-cu persentildə (15-18%) bütün saytlardan bir qədər ağır olsalar da, həm masaüstü, həm də mobil cihazlarda 90 faizlikdə bir qədər yüngüldürlər və təxminən 3%. Bu, bunun çox əhəmiyyətli bir fayda olduğunu söyləmək deyil, lakin demək olar ki, jQuery saytları, ən azı, ən böyük versiyalarında belə, böyük JavaScript kod ölçülərinə sahib deyillər.

Ancaq eyni şeyi digər çərçivələr haqqında demək olmaz.

10-cu faizlik vəziyyətində olduğu kimi, Angular və React-də 90-cı faizlik saytlar digər saytlardan fərqlənir, lakin təəssüf ki, daha pisinə görə fərqlənirlər.

90-cı faizdə Angular saytları bütün saytlardan mobil telefona 141%, masaüstünə isə 159% daha çox məlumat göndərir. Reaksiya saytları bütün saytlardan 73% daha çox masaüstünə, 58% isə mobil telefona göndərir. 90-cı faizdə olan React saytlarının kod ölçüsü 2197.8 KB-dir. Bu o deməkdir ki, bu cür saytlar mobil cihazlara Vue-a əsaslanan ən yaxın rəqiblərindən 322.9 KB daha çox məlumat göndərir. Angular və React-a əsaslanan masaüstü saytlar və digər saytlar arasında fərq daha da böyükdür. Məsələn, masaüstü React saytları cihazlara ekvivalent Vue saytlarından 554.7 KB daha çox JS kodu göndərir.

Əsas mövzuda JavaScript kodunu emal etmək üçün vaxt sərf olundu

Yuxarıdakı məlumatlar aydın şəkildə göstərir ki, öyrənilən çərçivələrdən və kitabxanalardan istifadə edən saytlarda böyük miqdarda JavaScript kodu var. Amma təbii ki, bu, bizim tənliyin yalnız bir hissəsidir.

JavaScript kodu brauzerə daxil olduqdan sonra onu işlək vəziyyətə gətirmək lazımdır. Xüsusilə bir çox problem əsas brauzer başlığında kodla yerinə yetirilməli olan hərəkətlərdən qaynaqlanır. Əsas mövzu istifadəçi hərəkətlərini emal etmək, üslubları hesablamaq, səhifə tərtibatını qurmaq və göstərmək üçün cavabdehdir. Əsas mövzunu JavaScript tapşırıqları ilə doldursanız, qalan tapşırıqları vaxtında yerinə yetirmək imkanı olmayacaq. Bu, səhifələrin işində gecikmələrə və "tormozlara" gətirib çıxarır.

HTTP Arxiv verilənlər bazasında V8 mühərrikinin əsas ipində JavaScript kodunu emal etmək üçün nə qədər vaxt lazım olduğu barədə məlumat var. Bu o deməkdir ki, biz bu məlumatları toplaya və müxtəlif saytların JavaScript-ni emal etmək üçün əsas mövzunun nə qədər vaxt tələb etdiyini öyrənə bilərik.

Mobil cihazlarda skriptin işlənməsi ilə bağlı prosessor vaxtı (millisaniyələrlə).

Faizlər
10
25
50
75
90

Bütün saytlar
356.4
959.7
2372.1
5367.3
10485.8

jQuery saytları
575.3
1147.4
2555.9
5511.0
10349.4

Vue saytları
1130.0
2087.9
4100.4
7676.1
12849.4

Bucaqlı saytlar
1471.3
2380.1
4118.6
7450.8
13296.4

Reaksiya Saytları
2700.1
5090.3
9287.6
14509.6
20813.3

JavaScript çərçivələrinin qiyməti
Mobil cihazlarda skript emalı ilə bağlı prosessor vaxtı

Masaüstü cihazlarda skriptin işlənməsi ilə bağlı prosessor vaxtı (millisaniyələrlə).

Faizlər
10
25
50
75
90

Bütün saytlar
146.0
351.8
831.0
1739.8
3236.8

jQuery saytları
199.6
399.2
877.5
1779.9
3215.5

Vue saytları
350.4
650.8
1280.7
2388.5
4010.8

Bucaqlı saytlar
482.2
777.9
1365.5
2400.6
4171.8

Reaksiya Saytları
508.0
1045.6
2121.1
4235.1
7444.3

JavaScript çərçivələrinin qiyməti
Masaüstü cihazlarda skriptin işlənməsi ilə bağlı prosessor vaxtı

Burada çox tanış bir şey görə bilərsiniz.

Başlayanlar üçün, jQuery ilə saytlar digər saytlara nisbətən əsas mövzuda JavaScript-in işlənməsinə əhəmiyyətli dərəcədə az xərcləyir. 10-cu faizdə, bütün saytlarla müqayisədə, mobil telefondakı jQuery saytları əsas mövzuda JS kodunu emal etməyə 61% daha çox vaxt sərf edir. Masaüstü jQuery saytları vəziyyətində, emal müddəti 37% artır. 90-cı faizdə jQuery saytları ümumi xallara çox yaxındır. Konkret olaraq, mobil cihazlardakı jQuery saytları əsas mövzuya bütün saytlardan 1.3%, masaüstü cihazlarda isə 0.7% az vaxt sərf edirlər.

Reytinqimizin digər tərəfində əsas ipdə ən yüksək yüklə xarakterizə olunan çərçivələr var. Bu, yenə Angular və React. İkisi arasındakı yeganə fərq odur ki, Angular saytlar React saytlarından daha çox brauzerlərə kod göndərərkən, Angular saytlar kodu emal etmək üçün daha az CPU vaxtı alır. Daha az.

10-cu faizdə, masa üstü Angular saytları bütün saytlara nisbətən JS kodunun işlənməsi üçün əsas iplik işinə 230% daha çox vaxt sərf edirlər. Mobil saytlar üçün bu göstərici 313% təşkil edir. Reaksiya saytları ən pis nəticə göstərənlərdir. Desktopda onlar kodun işlənməsinə bütün saytlardan 248%, mobildə isə 658% daha çox vaxt sərf edirlər. 658% hərf səhvi deyil. 10-cu faizlikdə React saytları kodlarını emal etməyə 2.7 saniyə əsas iş vaxtını sərf edir.

90-cı faiz, bu nəhəng rəqəmlərlə müqayisədə, ən azı bir az daha yaxşı görünür. Bütün saytlarla müqayisədə Angular layihələri əsas mövzuda masa üstü cihazlarda 29%, mobil cihazlarda isə 27% daha çox vaxt sərf edirlər. React saytlarında eyni rəqəmlər müvafiq olaraq 130% və 98% kimi görünür.

90-cı faiz üçün faiz sapmaları 10-cu faiz üçün oxşar dəyərlərdən daha yaxşı görünür. Ancaq burada xatırlamağa dəyər ki, vaxtı göstərən rəqəmlər olduqca qorxulu görünür. Tutaq ki, React ilə qurulmuş veb sayt üçün əsas mobil mövzuda 20.8 saniyə. (Düşünürəm ki, bu müddət ərzində əslində baş verənlərin hekayəsi ayrıca məqaləyə layiqdir).

Burada bir potensial fəsad var (təşəkkürlər Jeremy diqqətimi bu xüsusiyyətə cəlb etdiyim üçün və məlumatları bu baxımdan diqqətlə nəzərdən keçirdiyim üçün). Fakt budur ki, bir çox saytlar bir neçə front-end alətindən istifadə edir. Xüsusilə, React və ya Vue ilə yanaşı jQuery istifadə edən çoxlu saytlar gördüm, çünki bu saytlar jQuery-dən digər çərçivələrə və ya kitabxanalara köçür. Nəticədə verilənlər bazasını yenidən vurdum, bu dəfə yalnız React, jQuery, Angular və ya Vue istifadə edən saytlara uyğun gələn linkləri seçdim, lakin onların heç bir kombinasiyası yox. Əldə etdiyim budur.

Saytların yalnız bir çərçivədən və ya yalnız bir kitabxanadan istifadə etdiyi bir vəziyyətdə mobil cihazlarda skriptlərin işlənməsi ilə əlaqəli prosessor vaxtı (millisaniyələrlə)

Faizlər
10
25
50
75
90

Yalnız jQuery istifadə edən saytlar
542.9
1062.2
2297.4
4769.7
8718.2

Yalnız Vue istifadə edən saytlar
944.0
1716.3
3194.7
5959.6
9843.8

Yalnız Angular istifadə edən saytlar
1328.9
2151.9
3695.3
6629.3
11607.7

Yalnız React istifadə edən saytlar
2443.2
4620.5
10061.4
17074.3
24956.3

JavaScript çərçivələrinin qiyməti
Saytların yalnız bir çərçivədən və ya yalnız bir kitabxanadan istifadə etdiyi bir vəziyyətdə mobil cihazlarda skriptlərin işlənməsi ilə əlaqəli prosessor vaxtı

Birincisi, təəccüblü olmayan bir şey: sayt yalnız bir çərçivə və ya bir kitabxanadan istifadə etdikdə, belə bir saytın performansı daha tez-tez yaxşılaşır. Hər bir alət 10 və 25-ci faizlərdə daha yaxşı çıxış edir. Məntiqlidir. Bir çərçivədən istifadə edərək hazırlanmış sayt, iki və ya daha çox çərçivə və ya kitabxanadan istifadə edərək hazırlanmış saytdan daha yaxşı performans göstərməlidir.

Əslində, öyrənilən hər bir ön alətin performansı bir maraqlı istisna istisna olmaqla, bütün hallarda daha yaxşı görünür. Məni təəccübləndirən o oldu ki, 50-ci faiz və yuxarıda React istifadə edən saytlar React istifadə etdikləri yeganə kitabxana olduqda daha pis işləyir. Yeri gəlmişkən, bu məlumatları burada təqdim etməyimə səbəb oldu.

Bu bir az qəribədir, amma yenə də bu qəribəliyin izahını axtarmağa çalışacağam.

Əgər layihə həm React, həm də jQuery-dən istifadə edirsə, o zaman bu layihə, ehtimal ki, jQuery-dən React-ə keçidin yarısındadır. Bəlkə də bu kitabxanaların qarışıq olduğu bir kod bazası var. Artıq jQuery saytlarının React saytlarına nisbətən əsas mövzuda daha az vaxt sərf etdiyini gördüyümüz üçün bu, jQuery-də bəzi funksionallığın tətbiqinin saytın bir az daha yaxşı işləməsinə kömək etdiyini deyə bilər.

Lakin layihə jQuery-dən React-ə keçdikdə və daha çox React-ə güvəndikcə, işlər dəyişir. Əgər sayt həqiqətən yüksək keyfiyyətlidirsə və sayt tərtibatçıları React-dən ehtiyatla istifadə edirlərsə, belə bir saytla hər şey yaxşı olacaq. Ancaq orta React saytı üçün React-dən geniş istifadə əsas ipin ağır yük altında olması deməkdir.

Mobil və masaüstü cihazlar arasındakı boşluq

Tədqiq edilmiş məlumatlara baxdığım başqa bir nöqteyi-nəzərdən mobil və masaüstü cihazlarda saytlarla işləmək arasında fərqin nə qədər böyük olduğunu öyrənmək idi. JavaScript kodunun həcmlərini müqayisə etməkdən danışırıqsa, belə bir müqayisə heç bir dəhşətli şey aşkar etmir. Əlbəttə ki, daha az miqdarda yüklənə bilən kodu görmək yaxşı olardı, lakin mobil və masaüstü kodun miqdarında çox da fərq yoxdur.

Amma kodun işlənməsi üçün tələb olunan vaxtı təhlil etsək, mobil və masaüstü cihazlar arasında çox böyük bir boşluq nəzərə çarpır.

Masaüstü ilə müqayisədə mobil cihazlarda skriptlərin işlənməsi ilə bağlı vaxt (faiz) artımı

Faizlər
10
25
50
75
90

Bütün saytlar
144.1
172.8
185.5
208.5
224.0

jQuery saytları
188.2
187.4
191.3
209.6
221.9

Vue saytları
222.5
220.8
220.2
221.4
220.4

Bucaqlı saytlar
205.1
206.0
201.6
210.4
218.7

Reaksiya Saytları
431.5
386.8
337.9
242.6
179.6

Telefon və noutbuk arasında kodun işləmə sürətində müəyyən fərq gözlənilsə də, bu qədər böyük rəqəmlər mənə müasir çərçivələrin aşağı gücə malik cihazlara yetərincə hədəflənmədiyini və kəşf etdikləri boşluğu aradan qaldırmağa çalışdıqlarını bildirir. Hətta 10-cu faizdə belə, React saytları masaüstündəki əsas mövzu ilə müqayisədə mobil əsas mövzuda 431.5% daha çox vaxt sərf edirlər. jQuery ən kiçik boşluğa malikdir, lakin hətta burada da müvafiq rəqəm 188.2% təşkil edir. Veb sayt tərtibatçıları layihələrini elə etdikdə ki, onların işlənməsi daha çox prosessor vaxtı tələb edir (və bu baş verir və bu, zaman keçdikcə daha da pisləşir), aşağı gücə malik cihazların sahibləri bunun üçün pul ödəməlidirlər.

Nəticələri

Yaxşı çərçivələr tərtibatçılara veb layihələri (təhlükəsizlik, əlçatanlıq, performans baxımından) qurmaq üçün yaxşı təməl verməlidir və ya bu məhdudiyyətləri pozan bir şey qurmağı çətinləşdirən daxili məhdudiyyətlərə malik olmalıdır.

Görünür, bu, veb-layihələrin icrasına aid deyil (və yəqin ki, onların əlçatanlıq).

Qeyd etmək lazımdır ki, React və ya Angular saytlarının kod hazırlamaq üçün başqalarına nisbətən daha çox CPU vaxtı sərf etməsi, React saytlarının işləyərkən Vue saytlarından daha çox CPU intensivliyi demək deyil. Əslində, nəzərdən keçirdiyimiz məlumatlar çərçivələrin və kitabxanaların əməliyyat performansı haqqında çox az şey deyir. Onlar daha çox şüurlu və ya şüurlu olmayan bu çərçivələrin proqramçılara təkan verə biləcəyi inkişaf yanaşmaları haqqında danışırlar. Söhbət çərçivələr üçün sənədlərdən, onların ekosistemindən, ümumi inkişaf üsullarından gedir.

Burada təhlil etmədiyimiz bir şeyi, yəni saytın səhifələri arasında naviqasiya edərkən cihazın JavaScript kodunu icra etməyə nə qədər vaxt sərf etdiyini də qeyd etmək lazımdır. SPA-nın lehinə olan arqument ondan ibarətdir ki, tək səhifəlik proqram brauzerə yükləndikdən sonra istifadəçi nəzəri olaraq saytın səhifələrini daha tez aça biləcək. Öz təcrübəm mənə deyir ki, bu, həqiqətdən uzaqdır. Amma bu məsələyə aydınlıq gətirəcək məlumatımız yoxdur.

Aydın olan budur ki, veb-sayt yaratmaq üçün bir çərçivə və ya kitabxanadan istifadə edirsinizsə, ilkin olaraq layihəni yükləmək və onu işə hazırlamaq baxımından güzəştə gedirsiniz. Bu, hətta ən müsbət ssenarilərə də aiddir.

Müvafiq vəziyyətlərdə bəzi güzəştlərə getmək tamamilə mümkündür, lakin tərtibatçıların bu cür güzəştləri şüurlu şəkildə etmələri vacibdir.

Amma bizim optimizm üçün də əsasımız var. Chrome tərtibatçılarının həmin alətlərin işini yaxşılaşdırmağa kömək etmək üçün nəzərdən keçirdiyimiz bəzi qabaqcıl alətlərin tərtibatçıları ilə nə qədər yaxından işlədiyini görmək məni həyəcanlandırır.

Bununla belə, mən praqmatik insanam. Yeni arxitekturalar onları həll etdikcə performans problemləri yaradır. Və səhvləri düzəltmək üçün vaxt lazımdır. Necə ki, gözləməməliyik yeni şəbəkə texnologiyaları bütün performans problemlərini həll edəcək, bunu sevimli çərçivələrimizin yeni versiyalarından gözləməməlisiniz.

Bu məqalədə müzakirə olunan qabaqcıl vasitələrdən birini istifadə etmək istəyirsinizsə, bu o deməkdir ki, bu vaxt layihənizin performansına zərər verməmək üçün əlavə səy göstərməli olacaqsınız. Yeni çərçivəyə başlamazdan əvvəl nəzərə alınmalı olan bəzi mülahizələr bunlardır:

  • Sağlam düşüncə ilə özünüzü sınayın. Həqiqətən seçilmiş çərçivədən istifadə etməlisiniz? Bu gün təmiz JavaScript çox şeyə qadirdir.
  • Seçilmiş çərçivəyə (məsələn, Preact, Svelte və ya başqa bir şey) bu çərçivənin imkanlarının 90% -ni verə biləcək daha yüngül alternativ varmı?
  • Əgər siz artıq çərçivədən istifadə edirsinizsə, daha yaxşı, daha konservativ, standart seçimlər təklif edən nəyinsə olub-olmadığını nəzərdən keçirin (məsələn, Vue əvəzinə Nuxt.js, React əvəzinə Next.js və s.).
  • sənin nə olacaq büdcə JavaScript performansı?
  • Necə bilərsən məhdudlaşdırmaq bir layihəyə tamamilə zəruri olduğundan daha çox JavaScript kodu daxil etməyi çətinləşdirmək üçün inkişaf prosesi?
  • Əgər inkişaf asanlığı üçün çərçivədən istifadə edirsinizsə, düşünün lazımdırmı müştərilərə çərçivə kodu göndərin. Bəlkə serverdəki bütün problemləri həll edə bilərsiniz?

Bir qayda olaraq, bu fikirlərə baxmağa dəyər, cəbhə inkişafı üçün tam olaraq nə seçdiyinizdən asılı olmayaraq. Ancaq əvvəldən performansı olmayan bir layihə üzərində işləyərkən onlar xüsusilə vacibdir.

Hörmətli oxucular! İdeal JavaScript çərçivəsini necə görürsünüz?

JavaScript çərçivələrinin qiyməti

Mənbə: www.habr.com

Добавить комментарий