かざいむ日誌

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

JAMStackとは。

最近関心をもって進めているものがJAMStackと名付けられているのが分かったので、ちょっと調べる。興味のきっかけはGatsbyJSという静的Webサイトのジェネレータ。描画がとても早いので面白いなと思ってちょっと自分でもチュートリアルを見ながら調べたりした。

JAMStackとは、LAMPやMEANと同じように、構成する要素の頭文字を取った、アーキテクチャパターンの一つ。それぞれJavascriptAPI、Markupを表す。この名前はNetlifyの人が考えたが、名前は後付け。今はこんな感じの定義らしい。

Fast and secure sites and apps delivered by pre-rendering files and serving them directly from a CDN, removing the requirement to manage or run web servers.

Jamstack | JavaScript, APIs, and Markup

 

そもそもの動機としてはWordpressがその脆弱性で攻撃されたり、レスポンスをより早くしたいというニーズがあった。また、クライアントでゴリゴリ描画するSPAが、レスポンス面で遅い、Google検索エンジンに上手く引っ掛からないという課題があり、サーバー側での描画を行うSSRが解決策として提起されていた。

Gitでリソースを全部管理できて、GitHubとかにコミットしたら、HTMLの生成処理が始まって、ホスティングサービス上に生成済みのHTMLが展開される。このホスティングサービスや、連携したCDNサービスを通じてレスポンスの早い、堅ろうなWebサイトを提供するものというイメージ。

 

同様のフレームワークにはNext.js、Nuxt.js、Hugoなどがある。こういった形式でのホスティングを提供しているのが、Netlify、GitLab Pages、GitHub Pagesあたり。Webサイトの内容のみを管理するコンテントフルなどのサービスもあり、より柔軟な管理ができるようになっている。

 

www.gatsbyjs.org

employment.en-japan.com

developers.google.com

Microsoft Buildでも同様の取り組みとして、Static Web Appsが紹介されてにわかに勢いがついているように感じる。Microsoftのサービスも試してみたい。

k-miyake.github.io

qiita.com

docs.microsoft.com