本文へスキップ
Tech

Flatend:フロントエンドとバックエンドの境界をなくす新しい提案

Flatendは私が新しく提案する概念で、従来のフロントエンド/バックエンド分離の前提を超え、ひとつのモジュールグラフ上で関数・ビュー・ジョブ単位で実行する仕組みです。特にAIと組み合わせることで、さらに大きな可能性を持つと考えています。

· 10分

📌 一言まとめ

Flatendは私が新しく提案する概念で、従来のフロントエンド/バックエンド分離の前提を超え、ひとつのモジュールグラフ上で関数・ビュー・ジョブ単位で実行する仕組みです。特にAIと組み合わせることで、さらに大きな可能性を持つと考えています。


🤔 なぜフロントとバックを分け続けるのか?

私たちは長い間、こうやって開発してきました。

  • Frontend → UIやインタラクション担当
  • Backend → APIやDB担当

しかし最近、この分け方がむしろ不便になってきています。

  • クラウドやエッジコンピューティングの普及
  • サーバーレス環境の拡大
  • 小さなチームの素早い実験ニーズ
  • データ権限管理の複雑化

こうした状況を踏まえると、自然にこんな疑問が浮かびます。

👉 「もうフロントとバックを分ける必要はないのでは?」


🏗️ 私が提案する Flatend とは

そこで思いついたのが Flatend という概念です。

Flatendでは、アプリケーションを**関数(Function)・ビュー(View)・ジョブ(Job)**という単位で記述し、実行場所は place() と capability で宣言します。実際の配置はランタイムが自動的に判断するイメージです。

Flatendの原則

  • Capability First → 権限がなければビルド不可
  • Schema as Contract → データ契約はスキーマで管理
  • Data at the Edge → 必要なデータだけを最小権限で露出
  • Observability Built-in → 各実行単位に観測性を内蔵

まだ存在しない仕組みですが、こうした考え方がこれからの開発に新しい道を開くと信じています。


⚙️ ランタイムモデルとデータアクセス

Flatendのランタイムは、次の4つの層を前提とします。

  • ブラウザ
  • エッジ
  • サーバー
  • ワーカー

データアクセスも従来の無制限クエリではなく、ポリシーベースになります。

  • RLS(Row-Level Security)
  • safeView(読み取り専用ビュー)
  • Command(命令単位アクセス)

そして何より大事なのは、capability を宣言していないコードはビルドすら通らないこと。
これにより「フルスタック・スパゲッティ化」の懸念を防げると考えています。


🤖 FlatendとAIの理想的な組み合わせ

FlatendはGPTのようなAIと非常に相性が良いと思います。

  • 小さな関数単位 + 宣言的権限 → AIのオーケストレーションに適している
  • スキーマベース契約 → 幻覚を減らし、自動化を安全にする
  • place() → AIが状況に応じて実行場所(ブラウザ/サーバー/エッジ)を最適化できる

例えば、ユーザーが「ウォッチリストにテスラを追加して」と言えば、

LLM → addWatch() 関数呼び出し → DB更新 → ワーカージョブ実行

こうした流れが自然に実現できるのです。


👩‍💻 開発体験とチーム運営の変化

もしFlatendが実現したら、開発者とチームの働き方も変わるはずです。

  • DX: 1つのリポジトリでUI・ドメインロジック・ジョブ・AIを扱える
  • 協働構造: Frontend/Backend ではなく Usecase Owner を中心に協力
  • 運用: 関数/ジョブ単位でデプロイ、迅速なロールバック、観測性の自動化

特に小規模チームがSaaSを作るときに、爆発的な生産性を発揮できると考えます。


⚠️ 可能性と限界

もちろんこれはまだ提案段階のアイデアなので、課題もあります。

Flatendが有利なケース

  • スタートアップ、SaaS
  • 内部ツール、ダッシュボード
  • 協働ツール、実験的プロジェクト

注意すべき点

  • データ過露出のリスク
  • 長時間ジョブはエッジで実行できない
  • 特定モデル/プラットフォームへのロックイン
  • バンドル管理の負担

つまり「万能」ではありませんが、状況に合わせて使えば非常に強力だと思います。


🚀 今後の展望:提案の意味

私が提案する Flatend + AI の組み合わせは、最終的にこういうビジョンにたどり着きます。

👉 「開発者は関数とポリシーを定義するだけでよい。あとはランタイムとAIが自動的にオーケストレーションする。」

まだ私の頭の中の提案にすぎませんが、いつかこうしたパラダイムが現実化すると信じています。

最後にみなさんに問いかけたいです。

  • あなたのチームでは、フロント/バックの境界は今も有効ですか?
  • もしAIが実行場所まで自動的に決めてくれるとしたら、どう活用しますか?

👉 CTA: 「Flatendという発想を、まずは小さなプロジェクトで試してみませんか?」

0コメント
10分