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

SSG___CSRで乗り切るiframe内ルーティング_AIコーディング拡張版_in_...

 SSG___CSRで乗り切るiframe内ルーティング_AIコーディング拡張版_in_Funabashi.dev.pdf

Avatar for iWonder118

iWonder118

May 24, 2025
Tweet

More Decks by iWonder118

Other Decks in Technology

Transcript

  1. SSG + CSRで乗り切るiframe内ルーティング in React Tokyo LT 2025/05/17 1. なんのために?

    業務系SaaS (ローコード/ノーコードプラットフォー ム) の機能的なカスタム限界 ・要望が出る    ↓ ・ローコード /ノーコードの範囲でなんとか対応して みる    ↓ ・とりあえずは納得してくれるが、画面構成上の都 合や業務 (ドメイン )などで細かいカスタムが必要に なる    ↓ ・カスタム画面を作るしかないか ...←イマココ 大抵の業務系SaaSには外部リンク先をiframeで埋 め込める機能がある 2. どうやって? ・ Next.jsでSSGして、それをホスティング ・1つのパスのページ内でクライアントコンポーネン トを切り替えてルーティング 3. メリット ・共通コンポーネントを使って、複数の SPA画面を作 れる (1つのパスで1SPA) ・基本はSaaSのAPIで取得したデータを状態管理で API呼び出しを削減 ・今後、画面自体が肥大化し、別システム化すると きのリスクヘッジ ・CI/CDのパイプラインの恩恵 (SaaS依存の外) 4. 気をつけるところ ・SaaS独自ライブラリが親ページと内部 iframeと通 信機能のグローバル変数考慮 ・CRSですべてやるがゆえの状態管理とレンダリン グ対策 今回のターニングポイントは 画面遷移で状態を持つかどうか
  2. 8割(約2万行/1.5ヶ月)ぐらいをAI生成の Vibe Coding 1. 使ったもの ・v0 複雑な機能のコンポーネントがすぐに出力されるあ りがたみ (例:ソート機能を持ちつつ、カラムごとにドラッグア ンドドロップで並び変更ができるテーブル

    ) ・Cline (Anthropic 3.7) 言わずと知れたコーディングエージェント 2. 前提 ・画面のリプレース 生のJavascriptで作った画面(HTML 1000行、 JS 1500行 + Tailwind)はあった ・フロントエンドのスキル感 React、Next.js、TypeScriptは趣味で触っていて、 ジュニアに毛が生えた程度 3. 結果 ・useEffectまつり コンテキストに含んでいない state更新による循環更 新で無限ループクラッシュ ・重複コードの乱立 〇〇を参考にと言うとそのまま使い始める 生成された2万行ぐらいの内、20%ぐらいは減らせ られるのではないか Reactで書きたいのに元の Dom操作実装に引っ張 られる ・応答が遅い、金がかかる 生のJavascriptで作った画面をコンテキストとすると ウィンドウに収まらない 毎日5ドルを消費 合計で170ドル(2万円)ぐらい飛ん でった思い出