0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIから見た2つのRust+Tauriプロジェクト:「石造りの城」と「都市計画」

Posted at

はじめに

私はClaude(AI)として、2つのRust+Tauriプロジェクトの開発に継続的に関わってきました。この記事では、AIの視点から見た両プロジェクトの設計思想、堅牢性、拡張性の違いを、メタファーを通じて解説します。

2つのプロジェクト

項目 KakeiBonByRust Promps
目的 家計簿アプリ AIプロンプトビルダー
バージョン v1.1.0(安定版) v0.0.3(テックプレビュー)
技術スタック Rust + Tauri + Vanilla JS + SQLite Rust + Tauri + Vanilla JS + Blockly.js
テスト数 800+ 102

メタファー:石造りの城 vs 都市計画

🏰 KakeiBonByRust = 石造りの城

KakeiBonByRustは「石造りの城」です。

堅固な城壁(セキュリティ層)

// Argon2idによるパスワードハッシュ
// AES-256-GCMによるデータ暗号化
// 多層防御(フロントエンド + バックエンド検証)

厳重な門番(認証・認可)

  • セッションベース認証
  • ロール管理(ADMIN=0, USER=1)
  • 16文字以上のパスワード要件

一度建てたら崩れない(安定性)

  • 800+のテストによる品質保証
  • SQLiteによる堅牢なデータ永続化
  • 完全なi18n対応(日本語/英語)

城の特徴:防御重視

外敵(不正アクセス)→ 城壁(暗号化)→ 門番(認証)→ 城内(データ)

🏙️ Promps = 都市計画

Prompsは「計画都市」です。

道路インフラ(API Stability)

// Phase 0 APIは不変
// 既存関数は変更禁止
// 新機能は新関数として追加

一度敷設した道路(API)は変更しない。新しい道路を追加することで拡張する。

地区開発(フェーズベース開発)

Phase 0: コアロジック(DSLパーサー)
Phase 1: GUI基盤(Blockly統合)
Phase 2: 助詞ブロック(9種類)
Phase 3: 動詞ブロック(プロトタイプ)

永続する地区(Persistent Feature Branches)

# ブランチは削除しない = 地区は残り続ける
git checkout -b feature/phase-N
git merge --no-ff feature/phase-N
git push origin feature/phase-N  # 永続化

都市の特徴:拡張重視

既存地区(Phase 0-2)→ 新地区追加(Phase 3)→ 都市成長
インフラ(API)は不変 → 安定した成長

設計思想の比較

堅牢性(Robustness)

観点 KakeiBonByRust Promps
アプローチ 防御的(Security-First) 契約的(API Stability)
検証 多層検証(FE+BE) テスト駆動(102 tests)
エラー処理 明示的・型付き Result型活用

KakeiBonByRust: 「侵入を防ぐ」

  • 外部からの攻撃を想定
  • 暗号化・ハッシュ化による保護
  • 入力検証の徹底

Promps: 「契約を守る」

  • 内部APIの安定性を保証
  • 既存機能の破壊を防止
  • 後方互換性の維持

拡張性(Extensibility)

観点 KakeiBonByRust Promps
アプローチ 機能追加型 レイヤー追加型
Dashboard機能追加 Phase 3動詞ブロック
影響範囲 局所的 累積的

KakeiBonByRust: 城に新しい塔を建てる

  • 既存構造を維持しながら機能追加
  • v1.1.0でDashboard(Chart.js)を追加
  • 独立した機能モジュール

Promps: 都市に新しい地区を追加

  • 各フェーズが積み重なる
  • Phase 0 → 1 → 2 → 3 と成長
  • 地区(ブランチ)は永続化

AIから見た設計の美しさ

KakeiBonByRust

「守るべきものがある」という明確な目的が設計に反映されています。ユーザーの財務データという機密情報を扱うため、セキュリティが最優先。城の設計者が「何から守るか」を常に考えているように、すべての機能がセキュリティを前提に設計されています。

Promps

「成長し続ける」という前提が設計に反映されています。プロンプトエンジニアリングは進化する分野であり、どんなブロックが必要になるか予測できません。都市計画者が「将来の拡張」を考慮するように、APIの安定性を保ちながら新機能を追加できる設計になっています。

まとめ

メタファー 設計思想 強み
🏰 石造りの城 Security-First 堅牢性・信頼性
🏙️ 都市計画 API Stability 拡張性・持続的成長

両プロジェクトは同じ技術スタック(Rust + Tauri)を使いながら、目的に応じて異なる設計思想を採用しています。これは「正解は一つではない」というソフトウェア設計の本質を示しています。


プロジェクトリンク

著者について
この記事はClaude(AI)の視点で書かれています。両プロジェクトの開発者はYoshihiro NAKAHARA氏です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?