Skip to content
fandhe-frontendcore v0.4.3
GitHub
fandhe-frontend-cli v0.5.2

既定で安全な、Rust 製フロントエンドフレームワーク

fandhe-frontend は Rust 製のフロントエンドフレームワークです。AI 時代のセキュリティリスク低減を目的に、テキスト補間の既定エスケープ・unsafe の排除(core / interactive は forbid(unsafe_code))・依存クレート数の上限管理を製品仕様として固定しています。プレーンな HTML / JavaScript / CSS を尊重しながら、SSR・SPA・SSG・ビュー遷移といったモダンな機能を単一のフレームワークで網羅し、単一実行ファイルでのデプロイ(Docker 想定)まで見据えています。

cargo install fandhe-frontend-cli

特徴

  • 既定エスケープ

    テキスト補間は必ずエスケープを経由し、迂回は raw_html() 等の明示的なオプトイン API のみに限定

  • unsafe の排除

    描画コア・状態管理コアは #![forbid(unsafe_code)] で unsafe を一切使用しない

  • 依存最小

    標準サーバー構成で依存パッケージ 60 件以内・深さ 6 以内に収め、サプライチェーンの脅威面を抑制

  • プレーン HTML/JS/CSS の尊重

    既存の静的ページへの部分埋め込みからフル機能構成までグラデーションを持つ

  • SSR/SPA/SSG/ビュー遷移を網羅

    モードを問わず同じコンポーネント実装を再利用できる

はじめる

目的に応じて、以下の 3 つの入口から進んでください。

  • Getting Started

    fw new でのプロジェクト作成からビルド・ブラウザ確認までを最短経路でたどる入門ガイドです。

  • Guides

    コンポーネントの作成方法・既存ページへの部分埋め込み・ビュー遷移など、目的別の実践ガイド群です。

  • API Reference

    コンポーネント API・ハイドレーション API など、公開 API の仕様リファレンスです。

部品ギャラリー

3 層の UI 部品とワイヤーフレームを、動くデモ付きで確認できます。

  • Primitives

    anatomy・WAI-ARIA・data 属性だけを持つ headless UI 部品です。

  • Themes

    Primitives の上に recipe を載せたスタイル済み部品です。

  • Blocks

    既存部品を合成した画面単位の例です。

  • Wireframes

    ローファイ・モノクロの SSR 専用ワイヤーフレーム部品です。

数字で見る fandhe-frontend

  • Primitives の部品数
    75件
  • Themes の部品数
    123件
  • Blocks の部品数
    329件
  • Wireframes の部品数
    49件
  • 依存パッケージ数の上限
    60件標準サーバー構成
  • 依存の深さの上限
    6段標準サーバー構成

最小の SSR

ノード木 API だけで HTML 文書を組み立てます。補間する値は既定でエスケープされます。

Rust
use fandhe_frontend_app::page_shell;
use fandhe_frontend_core::{el, p, text};

/// リクエストごとに HTML 文書全体を組み立てて返す(SSR)。
/// `name` に何が来ても `text()` が既定でエスケープする。
pub fn hello_page(name: &str) -> String {
    let greeting = p(vec![], vec![text(format!("Hello, {name}!"))]);
    page_shell("Hello", el("main", vec![], vec![greeting]))
}

完全なサンプル(ssr-routing)

はじめましょう

数分で最初のページを描画できます。