Web ãµã€ãã®é床ãäœäžãããã«ã¯ãWeb ãµã€ãäžã§å€§éã® JavaScript ã³ãŒãã䜿çšããããšããæã£åãæ©ãæ¹æ³ã¯ãããŸãã (åè«ã§ã)ã JavaScript ã䜿çšããå Žåããããžã§ã¯ãã® XNUMX å以äžã®ããã©ãŒãã³ã¹ã«å¿ããŠæéãæ¯æãå¿ èŠããããŸãã ãµã€ãã® JavaScript ã³ãŒãããŠãŒã¶ãŒã®ã·ã¹ãã ãããŒãããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
- ãããã¯ãŒã¯çµç±ã§ãã¡ã€ã«ãããŠã³ããŒãããã
- ããŠã³ããŒãåŸã«è§£åããããœãŒã¹ ã³ãŒãã解æããŠã³ã³ãã€ã«ããŸãã
- JavaScript ã³ãŒãã®å®è¡ã
- ã¡ã¢ãªæ¶è²»éã
ãã®çµã¿åãããå€æ
ãããŠãç§ãã¡ã¯ãããžã§ã¯ãã«ãŸããŸãå€ãã® JS ã³ãŒããå«ããŸãã çµç¹ã ReactãVue ãªã©ã®ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªãå©çšãããµã€ãã«ç§»è¡ããã«ã€ããŠããµã€ãã®ã³ã¢æ©èœã JavaScript ã«å€§ããäŸåããããã«ãªããŸããã
JavaScript ãã¬ãŒã ã¯ãŒã¯ã䜿çšããéåžžã«éããµã€ããããããèŠãŠããŸããã ãããããã®åé¡ã«å¯Ÿããç§ã®èŠæ¹ã¯éåžžã«åã£ãŠããŸãã å®éã®ãšãããç§ãååããŠããäŒæ¥ã¯ããŸãã«ãµã€ãã®ããã©ãŒãã³ã¹ã®åéã§è€éãªåé¡ã«çŽé¢ããŠãããããããç§ã«é Œã£ãŠããã®ã§ãã ãã®çµæãç§ã¯ããã®åé¡ãã©ã®çšåºŠäžè¬çã§ãããããŸããç¹å®ã®ãµã€ãã®åºç€ãšã㊠XNUMX ã€ãŸãã¯å¥ã®ãã¬ãŒã ã¯ãŒã¯ãéžæããå Žåã«ã©ã®ãããªãããã«ãã£ããæ¯æãããã®ãã«ã€ããŠèå³ãæã€ããã«ãªããŸããã
ãã®ãããžã§ã¯ãã¯ç§ããããç解ããã®ã«åœ¹ç«ã¡ãŸããã
ããŒã¿
HTTP ã¢ãŒã«ã€ã ãããžã§ã¯ãã§ã¯ãéåžžã®ãã¹ã¯ããã ãµã€ããžã®ãªã³ã¯ãåèš 4308655 件ãã¢ãã€ã« ãµã€ããžã®ãªã³ã¯ã 5484239 件远跡ãããŠããŸãã ãããã®ãªã³ã¯ã«é¢é£ä»ããããå€ãã®ææšã®äžã«ã¯ãããããã®ãµã€ãã§èŠã€ãã£ããã¯ãããžãŒã®ãªã¹ãããããŸãã ããã¯ãããŸããŸãªãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªã䜿çšããäœåãã®ãµã€ãããµã³ããªã³ã°ããã¯ã©ã€ã¢ã³ãã«éä¿¡ãããã³ãŒãã®éãšããã®ã³ãŒãããŠãŒã¶ãŒã®ã·ã¹ãã ã«äžããè² è·ã®éãç¥ãããšãã§ããããšãæå³ããŸãã
ç§ãã¢ã¯ã»ã¹ã§ããææ°ã®ããŒã¿ã§ãã 2020 幎 XNUMX æã®ããŒã¿ãåéããŸããã
ä»ã®ãœãŒã¹ ãããªã¢ã«ã䜿çšããããšãæ€èšããŸãããããã¹ãŠã®ãµã€ãã®éçŽããã HTTP ã¢ãŒã«ã€ã ããŒã¿ããReactãVueãAngular ã䜿çšããŠèŠã€ãã£ããµã€ãã®ããŒã¿ãšæ¯èŒããããšã«ããŸããã
ããã«é¢çœãããããã«ãjQuery ã䜿çšãããµã€ãããœãŒã¹ ããŒã¿ ã»ããã«è¿œå ããŸããã ãã®å³æžé€šã¯ä»ã§ãéåžžã«äººæ°ããããŸãã ãŸããReactãVueãAngular ãæäŸããã·ã³ã°ã« ããŒãž ã¢ããªã±ãŒã·ã§ã³ (SPA) ã¢ãã«ãšã¯ç°ãªã Web éçºã¢ãããŒããå°å ¥ããŠããŸãã
察象ãšãªããã¯ãããžãŒã䜿çšããŠããããšãå€æãããµã€ããè¡šã HTTP ã¢ãŒã«ã€ãå ã®ãªã³ã¯
ãã¬ãŒã ã¯ãŒã¯ãŸãã¯ã©ã€ãã©ãª
ã¢ãã€ã«ãµã€ããžã®ãªã³ã¯
éåžžã®ãµã€ããžã®ãªã³ã¯
jQueryã®
4615474
3714643
åå¿ãã
489827
241023
ãŽã¥ãŒ
85649
43691
è§åºŠã®
19423
18088
åžæãšå€¢
ããŒã¿åæã«å ¥ãåã«ãç§ãæåŸ ãããããšã«ã€ããŠã話ããããšæããŸãã
çæ³çãªäžçã§ã¯ããã¬ãŒã ã¯ãŒã¯ã¯éçºè ã®ããŒãºãæºããã ãã§ãªãããµã€ãã䜿çšããå¹³åçãªãŠãŒã¶ãŒã«äœããã®ç¹å®ã®å©ç¹ãæäŸããå¿ èŠããããšç§ã¯ä¿¡ããŠããŸãã ããã©ãŒãã³ã¹ã¯ãããã®å©ç¹ã® XNUMX ã€ã«ãããŸããã ããã§ã¢ã¯ã»ã·ããªãã£ãšã»ãã¥ãªãã£ãéèŠã«ãªããŸãã ããããããã¯æãéèŠãªããšã ãã§ãã
ãããã£ãŠãçæ³çã«ã¯ãäœããã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠãé«ããã©ãŒãã³ã¹ã®ãµã€ããç°¡åã«äœæã§ããããã«ããå¿ èŠããããŸãã ããã¯ããã¬ãŒã ã¯ãŒã¯ãéçºè ã«ãããžã§ã¯ããæ§ç¯ããããã®é©åãªåºç€ãæäŸãããšããäºå®ããŸãã¯ãã¬ãŒã ã¯ãŒã¯ãéçºã«å¶éã課ãããã®èŠä»¶ãæ瀺ããŠãäœããå€ãããã®ã®éçºãè€éã«ãããšããäºå®ã«ããããããè¡ãå¿ èŠããããŸããé ããªãããã«ã
æè¯ã®ãã¬ãŒã ã¯ãŒã¯ã¯ãé©åãªããŒã¹ãæäŸããããšãšãäœæ¥ã«å¶éã課ãããšã®äž¡æ¹ãè¡ãããšã§ãé©åãªçµæãéæã§ããããã«ããå¿ èŠããããŸãã
ããŒã¿ã®äžå€®å€ãåæããŠããå¿
èŠãªæ
å ±ã¯åŸãããŸããã ãããŠå®éããã®ã¢ãããŒãã§ã¯ç§ãã¡ã®æ³šæãéžããŠããŸããŸãã
ç§ã¯ç¹ã« 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
Angular ãµã€ã
445.1
675.6
1066.4
1761.5
2893.2
åå¿ãµã€ã
345.8
441.6
690.3
1238.5
1893.6
ã¢ãã€ã«ããã€ã¹ã«éä¿¡ããã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
Angular ãµã€ã
468.8
716.9
1144.2
1930.0
3283.1
åå¿ãµã€ã
308.6
469.0
841.9
1472.2
2197.8
ãã¹ã¯ãããããã€ã¹ã«éä¿¡ãããJavaScriptã³ãŒãã®é
ãµã€ããããã€ã¹ã«éä¿¡ãã JS ã³ãŒãã®ãµã€ãºã«ã€ããŠã®ã¿èª¬æãããšããã¹ãŠãäºæ³ã©ããã«ãªããŸãã ã€ãŸããããããã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšãããšãããšãçæ³çãªç¶æ³ã§ãã£ãŠãããµã€ãã® JavaScript ã³ãŒãã®éãå¢å ããããšãæå³ããŸãã ããã¯é©ãã¹ãããšã§ã¯ãããŸãããJavaScript ãã¬ãŒã ã¯ãŒã¯ããµã€ãã®åºç€ã«ããŠããããžã§ã¯ãã® JS ã³ãŒãã®éãéåžžã«å°ãªããªããšããããšã¯æåŸ ã§ããŸããã
ãã®ããŒã¿ã§æ³šç®ãã¹ãç¹ã¯ãäžéšã®ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªãä»ã®ãã®ããããããžã§ã¯ãã®éå§ç¹ãšããŠé©ããŠãããšèããããããšã§ãã jQuery ã䜿çšãããµã€ããæãèŠæ ããè¯ããªããŸãã ãã¹ã¯ãããçã®ãµã€ãã§ã¯ããã¹ãŠã®ãµã€ãã«æ¯ã¹ãŠ 15% å€ãã® JavaScript ãå«ãŸããŠãããã¢ãã€ã«çã§ã¯ 18% å€ãå«ãŸããŠããŸãã (確ãã«ãããã«ã¯ããŒã¿ã®ç ŽæããããŸããå®éãjQuery ã¯å€ãã®ãµã€ãã«ååšããããããã®ãããªãµã€ããä»ã®ãµã€ãããããµã€ãã®ç·æ°ãšå¯æ¥ã«é¢é£ããŠããã®ã¯åœç¶ã§ãããã ããããã¯çã®ããŒã¿ã®éã«ã¯åœ±é¿ããŸãããããŒã¿ã¯ãã¬ãŒã ã¯ãŒã¯ããšã«åºåãããŸããïŒ
ã³ãŒãéã® 15 ïœ 18% ã®å¢å ã¯æ³šç®ã«å€ããæ°åã§ããããããä»ã®ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªãšæ¯èŒãããšãjQuery ã«ãã£ãŠèª²ããããçšéãã¯éåžžã«äœããšçµè«ä»ããããšãã§ããŸãã 10 ããŒã»ã³ã¿ã€ã«ã® Angular ãµã€ãã¯ããã¹ãŠã®ãµã€ãã«æ¯ã¹ãŠãã¹ã¯ãããã« 344% å€ãã®ããŒã¿ãéä¿¡ããã¢ãã€ã«ã« 377% å€ãããŒã¿ãéä¿¡ããŸãã 次ã«éãã®ã¯ React ãµã€ãã§ããã¹ãŠã®ãµã€ãã«æ¯ã¹ãŠãã¹ã¯ãããã« 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 KB ã§ãã ããã¯ããã®ãããªãµã€ãã¯ãVue ã«åºã¥ãæãè¿ã競åãµã€ãããã 322.9 KB å€ãã®ããŒã¿ãã¢ãã€ã« ããã€ã¹ã«éä¿¡ããããšãæå³ããŸãã Angular ã React ãããŒã¹ã«ãããã¹ã¯ããã ãµã€ããšä»ã®ãµã€ããšã®éã®ã®ã£ããã¯ããã«å€§ãããªããŸãã ããšãã°ããã¹ã¯ããã React ãµã€ãã¯ãåçã® Vue ãµã€ãããã 554.7 KB å€ãã® JS ã³ãŒããããã€ã¹ã«éä¿¡ããŸãã
ã¡ã€ã³ã¹ã¬ããã§ã® JavaScript ã³ãŒãã®åŠçã«ãããæé
äžèšã®ããŒã¿ã¯ã調æ»å¯Ÿè±¡ã®ãã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãªã䜿çšããŠãããµã€ãã«å€§éã® JavaScript ã³ãŒããå«ãŸããŠããããšãæ確ã«ç€ºããŠããŸãã ãããããã¡ãããããã¯æ¹çšåŒã®äžéšã«ãããŸããã
JavaScript ã³ãŒãããã©ãŠã¶ã«å°çãããããããå®è¡å¯èœãªç¶æ ã«ããå¿ èŠããããŸãã ç¹ã«å€ãã®åé¡ã¯ããã©ãŠã¶ã®ã¡ã€ã³ ã¹ã¬ããå ã®ã³ãŒãã䜿çšããŠå®è¡ããå¿ èŠãããã¢ã¯ã·ã§ã³ã«ãã£ãŠçºçããŸãã ã¡ã€ã³ ã¹ã¬ããã¯ããŠãŒã¶ãŒ ã¢ã¯ã·ã§ã³ã®åŠçãã¹ã¿ã€ã«ã®èšç®ãããŒãž ã¬ã€ã¢ãŠãã®æ§ç¯ãšè¡šç€ºãæ åœããŸãã JavaScript ã¿ã¹ã¯ã§ã¡ã€ã³ã¹ã¬ãããå§åãããšãæ®ãã®ã¿ã¹ã¯ãæéå ã«å®äºããããšãã§ããªããªããŸãã ããã«ãããããŒãžã®äœæ¥ã«é ããçããããã¬ãŒãããããããŸãã
HTTP ã¢ãŒã«ã€ã ããŒã¿ããŒã¹ã«ã¯ãV8 ãšã³ãžã³ã®ã¡ã€ã³ ã¹ã¬ãã㧠JavaScript ã³ãŒããåŠçããã®ã«ãããæéã«é¢ããæ å ±ãå«ãŸããŠããŸãã ããã¯ããã®ããŒã¿ãåéããŠãã¡ã€ã³ã¹ã¬ãããããŸããŸãªãµã€ãã® 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
Angular ãµã€ã
1471.3
2380.1
4118.6
7450.8
13296.4
åå¿ãµã€ã
2700.1
5090.3
9287.6
14509.6
20813.3
ã¢ãã€ã« ããã€ã¹ã§ã®ã¹ã¯ãªããåŠçã«é¢é£ããããã»ããµæé
ãã¹ã¯ãããããã€ã¹ã§ã®ã¹ã¯ãªããåŠçã«é¢é£ããããã»ããµæéïŒããªç§ïŒ
ããŒã»ã³ã¿ã€ã«
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
Angular ãµã€ã
482.2
777.9
1365.5
2400.6
4171.8
åå¿ãµã€ã
508.0
1045.6
2121.1
4235.1
7444.3
ãã¹ã¯ãããããã€ã¹ã§ã®ã¹ã¯ãªããåŠçã«é¢é£ããããã»ããµæé
ããã§ã¯éåžžã«èŠæ £ãããã®ãèŠãããšãã§ããŸãã
ãŸããjQuery ã䜿çšãããµã€ãã¯ãä»ã®ãµã€ãã«æ¯ã¹ãŠã¡ã€ã³ã¹ã¬ããã§ã® JavaScript åŠçã«è²»ããæéãå€§å¹ ã«å°ãªããªããŸãã 10 ããŒã»ã³ã¿ã€ã«ã§ã¯ããã¹ãŠã®ãµã€ããšæ¯èŒããŠãã¢ãã€ã«äžã® jQuery ãµã€ãã¯ã¡ã€ã³ã¹ã¬ããã§ã® JS ã³ãŒãã®åŠçã« 61% å€ãã®æéãè²»ãããŠããŸãã ãã¹ã¯ããã jQuery ãµã€ãã®å ŽåãåŠçæé㯠37% å¢å ããŸãã 90 ããŒã»ã³ã¿ã€ã«ã§ã¯ãjQuery ãµã€ãã®ã¹ã³ã¢ã¯éèšã¹ã³ã¢ã«éåžžã«è¿ããªããŸãã å ·äœçã«ã¯ãã¢ãã€ã« ããã€ã¹äžã® jQuery ãµã€ãã¯ããã¹ãŠã®ãµã€ãã«æ¯ã¹ãŠã¡ã€ã³ ã¹ã¬ããã«è²»ããæéã 1.3% å°ãªãããã¹ã¯ããã ããã€ã¹äžã®æéã 0.7% å°ãªããªããŸãã
ç§ãã¡ã®è©äŸ¡ã®å察åŽã«ããã®ã¯ãã¡ã€ã³ã¹ã¬ããã®è² è·ãæãé«ãããšãç¹åŸŽãšãããã¬ãŒã ã¯ãŒã¯ã§ãã ããããAngular ãš React ã§ãã XNUMX ã€ã®å¯äžã®éãã¯ãAngular ãµã€ã㯠React ãµã€ããããå€ãã®ã³ãŒãããã©ãŠã¶ãŒã«éä¿¡ããŸãããAngular ãµã€ãã¯ã³ãŒãã®åŠçã«ããã CPU æéãå°ãªãããšã§ãã ã¯ããã«å°ãªãã
10 ããŒã»ã³ã¿ã€ã«ã§ã¯ããã¹ã¯ããã Angular ãµã€ãã¯ããã¹ãŠã®ãµã€ãã«æ¯ã¹ãŠã¡ã€ã³ ã¹ã¬ããã® JS ã³ãŒãåŠçã« 230% å€ãã®æéãè²»ãããŠããŸãã ã¢ãã€ã« ãµã€ãã®å Žåããã®æ°å㯠313% ã§ãã React ãµã€ãã¯ããã©ãŒãã³ã¹ãæãæªãã§ãã ãã¹ã¯ãããã§ã¯ããã¹ãŠã®ãµã€ãã«æ¯ã¹ãŠã³ãŒãã®åŠçã« 248% å€ãã®æéãè²»ãããã¢ãã€ã«ã§ã¯ 658% å€ãã®æéãè²»ãããŠããŸãã 658% ã¯ã¿ã€ããã¹ã§ã¯ãããŸããã 10 ããŒã»ã³ã¿ã€ã«ã§ã¯ãReact ãµã€ãã¯ã³ãŒãã®åŠçã«ã¡ã€ã³ ã¹ã¬ããæéã® 2.7 ç§ãè²»ãããŸãã
ãããã®èšå€§ãªæ°ãšæ¯èŒãããšã90 ããŒã»ã³ã¿ã€ã«ã¯å°ãªããšãå°ãã¯è¯ããªã£ãŠããããã«èŠããŸãã ãã¹ãŠã®ãµã€ããšæ¯èŒããŠãAngular ãããžã§ã¯ãã¯ã¡ã€ã³ã¹ã¬ããã§ãã¹ã¯ããã ããã€ã¹ã§ 29% å€ãã®æéãè²»ãããã¢ãã€ã« ããã€ã¹ã§ 27% å€ãã®æéãè²»ãããŠããŸãã React ãµã€ãã®å Žåãåãæ°åã¯ãããã 130% ãš 98% ã®ããã«èŠããŸãã
90 ããŒã»ã³ã¿ã€ã«ã®ããŒã»ã³ããŒãžåå·®ã¯ã10 ããŒã»ã³ã¿ã€ã«ã®åæ§ã®å€ãããè¯ãèŠããŸãã ãããããã§ãæéã瀺ãæ°åãããªãæãããããã«èŠããããšãèŠããŠãã䟡å€ããããŸãã React ã§æ§ç¯ããã Web ãµã€ãã®ã¡ã€ã³ ã¢ãã€ã« ã¹ã¬ãã㧠20.8 ç§ã ã£ããšããŸãã ïŒãã®éã«å®éã«äœãèµ·ãã£ãã®ãã«ã€ããŠã¯ãå¥ã®èšäºã«æžã䟡å€ããããšæããŸãïŒã
ããã«ã¯æœåšçãªè€éãªåé¡ã XNUMX ã€ãããŸã (ããããšã
ãµã€ãã XNUMX ã€ã®ãã¬ãŒã ã¯ãŒã¯ãŸã㯠XNUMX ã€ã®ã©ã€ãã©ãªã®ã¿ã䜿çšããç¶æ³ã§ãã¢ãã€ã« ããã€ã¹ã§ã®ã¹ã¯ãªããã®åŠçã«é¢é£ããããã»ããµæé (ããªç§)
ããŒã»ã³ã¿ã€ã«
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
ãµã€ãã XNUMX ã€ã®ãã¬ãŒã ã¯ãŒã¯ãŸã㯠XNUMX ã€ã®ã©ã€ãã©ãªã®ã¿ã䜿çšããç¶æ³ã§ãã¢ãã€ã« ããã€ã¹ã§ã®ã¹ã¯ãªããã®åŠçã«é¢é£ããããã»ããµæé
ãŸããé©ãã¹ãããšã§ã¯ãããŸãããããµã€ã㧠10 ã€ã®ãã¬ãŒã ã¯ãŒã¯ãŸãã¯ã©ã€ãã©ãªã ãã䜿çšãããšããã®ãããªãµã€ãã®ããã©ãŒãã³ã¹ã¯é »ç¹ã«åäžããŸãã åæ©åšã¯ 25 ããŒã»ã³ã¿ã€ã«ãš XNUMX ããŒã»ã³ã¿ã€ã«ã§ããåªããããã©ãŒãã³ã¹ãçºæ®ããŸãã ããã¯çã«ããªã£ãŠããã XNUMX ã€ã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠäœæããããµã€ãã¯ãXNUMX ã€ä»¥äžã®ãã¬ãŒã ã¯ãŒã¯ãŸãã¯ã©ã€ãã©ãªã䜿çšããŠäœæããããµã€ããããããã©ãŒãã³ã¹ãé«ããªããŸãã
å®éã調æ»ããåããã³ããšã³ã ããŒã«ã®ããã©ãŒãã³ã¹ã¯ã50 ã€ã®èå³æ·±ãäŸå€ãé€ããŠããã¹ãŠã®ã±ãŒã¹ã§åäžããŠããããã«èŠããŸãã ç§ãé©ããã®ã¯ãReact ã䜿çšãããµã€ãã䜿çšããã©ã€ãã©ãªã React ã ãã§ããå ŽåãXNUMX ããŒã»ã³ã¿ã€ã«ä»¥äžã§ããã©ãŒãã³ã¹ãäœäžããããšã§ãã ã¡ãªã¿ã«ããããç§ããã®ããŒã¿ãããã§çŽ¹ä»ããçç±ã§ãã
ããã¯å°ãå¥åŠã§ããããã®å¥åŠãã®èª¬æãæ¢ããŠã¿ãŸãã
ãããžã§ã¯ã㧠React ãš jQuery ã®äž¡æ¹ã䜿çšããŠããå Žåããã®ãããžã§ã¯ã㯠jQuery ãã React ãžã®ç§»è¡ã®éäžã«ããå¯èœæ§ããããŸãã ããããããããã®ã©ã€ãã©ãªãæ··åšããã³ãŒãããŒã¹ããããšæãããŸãã jQuery ãµã€ã㯠React ãµã€ããããã¡ã€ã³ ã¹ã¬ããã«è²»ããæéãçãããšããã§ã«ããã£ãŠãããããjQuery ã«ããã€ãã®æ©èœãå®è£ ãããšãµã€ãã®ããã©ãŒãã³ã¹ãå°ãåäžããããšãããããŸãã
ãããããããžã§ã¯ãã jQuery ãã React ã«ç§»è¡ããReact ãžã®äŸå床ãé«ãŸãã«ã€ããŠãç¶æ³ã¯å€ããã€ã€ãããŸãã ãµã€ããæ¬åœã«é«å質ã§ããµã€ãéçºè ã React ãæ éã«äœ¿çšããŠããå Žåããã®ãããªãµã€ãã§ã¯ãã¹ãŠãããŸããããŸãã ããããå¹³åç㪠React ãµã€ãã§ã¯ãReact ãåºç¯å²ã«äœ¿çšããããšããããšã¯ãã¡ã€ã³ã¹ã¬ããã«å€§ããªè² è·ããããããšãæå³ããŸãã
ã¢ãã€ã«ããã€ã¹ãšãã¹ã¯ãããããã€ã¹ã®éã®ã®ã£ãã
ç§ã調æ»ããŒã¿ãæ€èšãããã XNUMX ã€ã®èŠ³ç¹ã¯ãã¢ãã€ã« ããã€ã¹ãšãã¹ã¯ããã ããã€ã¹ã§ãµã€ããæäœããéã«ã©ãã ãã®å·®ããããã調æ»ããããšã§ããã 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
Angular ãµã€ã
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% ã§ãã Web ãµã€ãéçºè ããåŠçã«ããå€ãã®ããã»ããµãŒæéãå¿ èŠãšãããããªæ¹æ³ã§ãããžã§ã¯ããäœæããå Žå (å®éã«ããã¯èµ·ãããæéã®çµéãšãšãã«æªåããã ãã§ã)ãäœé»åããã€ã¹ã®ææè ã¯ãã®ä»£åãæããªããã°ãªããŸããã
çµæ
åªãããã¬ãŒã ã¯ãŒã¯ã¯ãéçºè ã« Web ãããžã§ã¯ããæ§ç¯ããããã®åªããåºç€ (ã»ãã¥ãªãã£ãã¢ã¯ã»ã·ããªãã£ãããã©ãŒãã³ã¹ã®ç¹ã§) ãæäŸããããå¶éã«éåãããã®ãæ§ç¯ããã®ãå°é£ã«ããçµã¿èŸŒã¿ã®å¶éãåããŠããå¿ èŠããããŸãã
ããã¯ãWeb ãããžã§ã¯ãã®ããã©ãŒãã³ã¹ã«ã¯åœãŠã¯ãŸããªãããã§ã (ãããããWeb ãããžã§ã¯ãã®ããã©ãŒãã³ã¹ã«ãåœãŠã¯ãŸããªãã§ããã)
React ãµã€ãã Angular ãµã€ããã³ãŒãã®æºåã«ä»ã®ãµã€ããããå€ãã® CPU æéãè²»ãããŠãããããšãã£ãŠãå¿ ããã React ãµã€ãã®å®è¡äžã« Vue ãµã€ãããã CPU 䜿çšçãé«ãããšãæå³ããããã§ã¯ãªãããšã«æ³šæããŠãã ããã å®éãç§ãã¡ã調æ»ããããŒã¿ã¯ããã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªã®éçšããã©ãŒãã³ã¹ã«ã€ããŠã¯ã»ãšãã©äœãèªã£ãŠããŸããã 圌ãã¯ãæèçãã©ããã«ãããããããããã®ãã¬ãŒã ã¯ãŒã¯ãããã°ã©ããŒãåŸæŒãã§ããéçºã¢ãããŒãã«ã€ããŠè©³ãã話ããŸãã ç§ãã¡ã¯ãã¬ãŒã ã¯ãŒã¯ã®ããã¥ã¡ã³ãããã®ãšã³ã·ã¹ãã ãäžè¬çãªéçºææ³ã«ã€ããŠè©±ããŠããŸãã
ãŸããããã§ã¯åæããªãã£ãç¹ãã€ãŸãããµã€ãã®ããŒãžéã移åãããšãã«ããã€ã¹ã JavaScript ã³ãŒãã®å®è¡ã«è²»ããæéã«ã€ããŠãèšåãã䟡å€ããããŸãã SPA ãæ¯æããè°è«ã¯ãã·ã³ã°ã« ããŒãž ã¢ããªã±ãŒã·ã§ã³ããã©ãŠã¶ã«èªã¿èŸŒãŸãããšãçè«çã«ã¯ãŠãŒã¶ãŒã¯ããéããµã€ãã®ããŒãžãéãããšãã§ããããã«ãªããšããããšã§ãã ç§èªèº«ã®çµéšãããããã¯äºå®ãšã¯çšé ãããšãããããŸãã ãããããã®åé¡ã解æããããã®ããŒã¿ã¯ãããŸããã
æãããªããšã¯ããã¬ãŒã ã¯ãŒã¯ãŸãã¯ã©ã€ãã©ãªã䜿çšã㊠Web ãµã€ããäœæããŠããå Žåããããžã§ã¯ããæåã«ããŒãããŠæºåãæŽãããšããç¹ã§åŠ¥åããŠããããšã«ãªããŸãã ããã¯æãååããªã·ããªãªã«ãåœãŠã¯ãŸããŸãã
é©åãªç¶æ³ã§ããçšåºŠã®åŠ¥åãããããšã¯å®å šã«å¯èœã§ãããéçºè ãæèçã«ãã®ãããªåŠ¥åãè¡ãããšãéèŠã§ãã
ãããã楜芳èŠã§ããçç±ããããŸãã ç§ãã¡ãã¬ãã¥ãŒããããã€ãã®ããã³ããšã³ã ããŒã«ã®ããã©ãŒãã³ã¹åäžã«åããŠãChrome éçºè ããã®éçºè ãšã©ãã ãç·å¯ã«é£æºããŠããã®ããèŠãã®ã楜ãã¿ã§ãã
ããããç§ã¯çŸå®çãªäººéã§ãã æ°ããã¢ãŒããã¯ãã£ã¯ãããã©ãŒãã³ã¹ã®åé¡ã解決ãããšåæã«ãããã©ãŒãã³ã¹ã®åé¡ãåŒãèµ·ãããŸãã ãããŠãã°ä¿®æ£ã«ã¯æéãããããŸãã æåŸ
ããŠã¯ãããªãã®ãšåãããã«ã
ãã®èšäºã§èª¬æããããã³ããšã³ã ããŒã«ã®ããããã䜿çšãããå Žåã¯ããããŸã§ã®éããããžã§ã¯ãã®ããã©ãŒãã³ã¹ã«æªåœ±é¿ãåãŒããªãããã«ç¹å¥ãªåªåãããå¿ èŠãããããšãæå³ããŸãã æ°ãããã¬ãŒã ã¯ãŒã¯ãéå§ããåã«èæ ®ãã¹ãèæ ®äºé ãããã€ããããŸãã
- åžžèã«åºã¥ããŠèªåèªèº«ããã¹ãããŠãã ããã éžæãããã¬ãŒã ã¯ãŒã¯ãæ¬åœã«äœ¿çšããå¿ èŠããããŸãã? ä»æ¥ã®çŽç²ãª JavaScript ã¯å€ãã®ããšãå¯èœã§ãã
- ãã®ãã¬ãŒã ã¯ãŒã¯ã®æ©èœã® 90% ãæäŸã§ãããéžæãããã¬ãŒã ã¯ãŒã¯ (PreactãSvelte ãªã©) ã«ä»£ãã軜éã®ä»£æ¿æ段ã¯ãããŸãã?
- ãã§ã«ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠããå Žåã¯ãããåªãããããä¿å®çãªæšæºãªãã·ã§ã³ãæäŸãããã®ããããã©ãããæ€èšããŠãã ãã (ããšãã°ãVue ã®ä»£ããã« Nuxt.jsãReact ã®ä»£ããã« Next.js ãªã©)ã
- ããªãã¯äœãããŸãã
äºç® JavaScriptã®ããã©ãŒãã³ã¹? - ã©ã®ããã«ã§ããŸãã
å¶éãã 絶察ã«å¿ èŠãªä»¥äžã® JavaScript ã³ãŒãããããžã§ã¯ãã«æ¿å ¥ããããšãå°é£ã«ããéçºããã»ã¹ã§ãã? - éçºã容æã«ããããã«ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠããå Žåã¯ã次ã®ç¹ãèæ
®ããŠãã ããã
å¿ èŠã§ãã ãã¬ãŒã ã¯ãŒã¯ ã³ãŒããã¯ã©ã€ã¢ã³ãã«éä¿¡ããŸãã ãµãŒããŒäžã®ãã¹ãŠã®åé¡ã解決ã§ããã§ãããã?
éåžžãããã³ããšã³ãéçºã«æ£ç¢ºã«äœãéžæãããã«é¢ä¿ãªãããããã®ã¢ã€ãã¢ã¯æ€èšãã䟡å€ããããŸãã ããããæåããããã©ãŒãã³ã¹ãäžååãªãããžã§ã¯ãã«åãçµãã§ããå Žåããããã¯ç¹ã«éèŠã§ãã
芪æãªãèªè ïŒ çæ³ç㪠JavaScript ãã¬ãŒã ã¯ãŒã¯ãšã¯ã©ã®ãããªãã®ã ãšæããŸãã?
åºæïŒ habr.com