このサイトの技術スタックについて


一応ポートフォリオなので、モダンで良さげな気になる技術を使ってみた。

はじめに

  • 静的サイトにする
  • ブログ機能をつける
  • つまりJAM Stackな構成

What is JAM Stack?

バックエンド

Contentful

ブログ機能部分に使用。 ヘッドレスCMS。

良い点

  • 設計が柔軟にできる
  • マークダウン対応
  • APIリファレンスがしっかりしてる
  • 公式のnpmパッケージが使いやすい

悪い点

  • コメント機能非対応
  • 埋め込みするときに使うembedlyが微妙
  • 個人ではいいが、会社でと考えると料金プランに適当なものがない(ユーザー増やしたいとか微妙な感じ)

フロントエンド

Nuxt.js

Vue.jsのフレームワーク。 Vue CLIが優秀なので影が薄くなっているが、SSRしたい時や静的ジェネレートしたいときに便利。 今回は静的ジェネレート機能が欲しかったので使用。

Vuetify

Vueコンポーネントライブラリ。 デザイナーさんがいないときはライブラリに乗っかっていこうと思う。

インフラ

Netlify

静的サイトホスティングサービス。 めちゃめちゃ使い勝手が良くて驚いた。 GithubとContentfulの両方に反応してビルドしてデプロイしてくれる。 正直インフラのことはよくわからないが、彼におまかせでなんとかなる。いい時代。

まとめ

かゆいところに手が届かなかったなという感じ。 特にコメント機能が無いのは痛い(Disqusは宗教上の理由により使いたくない)。 ヘッドレスCMSは自作する必要があるように感じた。 Strapiなどが良さそう。WordpressはNG。

Netlifyが便利なのは十分理解できたが、もうちょっとCIとか自分で書きたい気がする。 AWS S3に静的サイトを置く形にして、CircleCIでweb hook受けてテストやらビルドやらデプロイやらをしたい。

参考文献

Embedded content: https://qiita.com/isihigameKoudai/items/3e45ade7c438176a4cc9

Embedded content: https://blog.andoshin11.me/posts/nuxt-with-typescript