2025年2月25日(火)に、 Hatena Engineer Seminar #32 をオンライン開催しました。ご参加いただいたみなさま、ありがとうございました。
このエントリーでは、当日のアーカイブ動画や公開資料をご紹介します。
Hatena Engineer Seminar #32 について
Hatena Engineer Seminar は、はてなのサービスを開発する上で、エンジニアがどのような事を考えているのか、どのような働き方をしているのかを語るイベントです。
#32 では、はてなブログチームのエンジニア3名が登壇し、2025年2月3日にリリースされた「はてなCMS」の開発について発表しました。
「はてなCMS」では、はてながこれまで提供してきたオウンドメディアCMS「はてなブログMedia」の各種機能に加え、ノーコードで手軽にWebサイトを制作できる機能を新たに実装し提供しています。
- 参考:2025-02-03 はてなプレスリリース
「はてなCMS」の開発にあたっては、これまでのブログ基盤にそのまま機能を追加するのではなく、Next.js App Routerを採用した新基盤に機能を実装していく意思決定を行いました。
どうしてそのような判断を行ったのか、新基盤を既存システムと共存させるにはどうしたら良いか、App RouterやReact Server Componentといった新しい技術をどのように活用していくか、開発を通じて様々な経験と知見を獲得することができました。本イベントではその中でも選りすぐりの話題をご紹介しました。
イベントの内容は、配信のアーカイブ動画もYouTubeでご覧いただけます。動画の概要や以下の説明で、各トークの開始時間にもリンクしていますのでご利用ください。
発表概要と資料
はてなCMSのアーキテクチャ; 巨大な既存システムと共存して最新技術を取り入れる
(
id:nanimono_demonai)
はてなCMSは、はてなブログと共存しています。複雑かつ歴史のあるプロダクトのはてなブログを壊さずに、最新技術を取り入れてはてなCMSを開発した方法とそのアーキテクチャを紹介します。Perlで作られたページからNext.jsで作られたページへのシームレスな移行、既存のプロダクトと認証認可を連携させる方法について、なぜこの選択をしたのか、どのように開発したのかをお話しします。
発表資料を以下で公開しています。
配信アーカイブの該当部分は、1分14秒からです。
【詳説】コンテンツ配信システムの複数機能基盤への拡張
(
id:nanto_vi)
はてなCMSで新規に作ったページでも、配信は従来のはてなブログMediaと同じドメインから行われます。従来のアプリケーション基盤を通して配信するのはなぜなのか、どういうデータフローで配信を実現させたのか、ページ編集中のプレビューやページの公開後といった状況による違いも踏まえて解説します。
発表資料を以下で公開しています。
配信アーカイブの該当部分は、22分12秒からです。
React Server Componentで生のHTMLを扱う技術
(
id:nakataki)
はてなCMSはノーコードエディタが出力するHTML・CSSをReact Server Componentsでレンダリングしています。また、ユーザーが自由にHTML・CSSを記述する機能も備えています。Next.js App Router上において、ノーコードで作ったコンテンツをServer-Side Renderingしてパフォーマンスを確保することと、ユーザがHTMLやscriptタグを自由度高く埋め込めることを両立するために、どのような工夫を行ったのか解説します。
発表資料を以下で公開しています。
配信アーカイブの該当部分は、38分59秒からです。