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

HRC_Frontend_Conference_Fukuoka_2026.pdf

 HRC_Frontend_Conference_Fukuoka_2026.pdf

Avatar for takanori sugawara

takanori sugawara

September 12, 2026

More Decks by takanori sugawara

Other Decks in Technology

Transcript

  1. 一つの型に、26種類のBox 既存の型定義(抜粋) interface StudioDom { type?: StudioDomType content?: StudioDomContent style?:

    StudioDomStyle state?: StudioDomState action?: StudioDomAction children?: StudioDom[] // ... } 正しい組み合わせは、型から分からない。 37 第2章|既存仕様の考古学 種類・スタイル・状態・挙動
  2. 共通スタイルを持ち、colorだけを渡す。 Editorで、見出しの色をバインディング masterの共通スタイル .article-title { font-weight: 700; color: var(--title-color); }

    親インスタンスの差分 <div style="--title-color: #AC2E2E"> <h2 class="article-title">記事A</h2> </div> CSS変数は、子孫要素にも伝わる。 44 第3章|スタイル
  3. 追加した要素も、同じCSSで表示できる 読み込み済みのHTML <style> .article-title { font-weight: 700; color: var(--title-color); }

    </style> <div style="--title-color: #AC2E2E"> <h2 class="article-title">記事A</h2> </div> 親に渡したCSS変数を、追加した子孫要素も参照できる。 46 第3章|スタイル + 新しいインスタンス <div style="--title-color: #2459A6"> <h2 class="article-title"> 記事B </h2> </div>
  4. Vue.jsの内部処理順にまで踏み込む 独自DSL 独自DSL Vue.js ブラウザのイベント carousel-renderer DOM computed 要素 条件式

    DSL由来の関数 ライフサイクル 評価結果を受け取る 初期化 関数定義 inlineStyle 条件判定 依存する値 状態 関数呼び出し transition スタイル更新 条件判定 値の参照 ユーザー定義変数 ユーザー定義の値 トリガー処理 評価結果 更新処理 データ トリガー ユーザー定義の値 別の値を参照 描画処理 独自パーサー 表示状態 タイミング調整 再評価 次の更新 生成された関数 要素の入れ替え 処理を再開 値の受け渡し 要素の制御 処理順が1つでも狂うと、既存の動作とズレる。 51 タイマー・同期 第4章|試行錯誤・カルーセル 処理を予約 setTimeout 待機 処理を再開 要素を入れ替える 次の処理へ
  5. 248,725 開発の節目とコード総量 各月末の総行数 行 · 2026/6/12 リリース時点 千行 300 1

    9 3 8 200 2 4 7 5 6 100 1 2 3 4 6 5 7 8 0 2024/3 2024/9 2025/3 2025/9 実装・テスト・開発ツール。依存コード・データ・生成物を除外。 第5章|開発の思い出と成果 59 2026/3 6/12 9 2024.08.16 型と生成処理を再編 2025.01頃 Clineを使い始める 2025.03頃 Claude Codeを使い始める 2025.07.03 カルーセルを再設計 2025.09.22 生成とサーバーを分離 2025.11頃 バグ修正にラストスパート 2026.02.25 RSSをIsland化 2026.04.22 取得とHTML構築を分離 2026.06.12 リリース 2・3・6は本人の回想