2022幎ã«äœ¿ãããJavaScriptãã¬ãŒã ã¯ãŒã¯ã»å®å šã¬ã€ã
Webã¢ããªã±ãŒã·ã§ã³ã®å€§éå©çšã«ãããJavaScriptãã¬ãŒã ã¯ãŒã¯ãæ®åããŸãããããªãã®ãããžã§ã¯ãã§ã¯ãã©ã®JavaScriptãã¬ãŒã ã¯ãŒã¯ãéžã¹ã°ããã®ã§ããããïŒ

JavaScript 㯠Web ããã°ã©ãã³ã°èšèªã§ãããWeb éçºè ãéç㪠Web ããŒãžãããåçã«ããããšã§ãããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãå®çŸããããšãæ¯æŽããŸããè¿å¹Žã§ã¯ãã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®ããŒãããããæäŸããJavaScriptãã¬ãŒã ã¯ãŒã¯ãå°é ããŠããŸããããããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãã³ãŒãåé¢ã·ã¹ãã ã«ãã£ãŠããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸãããããWebéçºã«ãããŠäººæ°ãåããŠããŸãã
Webã¢ããªã±ãŒã·ã§ã³ã®ããã³ããšã³ããèšèšããå Žåããããã®JavaScriptãã¬ãŒã ã¯ãŒã¯ã®ã³ãŒãã£ã³ã°æ¹æ³ãç¥ã£ãŠããããšã¯éåžžã«éèŠã§ããWebéçºè ãšããŠåãå ŽåãReactãAngularãSvelteãªã©ã®ã©ã€ãã©ãªã«é¢ããç¥èãå¿ èŠã«ãªãããšããããŸããã©ã®ãã¬ãŒã ã¯ãŒã¯ãWebã¢ããªã±ãŒã·ã§ã³ã«æé©ãªã®ããçåã«æããããããŸããã
ãšçåã«æããããããŸããããã®èšäºã§ã¯ãJavaScriptãšã¯äœããJavaScriptãã¬ãŒã ã¯ãŒã¯ã®æ©èœããããŠ2022幎ã®ãããJavaScriptãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠèª¬æããéžæã§ããããã«ããŸãã詳ããæãäžããŠãããŸãããã

