Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Decoupled System with Turbo Frame

wtnabe
January 20, 2024

Decoupled System with Turbo Frame

Kanazawa.rb meetup 137で話したTurbo Frameを使ってHeadless CMSとは異なる形で実現するDecoupledな仕組みについて

wtnabe

January 20, 2024
Tweet

More Decks by wtnabe

Other Decks in Programming

Transcript

  1. まとめ Rails (いわゆるWeb MVC )とCMS で得意領域が違う decoupled という考え方は採用しつつ、実現方法はHeadless CMS だ

    けとは限らない より自由度の高い仕組み(汎用Web MVC )をglue に、それぞれの 得意を活かす rb な文脈なのでRails で進めるけどいわゆるWeb MVC なら通用する
  2. Headless CMS の考え方 コンテンツ管理とフロントの画面はユーザーも利用目的も違う → decoupled が重要なのでは? ↓ コンテンツ管理だけを担う仕組みがHeadless CMS

    フロントエンドの進化をCMS から独立して進めることができる 静的に出力すればパフォーマンス改善の選択肢も増える CMS がユーザーアクセスから分離されることで安全性も向上
  3. Headless CMS の例 サービスもOSS もある Contentful / CloudCannon / Prismic

    JekyllAdmin / NetlifyCMS microCMS / Kuroco collections
  4. 表に⾒える サイト 検索など システム HTML HTML 断⽚ Rails ユーザー Turbo

    Frame 必要なパーツのみ Turbo Frame で必要なコンテンツを取得(JSON→DOM 変換不要) セキュリティや保守はホスティングの力量に期待
  5. 表に⾒える サイト 検索など システム HTML HTML 断⽚ Rails ユーザー デザイナー

    エンジニア コンテンツ担当 Turbo Frame 必要なパーツのみ
  6. サイト Netlify (Jekyll など) Heroku (Rails) ユーザー 基本はこっち Netlify +

    Heroku インフラ管理ほぼ不要 ユーザーは(Heroku 一本よ り)低レイテンシで快適 monorepo で開発でき、内製 なら柔軟な対応が可能 Jekyll のページの増減、改修 はRails よりカジュアル wtnabe/example-rails-and- jekyll-monorepo
  7. サイト CMS Rails ユーザー 基本はこっち CMS + Rails 更新は更新担当だけで可能 CMS

    は制作会社で、仕組み は内製のパターンも可 Rails 側は前ページと一緒
  8. まとめ Rails (いわゆるWeb MVC )とCMS で得意領域が違う decoupled という考え方を踏襲しつつ、実現方法はHeadless CMS だ

    けとは限らない より自由度の高い仕組み(汎用Web MVC )をglue に、それぞれの 得意を活かす