Jamstackãšã¯ãã£ããäœïŒ
ä»åããã¯å ·äœçã«ãJamstackã£ãŠãªã«ïŒããSSGãHeadlessCMSã£ãŠïŒããšããããšãèããŠãããããšæããŸãã
ãŸããã®ããŒãžã§ã¯Jamstackãšã¯äœãã«ã€ããŠãç§ãªãã®èããè¿°ã¹ãããšæããŸãã
Jamstackã®Webãµã€ãã«ã¯ããæžãããŠããŸãã
Jamstack is an architecture designed to make the web faster, more secure, and easier to scale.
åèïŒWhat is the Jamstack? | Jamstack
ãé«éã§å®å šã§ã¹ã±ãŒã©ãã«ãªWebãµã€ãæ§ç¯ã®ããã®ã¢ãŒããã¯ãã£ãŒããšãã£ããšããã§ãããããæœè±¡çãããŸããã
ç§ãæãã«Jamstackãšã¯ãAPIãªã©ãéãéçãã¡ã€ã«ãäºåçæããCDNãªã©ã®ãã¹ãã£ã³ã°ãµãŒãã¹ã䜿ã£ãŠé ä¿¡ããã¢ãŒããã¯ãã£ãŒãã ãšèããŠããŸããããã§ãäœã®ãã£ã¡ããšæããããããŸããããäŸãã°ãSSG + HeadlessCMS + CDNãçµã¿åãããã¢ãŒããã¯ãã£ãŒãæ³åããŠããããã°ã幟ååãããããããããªãããšæããŸãã
èšèã®ç±æ¥
Jamstackã¯ããšããšãJAMStackããšåŒã°ããŠããŸããã
JAMStackã®JAMã¯ãJavaScriptããAPIsããMarkUpãã®é æåãåã£ãèšèã§ããèŠçŽãããšããJavaScriptã§APIãå©ããŠãéçãªããŒã¯ã¢ãããã¡ã€ã«ïŒHTMLãCSSãJavaScriptïŒãé ä¿¡ããã¢ãŒããã¯ãã£ãŒãã ãšèšããŸãã
çŸåšã¯JAM
ãJam
ãšè¡šèšãããŠããŸãããèªæºãšãªã£ãã®ã¯äžèš3ã€ã®é æåã§ãããå®éã®ãšãããå¿
ããããããã®æè¡ã䜿çšããªããŠãJamstackãªWebãµã€ãã¯æãç«ã€ãšãããŠããŸãã
JAMStackã®ãã¥ã¢ã³ã¹ã ãæ®ããŠæ§ææè¡ã¯éå®ããªãããšããããã®æ¹åã ã£ãããããªãããšæã£ãŠããŸãã
䌌ããããªãã®ã ãšAjaxãæããããŸããAjaxã¯åœåãAJAXããšè¡šèšãããŠããŸããããAsync JavaScript And XMLãã®é æåããšã£ãŠä»ããããŸããããå®éã«ã¯XMLã§ã¯ãªãJSONãå©çšãããããšãå€ããªããŸãããã§ã¯ãAJAXãããAJAJãã«å€ãã£ãããšãããšããã§ã¯ãããŸããããã£ãŠããããšã¯å€ãããªããã ãã©ãããªã«ãã®é æåããšã£ããã ãªããšãã颚ã«é£æ³ãããªãããã«ãAjaxããšããè¡šèšã«å€ãã£ãŠãããŸããã
åè : Discussion: jamstack word treatment · Issue #279 · jamstack/jamstack.org
Jamstackã®ã¡ãªãã
ãããŸã§è¿°ã¹ãŠããããã«ãJamstackãšããèšèã¯ç¹å®ã®æè¡ã®çµã¿åãããæããã®ã§ã¯ãªãããã£ãšæœè±¡çãªã¢ãŒããã¯ãã£ã®èãæ¹ãè¡šããã®ã§ãããšèããŠããŸãã
ããã§ãJamstackãã©ã®ãããªãã®ããåŸæ¥ã®Webãµã€ãã®æ§æãšã®éããå ã«èããããšæããŸããåœãµã€ããšåããããªããã°ãå±éããŠããWebãµã€ããé¡æã«ããŸãã
éçãã¡ã€ã«ã®äºåçæ
åŸæ¥ã®Webãµã€ãã®äŸãšããŠãWebãµãŒããŒãšDBãµãŒããŒãçµã¿åãããæ§æãèããŸããããã°ã³ã³ãã³ãïŒèšäºã®ã¿ã€ãã«ãæ¬æãç»åãªã©ïŒã¯DBãµãŒããŒã«ä¿åãã¯ã©ã€ã¢ã³ãããã®ã¢ã¯ã»ã¹ããã£ãæã«WebãµãŒããŒäžã§PHPãªã©ããã³ãã¬ãŒããå ã«HTMLãã¡ã€ã«ãäœæãã¯ã©ã€ã¢ã³ãã«è¿éãããšãããã¿ãŒã³ã§ãïŒããããLAMPæ§æãšãããã€ã§ããïŒã
äžèšã«ããâ¡ïœâ€ã®å·¥çšããWebãµã€ããžã®ã¢ã¯ã»ã¹ããã£ãŠããè¡ããŸãã
ãŸãããã®ããã«WebãµãŒããŒãšDBãµãŒããŒãã»ããã«ããŠWebãµã€ããæ§ç¯ã§ããããã«æäŸãããµãŒãã¹ãä»çµã¿ãCMSãªã©ãšèšã£ããããŸãããã®æåãªWordpressãCMSã®ä»£è¡šã§ãã
ã§ã¯æ¬¡ã«JamstackãèããŸããJamstackãªã¢ãŒããã¯ãã£ãŒã§ã¯ãåŠçã®æµãã倧ãŸãã«2段éã«åããããšãã§ããŸãã
ãŸãäžã€ç®ããèŠåºãã«ãããéçãã¡ã€ã«ã®äºåçæã§ãã
Jamstackã§ã¯ã³ã³ãã³ãã®æŽæ°ããã£ãæã«ãSSGãå©çšããŠãã³ã³ãã³ãããŒã¿ãååŸãHTMLãCSSãªã©ã®éçãã¡ã€ã«ãçæãçæãããéçãã¡ã€ã«ãCDNã®é ä¿¡ãµãŒããŒã«ã³ããŒããŸãïŒCDNã«é¢ããŠã¯åŸã»ã©èª¬æããŸãïŒã
ããã°ããŠãŒã¶ãŒãžWebãµã€ããå ¬éããåã®æºå段éã§ãã
ãããŠãCDNã®ãµãŒããŒãžããŒã¿ã³ããŒãå®äºãããããŠãŒã¶ãŒããã®ã¢ã¯ã»ã¹ãå¯èœã«ãªããŸãããããŸã§æ¥ãããããšã¯â HTTPãªã¯ãšã¹ããæããâ¡éçãã¡ã€ã«ãè¿ãããšããåçŽãªæµããããã®ã¿ã§ãã
DBãµãŒããŒãžã®ã¢ã¯ã»ã¹ãäžžããšãªããªããã¬ã¹ãã³ã¹ãŸã§ã®å·¥çšãæžå°ãé«éãªã¢ã¯ã»ã¹ãå¯èœã§ããããšãåãããšæããŸãã
CDNã«ããé«éãªWebãµã€ã衚瀺
Jamstackã§ã¯CDNãšãããµãŒãã¹ã䜿çšããŠãSSGã§åºåããéçãªãã¡ã€ã«ãé ä¿¡ããŸãã
CDNãšã¯äœã§ããããïŒãŠã£ãããã£ã¢ã«ãããšã
ã³ã³ãã³ãããªããªãããã¯ãŒã¯ãšã¯ããŠã§ãã³ã³ãã³ããã€ã³ã¿ãŒãããçµç±ã§é ä¿¡ããããã«æé©åããããããã¯ãŒã¯ã®ããšã§ãããã³ã³ãã³ãé 信網ãšãåŒã°ããã
ã»ã»ã»ãšã®ããšã§ãã
ãããäžèšã§èšããšãããŒã¿ãã³ããŒããé ä¿¡ãµãŒããŒãäžçäžã«é 眮ãããããã¯ãŒã¯ãã§ãã
éåžžãWebãµãŒããŒãDBãµãŒããŒã¯äžãæã«åºãŸã£ãŠçœ®ãããŠããŠãäžçäžããã®ã¢ã¯ã»ã¹ãäžæã«åŒãåããŠããŸãïŒåé·åã§ãã£ããã¯ã©ãŠããµãŒãã¹ãå©çšããŠåæ£ãããããšã¯ã§ããŸãããéçã¯ãããŸããCDNã®ä»çµã¿ãšã¯æ¬è³ªçã«éããŸãïŒã
CDNã®å Žåããªãªãžã³ãµãŒããŒïŒãããŸã§ã§ããWebãµãŒããŒæ¬äœïŒããéçãã¡ã€ã«ãã³ããŒãããšããžãµãŒããŒãäžçäžã«åæ£ãé 眮ããŸãã
ã¯ã©ã€ã¢ã³ãã¯Webãµã€ãã«ã¢ã¯ã»ã¹ããéããªãªãžã³ãµãŒããŒã§ã¯ãªãç©ççã«è¿ããšããžãµãŒããŒãããã¡ã€ã«ãããŠã³ããŒãããããšã«ãªããŸãããªãªãžã³ãµãŒããŒã«åºæ¬çã«è² è·ã¯ããããŸããã
ãŸãããšããžãµãŒããŒã®æ°ã¯ãCDNãµãŒãã¹ã«ããããŸããæ°äžå°ããæ°åäžå°ãšãèšãããŠããããåé·æ§æãã®æ¯ã§ã¯ãããŸããããããäžçäžã«ç©ççã«åæ£ãããŠããã®ã§ãã
äºåã«éçãã¡ã€ã«ãçæããéçãµã€ããžã§ãã¬ãŒã¿ãŒãšããã®CDNãšããä»çµã¿ã¯ãšãŠãçžæ§ãããã§ãã察ããŠãããã¯ãšã³ããä»åšããWebãµã€ãã§ã¯ãã¢ã¯ã»ã¹ããã£ãŠããDBã«åŠçãæããçµæãèŠãŠéçãã¡ã€ã«ãçæãããããã§ããããåºæ¬çã«CDNã¯å©çšãã«ããã§ãã
åœããã°ã®å Žåã§ããšãAWS AmplifyãçšããŠCDNã§ã®å ¬éãè¡ã£ãŠããŸãã
ãµãŒããŒè² è·ã管çã³ã¹ããæžã
åŸæ¥ã®æ§æã§ã¯ã¢ã¯ã»ã¹ãã床ã«åçã«ãã¡ã€ã«ãçæãããããWebãµãŒããŒãDBãµãŒããŒã«ã©ãããŠãè² è·ãããããŸããã¢ã¯ã»ã¹ãéäžãããšãµãŒããŒãèœã¡ãå¯èœæ§ãã§ãŠããŸããããã«äŒŽãCPUãã¡ã¢ãªããã£ã¹ã¯å®¹éã®ãªãœãŒã¹ç£èŠããã£ãšè¡ã£ãŠããå¿ èŠããããŸãã
ããã«ãLinuxãªã©ã®ãµãŒããŒOSãApacheãPHPãMySQLãªã©ã®ããã«ãŠã§ã¢ã®ç®¡çãå¿ èŠã§ããå ããŠãœãããŠã§ã¢ã§ããCMSèªäœã®ã¢ããããŒãããã©ã°ã€ã³ã®ç®¡çãå¿ èŠã§ãããã©ãããŠãå€ãã®ã©ã³ãã³ã°ã³ã¹ããããããŸãã
Jamstackãªãã°ã©ãã§ããããã³ã³ãã³ã管çã¯HeadlessCMSãå©çšãAPIã«éçŽããããããDBããã¡ãŸããããŸããCDNãå©çšããŠããããèªåã§WebãµãŒããŒãæããªããŠãããªããŸãã
ã¢ã¯ã»ã¹ãéäžããæã«ãµãŒããŒãèœã¡ãäºã ã¯Jamstackã«ãåœãŠã¯ãŸããŸããããµãŒããŒãåæ£ãããŠããCDNã®ç¹åŸŽããããŠãµãŒããŒãèœã¡ãããšã¯ãããããªããšæããŸãããŸããCDNã¯ãããŒãžãåãµãŒãã¹ã§ãã®ã§ããµãŒããŒç®¡çãã解æŸããããšããæå³ã§ãã¡ãªããã§ãã
æè¡éžæã®å¹ ãåºãã
æè¡é¢ïŒWebãµãŒããŒãSSGãªã©ã®ããŒã«ïŒãšã³ã³ãã³ã管çïŒHeadlessCMSãªã©ïŒãççµåã«ãªã£ãŠããããããããããåé¢ããŠèããããšãã§ããŸãã
äŸãã°SSGãªããGatsbyãNext.jsãNuxt.jsããšããéžæè¢ããããHeadlessCMSããmicroCMSãContentfulãgraphCMSããšããéžæè¢ãããããã¹ãã£ã³ã°ç°å¢ããAWSãNetlifyãCloudFlareããªã©ãããããããã奜ããªæè¡ãçµã¿åãããŠãµã€ããæ§ç¯ããããšãã§ããŸãã
Jamstackãå©çšãããã¡ãªãã
ããŠãäœã ãããæã°ããã«èŠããJamstackæ§æã§ããããã¡ãªãããããããŸããé©çšããã®ã«åããŠããªãã·ãŒã³ãšããã®ãåœç¶ãããŸãã
ã¢ãŒããã¯ãã£ãŒãæ§ç¯ããç¥èãå¿ èŠã«ãªã
Jamstackãµã€ãæ§ç¯ã«ã¯ããã°ã©ãã³ã°ãªã©ã®ç¥èãå¿ èŠã«ãªãããããå°å ¥ãžã®äžçªã®éå£ã«ãªããŸããäŸãã°ãSSGã䜿çšããéã«ããã°ã©ãã³ã°ã®ç¥èãå¿ èŠã«ãªããŸããç¥èãšããã®ããHTMLãšCSSãJavaScriptãªãå匷ããŸããããããã§ã¯äžã 倪åæã¡ã§ããŸããã
ãŸããCDNãå©çšããŠãã¡ã€ã«ãé ä¿¡ããã®ã§ãã¹ãã£ã³ã°ã«é¢ããç¥èãããããã€æã«ã¯HeadlessCMSãšã®é£æºãèããªããŠã¯ãããŸããã
察ããŠWordpressãªã©ã®CMSãªãã©ãã§ããããæäœéã®ç¶æ ã§ã¹ã¿ãŒããããã®ã«ã¯ããã°ã©ãã³ã°ã«é¢ããç¥èã¯å¿ èŠãšãããŸãããã¬ã³ã¿ã«ãµãŒããŒã«ãã£ãŠã¯èªåçã«Wordpressã®æºåãŸã§èªåã§ããŠããããã®ããããŸããããç°¡åã«èªåã®Webãµã€ããäœæã§ããŸãã
ãŸããæžåºã«è¡ãã°Wordpressã«é¢ããŠã®å ¥éæžãããã§ãããšããã»ã©è±å¯ã«ãããã¹ã¿ãŒããŸã§ã®ããŒãã«ã¯äœãã§ãã察ããŠSSGãJamstackã«é¢ããæžç±ãæ å ±ã¯äžã å°ãªãå°è±¡ã§ãã
圹å²ã2ã€ã«ããããŠãã
Jamstackã¯äž»ã«ãã³ã³ãã³ãã管çããHeadlessCMSãšãéçãã¡ã€ã«ãçæããSSGããæ§æãããŠããŸããããã¯ãã³ã³ãã³ããäœæãã圹å²ããšãSSGãé§äœ¿ãã圹å²ããšã§æ±ããããç¥èãéãããšãæå³ããŸãã
ãããã°ãç«ã¡äžããããããã°ã©ãã³ã°ã«é¢ããç¥èããªããã詳ãã人ã«æ§ç¯ãé Œããããšãã人ãããŠJamstackæ§æã®ãµã€ãäœããéžæè¢ã«äžãã£ãæããåæ¥ããããšãã§ããããšæããã°ã¡ãªãããšãªããŸããããããã°ãç«ã¡äžããã人ã ãã§å®çµã§ããªãããã¡ãªããããããšãèããããŸãã
SSGã䜿çšããåŽããµã€ããæ§ç¯ããããã¶ã€ã³ã¯ããã§ããã§ããïŒããæã£ãéãã®ããŒãžã«ãªã£ãŠããŸããïŒããªã©ããåãããå¿ èŠã«ãªããŸãã
ãã®ç¹ãCMSãµãŒãã¹ã¯ã³ã³ãã³ã管çãããµã€ãå ¬éãŸã§ïŒãµãŒãã¹å©çšè ããèŠãã°ïŒäžæ岩ã«ãªã£ãŠããŸãã®ã§ãèªåäžäººã§ãµã€ããäœæã管çããŠããããšãå¯èœã§ãã
ããã¯äžèšã®ãããã°ã©ãã³ã°ã«é¢ããç¥èãå¿ èŠã«ãªãããšéè€ããéšåã倧ãããããããŸãããèŠããã«ãå°éçãªç¥èãå¿ èŠã«ãªãããšããããšã§ããã
ããŒãžçæã«æéãããã
SSGã¯ãåãã£ãŠéçãã¡ã€ã«ãçæããããšããä»æ§äžããã«ãã®åºŠã«å šãŠã®éçããŒãžãçæããããšã«ãªããŸãã100åã®èšäºããããµã€ãã«æ°ããèšäºã1åè¿œå ããæã101åèšäºåã®ãã«ããè¡ããããšããããšã§ãããããŠãã®æéããµã€ãæŽæ°ãŸã§ã®ã¿ã€ã ã©ã°ã«ãªããŸãã
çŸåšããã®ããã°ã¯ããŒãžç·æ°10ããŒãžäœãAWS Amplifyã䜿çšããŠãããã€ããŠããŸããããã«ãæéã¯2åãšå°ããšãã£ããšããã§ãããŸããAWS Amplifyã§ããã°ãã«ãæéã«å¿ããŠæéãçºçããŸããããã®ä»ã®ãã¹ãã£ã³ã°ãµãŒãã¹ããã©ã³ããšã«ãã«ãæéã®å¶éãããããšãå€ãã®ã§ãã®ç¹ã¯èŠæ³šæã§ãã
ãããŠãæŽæ°ãé »ç¹ã«ãããµã€ãã«ã¯Jamstackã¯åããŸããã1åã«1åæŽæ°ããããµã€ããšãã§ããããã®ããã°ã¯é±ã«1~2åã®æŽæ°ããŒã¹ã§ãã®ã§Jamstackæ§æã«ã¯ãŽã£ããã§ãã
ããããåçãµã€ãã«ã¯ãäºåãã«ãããšããèãã¯ãããŸããã®ã§ãã³ã³ãã³ããæŽæ°ãããããããŸã¢ã¯ã»ã¹å¯èœã§ãããŸããã¬ã³ã¿ã«ãµãŒããŒãåããŠãã®ã§ããã°æéã¯åºå®ãããŠãããšãå€ãã§ãããããééé¢çã«ãå®å¿ã§ãã
åçãªæ©èœãæããã«ãã
åçã«ããŒãžãå€ãããµã€ããECãµã€ãã ã£ãããã°ã€ã³æ©èœãæã€ãµã€ããªã©ã該åœããŸããããããã®æ§ç¯ã¯ããã¯ãšã³ããæããªãJamstackãµã€ãã«ãšã£ãŠèŠæãªåéã§ãã
èŠæã ãã§å®çŸã§ããªãããã§ã¯ãªããããã§ããïŒæ£çŽã«èšããšããŸãåãã£ãŠãªãïŒãããã¯ããã¯ãšã³ããæã€Wordpressãªã©ã®CMSããããã¯ãšã³ãã®ãã¬ãŒã ã¯ãŒã¯ãè©ŠçšããWebã¢ããªã±ãŒã·ã§ã³ã®åœ¹å²ã§ã¯ãªãããªããšç§ã¯æããŸãã
ãã®èŸºãã¯å®éã«ãã£ãŠã¿ããšèãæ¹ãå€ãããããããŸããã®ã§ãè¿ã æãä»ããŠã¿ãããšæã£ãŠããŸãã
åè
What is the Jamstack? | Jamstack
What Is The Jamstack? | Gatsby
Welcome to the Jamstack | What, Why, and How of Jamstack
Jamstackãšã¯äœãïŒãŸãã¯åºæ¬ãç解ãããïŒ | microCMSããã°
Jamstackãšã¯ïŒ | æ ªåŒäŒç€Ÿãã¯ã»ã«ã°ãªãã
ããã ãèªãã°OKïŒ JAMstackã®ãã¹ãŠãããããŸã ïœ monotein
Jamstack ãšã¯ïŒãªãä» Jamstack ãªã®ãïŒ | Dyno
ã¢ãã³WebéçºãJAMstackããå®è·µ | ShareCOM
ã€ã³ãã©ãšã³ãžãã¢ãèŠãJAMStack - NRIãããã³ã Design and Tech Blog