JavaScriptã¯ãã€ãã³ãé§ååããªããžã§ã¯ãæååããããã¿ã€ãããŒã¹ã®Webã¢ããªã±ãŒã·ã§ã³ã®ããã®ãã«ããã¿ãŒã³ããã°ã©ãã³ã°èšèªã§ããåœåãJavaScriptã®ã³ãŒãã¯ã¯ã©ã€ã¢ã³ããµã€ãã®ã¿ã察象ãšããŠããŸããããè¿å¹Žã§ã¯ãŠã§ãã®ãµãŒããŒãµã€ããšããŠã䜿çšãããããã«ãªããŸããã
仿¥ãJavaScriptã¯Webäžã§äººæ°ã®ããããã°ã©ãã³ã°èšèªã§ãããŠã§ãäžã§ããã€ãã®ãã¬ãŒã ã¯ãŒã¯ãå©çšã§ããå¯äžã®èšèªã§ããJavaScript ã®ãã¬ãŒã ã¯ãŒã¯ã«ããããŠãŒã¶ãŒã¯æšæºçãªããŒã«ã®å©ããåããŠãã¹ã±ãŒã©ãã«ãª Web ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšãã§ããŸãããã¬ãŒã ã¯ãŒã¯ã«ã¯ãæšæºçãªããã°ã©ãã³ã°ã¿ã¹ã¯ãå®äºããã®ã«åœ¹ç«ã€JSã³ãŒããã³ãã¬ãŒããšè€æ°ã®JavaScriptã³ãŒãã©ã€ãã©ãªããããŸããå€ãã®äººã¯ãWebãã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãªã®æ©èœãæ··åããŸãããäž¡è ã¯ã¿ã¹ã¯ãšã¹ã³ãŒãã«ãããŠç°ãªã£ãŠããŸãã
JavaScript ã©ã€ãã©ãªã«ã¯ãWeb ã¢ããªã±ãŒã·ã§ã³ãéçºããããã«åå©çšã§ããããã±ãŒãžåãããã³ãŒããã¯ã©ã¹ãã¡ãœãããããã³é¢æ°ãå«ãŸããŠããŸãããããã®ã©ã€ãã©ãªã¯ãéçºè ãåå©çšã§ãã JavaScript ã³ãŒããæäŸããŸããJavaScript ã©ã€ãã©ãªã«ãã JavaScript ã³ãŒããšã¯å¯Ÿç §çã«ãJavaScript ãã¬ãŒã ã¯ãŒã¯ã¯ Web ã¢ããªã±ãŒã·ã§ã³ã®èšèšãå®çŸ©ããJS ã©ã€ãã©ãªãåŒã³åºãããã®äžã®ã³ãŒãã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ã宿ãããŸãããããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãåäžã®ãœãªã¥ãŒã·ã§ã³ã§ã¯ãªããWeb ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®å®å šãªããŒãããããæäŸããŸããéçºè ã¯ãã¯ã©ã€ã¢ã³ãã®ããã«ãŠã§ããœãªã¥ãŒã·ã§ã³ãéçºããéã«ããããã®ãã¬ãŒã ã¯ãŒã¯ãããŒã«ããã¯ã¹ã«è¿œå ããŠããŸãããããã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããå©ç¹ã¯ããã®åå©çšå¯èœãªã³ã³ããŒãã³ãã䜿çšããŠè€æ°ã®WebããŒãžãèšèšã§ããããšã§ãã
ææ°ã®ãã¬ãŒã ã¯ãŒã¯ã浞éãã以åã¯ããã¹ãŠã®ãŠã§ããã©ãŠã¶ãšäºææ§ã®ããJavaScriptã³ãŒããæžãããã«ãéçºè ããã䜿ãã©ã€ãã©ãªãšããŠjQueryããããŸããããã¹ãŠã®æ©èœãæœè±¡åãããã·ã³ãã«ã§ç¿åŸããããã©ã€ãã©ãªãšãªããéçºè ã¯èªåã®WebããŒãžã§äœ¿çšããããšãã§ããŸããã
jQueryã¯ãReactãBackboneãAngularãEmberãšãã£ããåçãªããŒãžãæã€æ°ããWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®ã¢ãŒããã¯ãã£ãæäŸããææ°ã®ãã¬ãŒã ã¯ãŒã¯ãžã®æ°ããéãåãéããã®ã§ãã
Web ã¢ããªã±ãŒã·ã§ã³ã«ããã JavaScript ãã¬ãŒã ã¯ãŒã¯ã®åœ¹å²
JavaScript ãã¬ãŒã ã¯ãŒã¯ã¯ãéçºè ãã¢ããªã±ãŒã·ã§ã³ãããéããããå®ãæ§ç¯ããããã®ã¬ã€ã¢ãŠããæäŸããŸãããããã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšãããšããšã©ãŒãªãã§ã³ãŒããå®è¡ããããšãã§ããŸãã
ãã®ã¬ã€ã¢ãŠãã®å©ããåããŠãWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®ç°ãªãéšåãæ§ç¯ããé«åºŠã«ã€ã³ã¿ã©ã¯ãã£ãã§æŽç·ŽãããWebã¢ããªã±ãŒã·ã§ã³ãäœæããããšã«ãã£ãŠããããã®ã³ã³ããŒãã³ããç¬ç«ããŠåå©çšããããšãã§ããŸãã
ããã«ããããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãéçºè ãæ¯æŽããŸãã
-
ããŒã¿ã«åºã¥ãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®å®è£
-
ããã³ããšã³ãã®åé¡ã軜æžãã
-
åå©çšå¯èœã§èªã¿ãããã³ãŒããæžãããšãã§ããŸãã
-
ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®ã€ã³ã¯ãªã¡ã³ããåå©çšãã
-
çè§£ããããèšèªãžã®ã¢ã€ãã¢ã®æœè±¡å
-
ããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãå®çŸããããã«ãé è²ããã¿ã³ããã©ã³ãã¹ã¿ã€ã«ãªã©ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®èŠçŽ ãæšæºåãã
ããã«ããããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãéçºè ãããçè§£ãããã圢åŒã§ã³ãŒããç¶æããããã«ããã¡ã€ã³åºæã®èšèªã䜿çšããã®ã«åœ¹ç«ã¡ãŸãããããã®èšèªã«ã¯ãJSXãHandlebarsãå«ãŸããããšããããŸãããããã®æ©èœã¯ãã¹ãŠãã³ãŒãã®ãã¹ããšãããã°ã®ããã®çµ±åããŒã«ã®å©ããåããŠãéçºè ãç°¡åã«éçºã§ããããã«ããŸããããã«ããããã®JavaScriptãã¬ãŒã ã¯ãŒã¯ã¯ãéçºè ããšã©ãŒãªãã§ã€ã³ã¹ããŒã«ãæŽæ°ãããã³ã©ã€ãã©ãªã®æ§æãèªååããã®ã«åœ¹ç«ã¡ãŸãã
ãªãJavaScriptãã¬ãŒã ã¯ãŒã¯ã䜿ãã®ãïŒ
JavaScriptãã¬ãŒã ã¯ãŒã¯ã人æ°ãªã®ã¯ééããããŸãããããã¬ãŒã ã¯ãŒã¯ã䜿ãå¿ èŠããªãäœæ¥ããããŸããäŸãã°ãWebã¢ããªã±ãŒã·ã§ã³ã®éçºãç°¡åã§ãè€éãªæ©èœãå¿ èŠãšããªãå ŽåãèããŠã¿ãŸãããããã®ãããªå Žåããã¬ãŒã ã¯ãŒã¯ã®äœ¿çšã¯ãå§ãã§ããŸããããã¬ãŒã ã¯ãŒã¯ã¯è€æ°ã®æ©èœãæäŸããŸãããããããäŸ¡æ Œæ¿çããããŸãããããã®ãã¬ãŒã ã¯ãŒã¯ã¯ããã宣èšçãªã³ãŒããæäŸããããšã¯ééããããŸããããéåžžã®JavaScriptãããé«ãèšç®ã³ã¹ãã®ã¢ããªã±ãŒã·ã§ã³ã«ãªã£ãŠããŸãå¯èœæ§ããããŸãã
ãŠãŒã¶ãŒãšã®å¯Ÿè©±ãå¿ èŠãªå°èŠæš¡ãªãããžã§ã¯ãã«åãçµãå Žåã¯ããã¬ãŒã ã¯ãŒã¯ã䜿çšããªãããšããå§ãããŸãããã®å ŽåãåçŽã«JavaScriptã§ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšãã§ããŸãããã®ã¬ã€ããèªãã åŸãããŸããŸãªJavaScriptãã¬ãŒã ã¯ãŒã¯ã調ã¹ãããªãã®ãããžã§ã¯ãã«æé©ãªéžæè¢ã決ããããšãã§ããŸãã
JavaScript ãã¬ãŒã ã¯ãŒã¯ã䜿çšããå©ç¹
Web éçºè ãšããŠãJavaScript ãã¬ãŒã ã¯ãŒã¯ã䜿çšãã䟡å€ãããçç±ã¯ããã€ããããŸããããã§ã¯ãWeb ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«ãã¬ãŒã ã¯ãŒã¯ã䜿çšããå©ç¹ãåæããŠããŸããããã§ã¯å§ããŸãããã
- 匷åãªã³ãã¥ããã£ãµããŒããæäŸãã
ãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãŠã§ãéçºè ã®éã§äººæ°ãããã®ã§ã圌ãã®äžã«ã¯ããªããçŽé¢ããŠããåé¡ã«ãã§ã«ééããŠãã人ããããããããŸããããã®ãããéçºè ã®ã³ãã¥ããã£ãšã€ãªããããšã§ãç¹å®ã®åé¡ã«å¯Ÿãã解決çãèŠåºãããšãã§ããŸãã
- åå©çšæ§ã®æäŸ
ãã¬ãŒã ã¯ãŒã¯ã«ã¯ã¡ãœãããçµã¿èŸŒãŸããŠããããããã³ãã¬ãŒããåå©çšããŠãäžè¡ãã³ãŒããæžããã«ã¢ããªã±ãŒã·ã§ã³ãéçºããããšãã§ããŸãã
- é«éãªéçº
JavaScriptãã¬ãŒã ã¯ãŒã¯ã䜿çšããããšã§ããŠãŒã¶ãŒã¯æéãç¯çŽããããéãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããèµ·åããããšãã§ããŸãã
- ã³ã¹ãåæž
ã»ãšãã©ã®JavaScriptãã¬ãŒã ã¯ãŒã¯ã¯ç¡æã§äœ¿çšããããšãã§ããéçºã³ã¹ããåæžããããšãã§ããŸãããããã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããããšã¯ãç¹ã«äžå°äŒæ¥ã®ãªãŒããŒã«ãšã£ãŠçµæžçã§ãã
ããªãã®ãããžã§ã¯ãã«ã©ã®JavaScriptãã¬ãŒã ã¯ãŒã¯ãéžæãããïŒ
Webã¢ããªã±ãŒã·ã§ã³ãéçºããå Žåãææ°ã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããå¿ èŠããããŸããWebã¢ããªã±ãŒã·ã§ã³ã«äœ¿çšããæé©ãªãªãã·ã§ã³ã«ã€ããŠæç¢ºã§ãªããããããŸãããå¿é ããªãã§ãã ãããéçºè ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«å©çšã§ãããã¬ãŒã ã¯ãŒã¯ã¯è€æ°ãããŸãããããã§ã¯2022å¹Žã«æã人æ°ã®ãã7ã€ã®ãã¬ãŒã ã¯ãŒã¯ããªã¹ãã¢ããããŠããŸãã
-
ãªã¢ã¯ã
-
ã¹ãã«ã
-
Vue
-
ã¢ã³ã®ã¥ã©ãŒ
-
ãšã³ããŒ
-
ããã¯ããŒã³
-
NextJS
ãã¬ãŒã ã¯ãŒã¯ãéžæããåã«ã以äžã®ããšã確èªããŠãã ããã
-
ãã¬ãŒã ã¯ãŒã¯ã«ã¯ãåå¿è åãã®ãã¥ãŒããªã¢ã«ãã¬ã€ãããããŸãã
-
é·å¹Žã«ããã£ãŠéçºè ã«æ¡çšãããŠãããã¬ãŒã ã¯ãŒã¯ãéžã³ãŸãããã
-
匷åãªã³ãã¥ããã£ãšããã¥ã¡ã³ããæã€ãã¬ãŒã ã¯ãŒã¯ãéžæããã
ãã®èšäºã§ã¯ã2022å¹Žã«æã人æ°ã®ããJavaScriptãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠèª¬æããŸãã詳ããæãäžããŠãããŸãããã
React JS
Reactã¯ãFacebookïŒã¡ã¿ïŒãææãããªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã§ããReactã¯ãWebã¢ããªã±ãŒã·ã§ã³ã®çŽæçãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãèšèšããããã«åºã䜿çšãããŠãããèªç±ã§å®£èšçãªãã¬ãŒã ã¯ãŒã¯ã§ãããã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããããšã§ãã¹ã±ãŒã©ãã«ãªã¢ããªã±ãŒã·ã§ã³ãããéãæ§ç¯ããããšãã§ããŸãããŸããReactã¯ããã±ãŒãžãå°ãããããåå¿è
ã®æ¹ã§ãç°¡åã«ç¿åŸããããšãã§ããŸããReactãã¬ãŒã ã¯ãŒã¯ã䜿çšãããšãããŸããŸãªããŒã¿ã䜿çšããå€§èŠæš¡ãªWebã¢ããªã±ãŒã·ã§ã³ãéçºããããšãã§ããŸããReactã¯åœåFacebookã§äœ¿çšãããInstagramã®ãã£ãŒãã«äœ¿çšãããããšã«ãªããŸããããã«ããã®ãã¬ãŒã ã¯ãŒã¯ã䜿ãã°ãå°äººæ°ã®ããŒã ã§å€§èŠæš¡ãªWebãããžã§ã¯ããè¡ãããšãå¯èœã§ãã
State of JavaScriptã«ãã調æ»ã«ãããšãReactã¯æã䜿çšãããŠãããã¬ãŒã ã¯ãŒã¯ã§ãããReact.jsã¯ãã©ã€ãã©ãªã®ããã«åã ã®ããŒããæŽæ°ããã®ã§ã¯ãªããã³ã³ããŒãã³ãã§Webã¢ããªã±ãŒã·ã§ã³ãå³åº§ã«æ§ç¯ããé«éãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸãããã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãã³ã³ããŒãã³ããæ®µéçã«äœ¿çšããããšã§ãWebããŒãžã®æŽæ°ãããé«éã«è¿œå ããããšãã§ããŸãããŸããReactã¯ããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®ããã«JSXãšåŒã°ãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŸããããã§ã¯ãReactãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽãèŠãŠãããŸãããã
ç¹åŸŽ
- ã³ã³ããŒãã³ãã®ã€ã³ã¯ãªã¡ã³ã¿ã«ãªäœ¿çšãå¯èœã«ãã
Reactã§ã¯ãWebããŒãžãè€æ°ã®ã³ã³ããŒãã³ãã«åå²ããŠå©çšããããšãã§ããŸããåéšåã¯UIã«å±ããç¬èªã®ã³ãŒããšæ§é ãæã£ãŠãããéçºè ã¯åå©çšå¯èœãªã³ãŒãã§Webã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšãã§ããŸãã
- ä»®æ³ããã¥ã¡ã³ããªããžã§ã¯ãã¢ãã«(DOM)ã§ã®äœæ¥
React ã¯ãããªãŒæ§é ã§ããŒã¿ã衚çŸããããã®ä»®æ³ããã¥ã¡ã³ããªããžã§ã¯ãã¢ãã«ïŒDOMïŒãæäŸããŸããããã«ãReact ã¯ããŒã¿ããããã¥ã¡ã³ãå ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®ç¬ç«ããåèŠçŽ ã®ã³ãŒããå«ãã³ã³ããŒãã³ãã«åé¡ããããšãã§ããŸããReact ãã¬ãŒã ã¯ãŒã¯ã§ DOM ãå©çšã§ããã®ã¯ããŠã§ããµã€ãå šäœã§ã¯ãªãããŠã§ãããŒãžã®äžéšåã®ã¿ããªãã¬ãã·ã¥ããããã§ãã
- JavaScript XML (JSX) ã®ãµããŒã
JavaScript XML (JSX) ã¯ãJavaScript ã®åŒã³åºãã« HTML ãåã蟌ãã®ãšäŒŒãŠããŸãããããã®åŒã³åºãã¯ãWeb éçºè ã HTML èŠçŽ å ã« JavaScript ã¢ãžã¥ãŒã«ãåã蟌ãããšãæ¯æŽããŸãã
- åçãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ïŒUIïŒã®æäŸ
JavaScriptã§ã¯ãJSXã®HTMLã¹ã¿ã€ã«ã®æ§æã䜿ã£ãŠãã¢ããªã±ãŒã·ã§ã³ã®ãã¶ã€ã³ãšãããŒãå¶åŸ¡ããããšãã§ããŸããWebã¢ãŒããã¯ãã£ãéžæããããšã§ãWebã¢ããªã±ãŒã·ã§ã³ã®å€èŠ³ãæ±ºå®ããããšãã§ããŸãã
SvelteïŒã¹ãã«ã
Svelteã¯ãªãŒãã³ãœãŒã¹ã®JavaScriptãã¬ãŒã ã¯ãŒã¯ã§ãWebéçºè
ãéçãªWebã¢ããªã±ãŒã·ã§ã³ã®çã³ãŒãããçŽæçã§ã€ã³ã¿ã©ã¯ãã£ããªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã«å€ããã®ã«åœ¹ç«ã¡ãŸããRich Harrisæ°ã«ãã£ãŠäœæããããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãJavaScriptã®ãšã³ã·ã¹ãã ãè±ãã«ããŠããŸããReactã®ããã«ãSvelteã¯åãªããã¬ãŒã ã¯ãŒã¯ã§ã¯ãªããVueJSãReactãããé«éãªWebãœãªã¥ãŒã·ã§ã³ãåŸãããã«ãSvelteã®ã³ãŒããããã©JavaScriptã«å€æããã³ã³ãã€ã©ãšããŠæ©èœããŸãã
泚ïŒSvelteãã¬ãŒã ã¯ãŒã¯ã«ããã¢ããªã±ãŒã·ã§ã³æ§ç¯ã«èå³ãããå Žåã¯ãSvelteKitãçµç±ããå¿ èŠããããŸããSvelteã¯ã³ãŒããç¬ç«ããJavaScriptã³ã³ããŒãã³ããšããŠã³ã³ãã€ã«ãããã©ãŠã¶ã«ããã¡ãã£ãšããã¿ã¹ã¯ãªãã§ã¢ããªã±ãŒã·ã§ã³ãé«éã«ããŒãããŸããããã§ã¯ãSvelteã®ç¹åŸŽãèŠãŠãããŸãããã
ç¹åŸŽ
- ä»®æ³DOMãªãã§ã®åäœ
Reactãšã¯ç°ãªããSvelteã¯DOMïŒDocument Object ModuleïŒãªãã§çŽæ¥ã³ãŒããæ±ããããã³ã³ãã€ã«ã®ããã«ã³ãŒãã®å€§éšåãã·ããããä»ã®ãã¬ãŒã ã¯ãŒã¯ãããé«éãªçµæãå®çŸããŸãã
- ãªã¢ã¯ã·ã§ã³ã®æäŸ
Svelteãã¬ãŒã ã¯ãŒã¯ã¯ãã¢ãžã¥ãŒã«ãDOM颿°ã«å€æããããŒã¿ã®å€æŽã«åå¿ããJavaScriptã³ãŒããšããŠä¿®æ£ãã¬ã³ããªã³ã°ããŸãã
- ãŠã§ãéçºè ãå¿ èŠãšããæå°éã®ã³ãŒã
svelteãã¬ãŒã ã¯ãŒã¯ã¯ãReactãVueãããæå°éã®ã³ãŒãããå¿ èŠãšããªããããWebéçºè ã¯ã³ãŒãã£ã³ã°ä»¥å€ã®ã¿ã¹ã¯ã«å€ãã®æéãå²ãããšãã§ããŸãã
- ãŠã§ãããŒãžã®ã¢ãžã¥ã©ãŒã»ã¹ã¿ã€ãªã³ã°ã®æäŸ
Svelteã¯ãç¬èªã®ã¹ã¿ã€ã«ã远å ããã¯ã©ã¹ã«ç¬èªã®ååãäœæããããšã§ãã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®WebããŒãžã§äžè²«ãããã¶ã€ã³ãããŒãæäŸããŸãã
VueïŒãã¥ãŒ
Vueã¯ã2014幎ã«Evan Youæ°ã«ãã£ãŠéçºãããMITã©ã€ã»ã³ã¹ã䜿çšãããŠããŸãããšãŽã¡ã³ã¯å
ã°ãŒã°ã«ã®ç€Ÿå¡ã§ãä»ã§ããã®ãã¬ãŒã ã¯ãŒã¯ã®ã¡ã³ããã³ã¹ãããŒã ã§æäŒã£ãŠããŸããçŽæç㪠ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã æ§ç¯ããã®ã«åœ¹ç«ã€ãªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã§ãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãAngularãšReactã®äººæ°ã®ããæ©èœãçµã¿åãããŠããŸããAngularã®ãã³ãã¬ãŒããšããŒã¿ãã€ã³ãã£ã³ã°ããããŠReactã®ããããã䜿çšããŠããŸãã
Vueãã¬ãŒã ã¯ãŒã¯ã¯ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«æ®µéçã«æ¡çšã§ãããããä»ã®ãã¬ãŒã ã¯ãŒã¯ãšæ¯èŒããŠé¡èãªç¹åŸŽãæã£ãŠããŸããã€ã³ã¯ãªã¡ã³ã¿ã«ã«ã¯ãã«ãŒãã£ã³ã°ãœãªã¥ãŒã·ã§ã³ãããŒã«ãã§ã€ã³ãã³ãã³ãã©ã€ã³å ¥åïŒCLIïŒãã¹ããŒããããžã¡ã³ããªã©ããããŸãã
ãã®ãã¬ãŒã ã¯ãŒã¯ã¯ãã€ã³ã¯ãªã¡ã³ã¿ã«ã«æ¡çšå¯èœãªã¢ãžã¥ãŒã«ãæäŸããã®ã§ãWebãããžã§ã¯ãã«æ°ããã€ã³ã¯ãªã¡ã³ãã远å ããããã®ã³ãŒããæžãããšãã§ããŸãããã®ãã¬ãŒã ã¯ãŒã¯ã®ã¢ãŒããã¯ãã£ã¯äœ¿ããããããã¹ãŠã®æ©èœãçè§£ããå¿ èŠã¯ãããŸãããVueã¯23kbã®è»œéãªãã¬ãŒã ã¯ãŒã¯ã§ããããšã¯ç¹çã«å€ããŸããVueã¯ãå€§èŠæš¡ãªWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããJSXã䜿çšããŠæ°ãããŸãã¯æ¢ã«ååšããã¢ããªã±ãŒã·ã§ã³ã«ããããçµã¿åãããããã«ãJavaScriptãHTMLãããã³CSSã®åºç¯ãªç¥èãå¿ èŠãšããŸããããã§ã¯ããã®ç¹åŸŽãèŠãŠãããŸãããã
ç¹åŸŽ
- ã€ã³ã¿ã©ã¯ãã£ããã£ã®æäŸ
Vueã§ã¯ãWebããŒãžã«çåœåãäžãããã©ã³ãžã·ã§ã³å¹æã远å ããããšãã§ããŸããããã«ããµãŒãããŒãã£ã®ã¢ãã¡ãŒã·ã§ã³ã©ã€ãã©ãªã远å ããããšã§ãWebã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¿ã©ã¯ãã£ãæ§ãé«ããããšãã§ããŸãã
- HTMLãã³ãã¬ãŒãã«ããDOMãšãªããžã§ã¯ãããŒã¿ã®ãã€ã³ã
Vueãã¬ãŒã ã¯ãŒã¯ã¯ãDOMããªããžã§ã¯ãããŒã¿ãšçµåããããã®HTMLãã³ãã¬ãŒããæäŸããŸããããã«ããã®ãã¬ãŒã ã¯ãŒã¯ã¯ããã¹ãŠã®ãã©ãŠã¶ãšäºææ§ã®ããHTMLãšããŠãã³ãã¬ãŒãã®ã³ã³ãã€ã«ãéå§ããŸãã
- ãŠãŒã¶ãããéãããã²ãŒãã§ããããã«ãã
Vueã®ã«ãŒã¿ãŒã¯ãé »ç¹ã«WebããŒãžãæŽæ°ããããšãªããããŒãžéãåãæ¿ãããŠãŒã¶ãŒã®ããã²ãŒã·ã§ã³ãé«éåããŸãã
- ã³ãŒãçµ±åã®ããã®ãã£ã¬ã¯ãã£ããæäŸ
ãã£ã¬ã¯ãã£ãã¯ãVueã€ã³ã¹ã¿ã³ã¹ã®ã³ãŒããçµ±åããããã®åœä»€ã»ããã§ãããããã®ããžã¥ã¢ã«ã¯ãããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®ããã«ãã¢ããªã±ãŒã·ã§ã³ã«ã€ã³ã¿ã©ã¯ãã£ãæ§ãæäŸããŸãã
ã¢ã³ã®ã¥ã©
Angularã¯ã2010幎ã«Googleã«ãã£ãŠäœæããããTypescriptèšèªã§æžããããªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã§ããã€ã³ã¯ãªã¡ã³ãããŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã§ãWebã¢ããªã±ãŒã·ã§ã³ã®ã³ãŒããæ§ç¯ããã¹ããç¶æããããã®è€æ°ã®çµ±åãããã©ã€ãã©ãªãšããŒã«ãæäŸããŸãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ããŠã§ãéçºè
ãJavaScriptã³ãŒãã§ã€ã³ã¿ã©ã¯ãã£ããªã¢ããªã±ãŒã·ã§ã³ãéçºããããã®å
ç¢ãªãªãã·ã§ã³ã§ãã
ã¢ã³ã®ã¥ã©ãŒãã¬ãŒã ã¯ãŒã¯ã¯ã€ã³ã¿ã©ã¯ãã£ããªãã³ãã¬ãŒããšãšã³ãããŒãšã³ãã®çµ±åããŒã«ãçµ±åããWebãããžã§ã¯ãã«ããã課é¡ã軜æžããŸãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãåäžçšéã®Webã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ã«äœ¿çšããããšãã§ããŸãããã®ãã¬ãŒã ã¯ãŒã¯ã®å€§èŠæš¡ãªäººæ°ã®ããã«ãAngularã®å€ãã®ããŒãžã§ã³ãå©çšå¯èœã§ãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãè€éãªæ©èœãçµ±åããããšã«ãã£ãŠããšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®ã¢ããªã±ãŒã·ã§ã³ãéçºããããã®æè¯ã®éžæè¢ã§ãããã°ãã°äººã ã¯AngularãšAngularJSãæ··åããŸããããã®2ã€ã®ãã¬ãŒã ã¯ãŒã¯ã«ã¯éãããããŸããAngularã¯ãã¹ãŠã®ã¢ãã€ã«ãã©ãŠã¶ãšäºææ§ããããŸãããJSããŒãžã§ã³ã¯ãã¹ã¯ããããã©ãŠã¶ã®ã¿ããµããŒãããŠããŸãã
ã§ã¯ãAngularãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽãããæ·±ãæãäžããŠã¿ãŸãããã
ç¹åŸŽ
- 2次å ã®ããŒã¿ãã€ã³ãã£ã³ã°ããµããŒã
Angularãã¬ãŒã ã¯ãŒã¯ã¯ãã¢ãã«ã¬ã€ã€ãŒã衚çŸããããã«ãåæ¹åã®ããŒã¿ãã€ã³ãã£ã³ã°ããµããŒãããŸãããã®ãã¬ãŒã ã¯ãŒã¯ã®åªããç¹ã¯ãã¢ãã«ã®å€æŽãç£èŠããããã®ãã¬ãã¥ãŒãåããŠããããšã§ãããã®ããããŠãŒã¶ãŒã¯ã¢ãã«ã®å€æŽãèªåçã«èŠãããšãã§ããã¢ããªã±ãŒã·ã§ã³ã®éçºæéãççž®ããããšãã§ããŸãã
- çžäºäŸåæ§ã®æäŸ
ãã®ãã¬ãŒã ã¯ãŒã¯ã¯ãã¯ã©ã¹ãã¡ãœããã颿°ãã¢ãžã¥ãŒã«ãçžäºã«äŸåããã¢ãžã¥ãŒã«ãšé£æºããã¯ã©ã¹ã®å€æŽãæžããããšã§ã³ãŒãã®äžè²«æ§ãç¶æããããšãã§ããŸãã
- ã¢ãã«ãã¥ãŒã³ã³ãããŒã©(MVC)ã¢ãŒããã¯ãã£ã®æäŸ
ãã®ãã¬ãŒã ã¯ãŒã¯ã®æ§é ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã³ãŒãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ããåé¢ãããŠã§ãéçºè ãã³ãŒãæéãç¯çŽããã®ã«åœ¹ç«ã¡ãŸãã
ãšã³ããŒ
Emberãã¬ãŒã ã¯ãŒã¯ã¯ã2011幎ã«Yehuda Katzæ°ã«ãã£ãŠäœæããããŠã§ãéçºè
ããã¹ã¯ããããšã¢ãã€ã«ãã©ãŠã¶ãšåäžããŒãžã®ãŠã§ãã¢ããªã±ãŒã·ã§ã³ãšäºææ§ã®ããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«åºã䜿çšãããŠããŸãããã®äººæ°ã®ãã¬ãŒã ã¯ãŒã¯ã¯ãããŒã¿ã®å€æŽãèªåçã«æŽæ°ããHTMLBarsãã³ãã¬ãŒãã䜿çšããŠããŸããããã§ã¯ãEmber ãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽã«ã€ããŠè©³ãã説æããŸãã
ç¹åŸŽ
- ãã³ãã¬ãŒãèšèªã®æäŸ
ãã³ãã«ããŒã®æ§æã¯ããã³ãã¬ãŒãèšèªã«å±ããŸãããã³ãã¬ãŒããšå ¥åããŒã¿ã䜿çšããŠãHTML ããã®ä»ã®ããŒã¿åœ¢åŒãäœæããŸãããããã®ãã³ãã¬ãŒãã¯ãäžæ¬åŒ§ã䜿ã£ããã³ãã«ããŒæ§æã䜿çšããéåžžã®ããã¹ããšåæ§ã§ãã
- æ€æ»ããŒã«ã®æäŸ
ãã®ãã¬ãŒã ã¯ãŒã¯ã¯ã圌ãã® Ember ã³ãŒãããã§ãã¯ããEmber ã䜿çšããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãç£èŠããã¢ããªã±ãŒã·ã§ã³ã®ãšã©ãŒãããéããããã°ããããã®æ€æ»ããŒã«ãæäŸããŸãã
- èªèšŒã®æäŸ
ã¢ããªã±ãŒã·ã§ã³ã®èªèšŒãšèªå¯ãè¡ãããã®ã»ãã¥ãªãã£ãã¿ãŒã³ãæäŸããŸãããŸããæœè±¡çãªãã¿ãŒã³ãæäŸããããå³å¯ãªãããã³ã«ã®ããã®ä»ã®ã»ãã¥ãªãã£ãªãã·ã§ã³ãšçµ±åãããŸãã
- ã¢ããªã±ãŒã·ã§ã³åæåæ©èœã®æäŸ
ãã®ãã¬ãŒã ã¯ãŒã¯ã¯ãã¢ããªã±ãŒã·ã§ã³ã®äŸåæ§æ³šå ¥ãéå§ããèšå®ããããã®ã¢ããªã±ãŒã·ã§ã³ã®ã€ãã·ã£ã©ã€ã¶ãŒã®æ©èœãæäŸããŸãã
ããã¯ããŒã³
Backboneã¯ã2010幎ã«Jeremy Ashkenasæ°ã«ãã£ãŠäœæãããæå°éã®JavaScriptãã¬ãŒã ã¯ãŒã¯ã§ãã€ãã³ãããªãã³ã«ãã£ãŠããã¹ãŠã®Webãã©ãŠã¶ãšäºææ§ã®ããã¯ã©ã€ã¢ã³ããµã€ãã¢ããªã±ãŒã·ã§ã³ãèšèšããããšãã§ããŸãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãããŒã¿ãæœè±¡åããããã®MVCã¢ãžã¥ãŒã«ãæäŸãããããã®ã³ã³ããŒãã³ããçµã¿åãããããšã§ãæ°è¡ã®ã³ãŒããæžãã ãã§æŽç·ŽããããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ïŒUIïŒãæ§ç¯ããããšãã§ããŸãã
ä»ã®ãã¬ãŒã ã¯ãŒã¯ã宣èšçãªã¹ã¿ã€ã«ã§éçºãè¡ãã®ã«å¯Ÿãããã®ãã¬ãŒã ã¯ãŒã¯ã¯åœä»€çãªããã°ã©ãã³ã°ã§åžæãããŠã§ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããŸããããã§ã¯ãBackboneã®ç¹åŸŽã«ã€ããŠè©³ãã説æããŸãã
ç¹åŸŽ
- JavaScriptã®ã¡ãœãããšé¢æ°ã®äœ¿çš
Backboneãã¬ãŒã ã¯ãŒã¯ã¯ãJavaScriptã®é¢æ°ãšã¢ãžã¥ãŒã«ãJavaScriptã³ãŒãã®ãã«ãã£ã³ã°ãããã¯ãšããŠäœ¿çšããã¢ãžã¥ãŒã«ãã€ã³ãã£ã³ã°ãšã«ã¹ã¿ã ãªã«ã¬ã³ã¹ãæäŸããŸãã
- ç¡æãã€ãªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯
Backboneã¯ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®100以äžã®ã©ã€ãã©ãªãæäŸããWebãããžã§ã¯ãã®ããã®ç¡æã®ãªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã§ãã
- ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³éçºã®ãµããŒã
Backboneãã¬ãŒã ã¯ãŒã¯ã¯ãWebéçºè ããã¹ãŠã®ããã€ã¹ãšãã©ãŠã¶ãšäºææ§ã®ããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããã®ã«åœ¹ç«ã¡ãŸãã
NextJS
NextJSã¯ãReactã§éçãªWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®ãããªãŒã§ãªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã§ãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãããã©ãŒãã³ã¹ã®åäžãããã³Webã¢ããªã±ãŒã·ã§ã³ã®è¿
éãªéçºãæäŸããŸãã仿¥ããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãã³ãã¥ããã£ã®åŒ·åãªãµããŒãã«ããã髿°Žæºã«ãããŸãããã®JavaScriptãã¬ãŒã ã¯ãŒã¯ã¯ããŒãããã³ãŒããæžãã®ã§ã¯ãªããæ¢åã®ãã³ãã¬ãŒãããã¢ããªã±ãŒã·ã§ã³ãéçºããããšãæ¯æŽããŸããNextJSã¯ãWebãµã€ããã¢ããªã±ãŒã·ã§ã³ã®ãããªè£œåãå®å
šã«å¶åŸ¡ã§ãããããããžãã¹ã«ãšã£ãŠæé©ãªãã¬ãŒã ã¯ãŒã¯ã§ãããã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšãããšãä»ã®ãã¬ãŒã ã¯ãŒã¯ã®ããã«ãã©ã°ã€ã³ã«äŸåããå¿
èŠããããŸãããéçºè
ã®å€ãã¯ãéçºã®æéãšã³ã¹ããåæžããããã«ãReactã³ã³ããŒãã³ããåå©çšããããšã奜ã¿ãŸãã
æåŸã«
è¿å¹Žãã¢ããªã±ãŒã·ã§ã³éçºã«ã¯ãã㌠ã³ãŒãã® ãããªæ°ããæ¹åæ§ãåºãŠããŠããŸããããŒã³ãŒãã¯ãéçºè ãã«ãŒãã³ã¯ãŒã¯ãæé€ããã¢ãŒããã¯ãã£ã®èšèšãªã©ãããè€éã§ãšããµã€ãã£ã³ã°ãªããšãè¡ããããã«ããããã®ææãªæ¹åæ§ã§ãããããããéçºè ã®äžã«ã¯ããŸã MVPã¬ãã«ã«éããªããšèããŠãã³ãŒãã®ãªãéçºã«æççãªäººãããŸããããã©ãããã©ãŒã ã¯å€§ãã鲿©ããŠãããããªããé©ããããããããŸããã
åæ§ã«ãJavaScriptãã¬ãŒã ã¯ãŒã¯ã¯ãããéããããå®äŸ¡ãªWebãœãªã¥ãŒã·ã§ã³ãæäŸããã³ãŒããªãéçºã®å»¶é·ç·äžã«ãããã®ã§ããJavaScript ã¯ãWeb éçºã«äœ¿çšãããäžè¬çãªã¹ã¯ãªããèšèªã§ãããã®èšèªã§ã¯ãã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ã䜿çšããéçºãå¯èœã§ããWebã¢ããªã±ãŒã·ã§ã³ã®éçºæéãšã³ã¹ããåæžããããã«ãã奜ããªãã¬ãŒã ã¯ãŒã¯ã䜿çšããããšããå§ãããŸãã


