ð¡JavaScript, TypeScript, React, Next.js ã®éãããã£ããç解ããð¡
ã¯ããã«
WebéçºãããŠãããšãJavaScript, TypeScript, React, Next.js ãšãã£ãæè¡ãããè³ã«ããŸãããããã®èšäºã§ã¯ãããããã®åœ¹å²ãç¹åŸŽãç°¡åã«æŽçããŠã¿ãŸãã
1. JavaScript ãšã¯ïŒ
JavaScriptã¯ãHTMLãCSSãšçµã¿åãããŠäœ¿çšããããã¯ã©ã€ã¢ã³ããµã€ãïŒãã©ãŠã¶ïŒã§å®è¡ãããããã°ã©ãã³ã°èšèªã§ãã
ç»é¢è¡šç€ºã®åçãªå€æŽããŠãŒã¶ãŒãå
¥åããå€ã«å¿ããèšç®ãªã©ã«å¹
åºã䜿ãããŸãã
WebããŒãžã«ã¢ãã¡ãŒã·ã§ã³ãã€ã³ã¿ã©ã¯ã·ã§ã³ãå ããããšã§ããŠãŒã¶ãŒã«ãšã£ãŠåãã®ããäœéšãæäŸã§ããŸãã
è¿å¹Žã§ã¯ Node.jsã«ãããµãŒããŒãµã€ãã§ãJavaScriptã䜿ãããã±ãŒã¹ãå¢ããŠããŸãããäžè¬çã«ã¯ããã©ãŠã¶ã§åãèšèªããšããŠèªç¥ãããŠããŸããã
2. TypeScript ãšã¯ïŒ
TypeScriptã¯ãJavaScriptã«åä»ãã®æ©èœãå ããèšèªã§ãã
ãJavaScriptãç䌌ãŠäœãããããšããããããJavaScriptãæ¡åŒµããŠãå®å
šã«æžããããã«ããã¹ãŒããŒã»ããããšããäœçœ®ã¥ãã§ãã
åä»ãã®ã¡ãªãã
- å€æ°ãé¢æ°ã«åïŒnumber, string ãªã©ïŒãæå®ã§ãããããééã£ãå€ãä»£å ¥ãããããšã ã³ã³ãã€ã«ïŒãã«ãïŒæ ã«æ€ç¥ã§ããŸãã
- ããŒã éçºã倧èŠæš¡ãªã³ãŒãããŒã¹ã§ã¯ãåãšã©ãŒãåå ã®ãã°ãæªç¶ã«é²ãããšãã§ããä¿å®æ§ãå€§å¹ ã«åäžããŸãã
äŸãã°ãæ°åãšããŠèšç®ããã¯ãã®å€æ°ã«æååãå
¥ã£ãŠããŸãâŠãšãã£ããã¥ãŒãã³ãšã©ãŒãé²ããããããã§ãã
TypeScriptã¯ããããããšã©ãŒãæ©æã«é²ãä»çµã¿ã欲ããããšããããŒãºã«å¿ããããã«éçºãããŸããã
JavaScriptã®ç¥èãããã°ãæ¯èŒçã¹ã ãŒãºã«ç§»è¡ã»åŠç¿ã§ããã®ããã€ã³ãã§ãã
3. React ãšã¯ïŒ
次ã«ç»å Žããã®ã Reactã§ãã
ãã㯠JavaScriptã®ã©ã€ãã©ãª ã§ãFacebook(çŸ: Meta) ãéçºã»ãªãŒãã³ãœãŒã¹ãšããŠå
¬éããŠããŸãã
ã³ã³ããŒãã³ããšåŒã°ããå°ããªéšåãçµã¿åãã㊠UIãæ§ç¯ã§ããä»çµã¿ãç¹åŸŽã§ãåå©çšæ§ãé«ããšããã¡ãªããããããŸãã
JavaScriptã ãã§è€éãªç»é¢ãå®è£
ããããšãããšã³ãŒããåé·ã«ãªããã¡ã§ãããReactãå°å
¥ãããšã¹ãããªãšä¿å®ãããã圢ã§æžããããã«ãªããŸãã
é垞㯠ã¯ã©ã€ã¢ã³ããµã€ãã§æç»ïŒCSR: Client-Side RenderingïŒãè¡ãããšãå€ãã§ãããã©ãŠã¶ã JavaScriptãèªã¿èŸŒãã§ãåçã«ç»é¢ã衚瀺ããŠãããŸãã
4. Next.js ãšã¯ïŒ
æåŸã« Next.jsã
ãã¡ãã¯ãReactãããŒã¹ãšãããã¬ãŒã ã¯ãŒã¯ã§ãã
Reactã§éçºãããŠãããšããã«ãŒãã£ã³ã°ã®èšèšãããµãŒããŒãµã€ãã¬ã³ããªã³ã°ïŒSSRïŒãããã«ãèšå®ããªã©ãããã³ããšã³ã以å€ã®èšå®é
ç®ãå¢ããŠããŸãã
Next.jsã¯ãããããè€éãªéšåãã²ãšãŸãšãã«ããŠãReactãããå¹ççã«éçšã§ããããã«ãããã®ã§ãã
ãµãŒããŒãµã€ãã¬ã³ããªã³ã° (SSR) ãšã®é¢ä¿
Reactã¯éåžžããã©ãŠã¶åŽã§åæç»é¢ãçµã¿ç«ãŠãŸãïŒCSRïŒãããã Next.jsã§ã¯ããµãŒããŒåŽã§å
ã«HTMLãçæããŠããã¯ã©ã€ã¢ã³ãã«æž¡ããŸãã
ããã«ãããããŒãžã®è¡šç€ºé床ãååããŒãæã«é«éåãããããããã«SEOïŒæ€çŽ¢ãšã³ãžã³æé©åïŒ ã«ãæå©ã ãšãããŠããŸãã
äŸãã°ãECãµã€ããããã°ãªã©ãæ€çŽ¢çµæããçŽæ¥æµå
¥ããŠã»ããã³ã³ãã³ãã§ã¯SSRãSSGïŒStatic Site GenerationïŒã掻çšã§ãã Next.jsãéå®ãããŸãã
ãŸãšã
JavaScript
ãã©ãŠã¶ã§åãã¹ã¯ãªããèšèªãç»é¢ã®åããèšç®ãã€ã³ã¿ã©ã¯ã·ã§ã³ãå®è£ ããåºæ¬çãªæè¡ã
TypeScript
JavaScript ãæ¡åŒµããåä»ãèšèªããšã©ãŒããã°ãæªç¶ã«é²ããä¿å®æ§ãé«ããããã«å€§èŠæš¡éçºã§ç¹ã«äººæ°ã
React
JavaScript ã®ã©ã€ãã©ãªãã³ã³ããŒãã³ãæåã§åç㪠Web ã¢ããªãå¹ççã«æ§ç¯ã§ããã
äžè¬çã«ã¯ã¯ã©ã€ã¢ã³ããµã€ãã§åçã«ç»é¢ãã¬ã³ããªã³ã°ã
Next.js
React ã®ãã¬ãŒã ã¯ãŒã¯ããµãŒããŒãµã€ãã¬ã³ããªã³ã°ãéçãµã€ãçæãšãã£ãä»çµã¿ãæ軜ã«å©çšã§ãããSEOãé«é衚瀺ãæ±ãããããµã€ãã§åŒ·ã¿ãçºæ®ã
ãããã®æè¡ã¯ãWebãµã€ããWebã¢ããªã±ãŒã·ã§ã³ãããæŽç·Žããã圢ã§éçºããããã«ãããããç°ãªã圹å²ãæ
ã£ãŠããŸãã
ã·ã³ãã«ãªããŒãžãªãJavaScript + Reactã ãã§æžããããããŸãããã倧èŠæš¡ãµã€ããSEOéèŠã®ãããžã§ã¯ãã§ã¯TypeScript + Next.jsãçµã¿åãããããšã§ãå®å
šæ§ã»ä¿å®æ§ã»ããã©ãŒãã³ã¹ã®ãã¹ãŠãåäžãããããšãã§ããŸãã
Discussion
æ«å°Ÿã®ãªã³ã¯ããªã³ã¯ã«ãªã£ãŠãŸããã
ããããšãããããŸãïŒ