14 ポイント 投稿者 GN⁺ 19 일 전 | 2件のコメント | WhatsAppで共有
  • バイブコーディングで作ったアプリに リアルタイム同期、オフラインモード、認証、ファイルストレージ をまとめて追加できるオープンソースのバックエンド
  • バックエンド生成はVMの起動ではなく DB行の追加 なので、数ミリ秒でバックエンドが作成され、使わなければコストはゼロ
  • フロントエンドでは db.useQuerydb.transact だけで リレーショナルクエリとデータ変更 をそのまま処理でき、別途APIサーバーを構築する必要なし
  • 楽観的アップデート が標準なので、ネットワークが遅くてもUIが即座に反応し、失敗時は自動でロールバック
  • ファイルアップロードもDB行として管理されるため、投稿を削除すると 添付ファイルもCASCADE削除 — S3同期コードを書く必要なし
  • Magic Code、OAuth、Guest Auth などの認証方式を選んで使え、Presenceで「誰が接続中か」もすぐに実装可能
  • AIエージェントが API/CLIで直接アプリ作成、スキーマ変更、権限設定 まで実行できるため、プロンプトだけでフルスタックアプリのデプロイまでつなげられる
  • npx create-instant-app の1行で NextJS、Bun、Vite など好みの環境に即座にプロジェクトを作成
  • クエリ言語 InstaQL はJavaScriptオブジェクト構文をそのまま使えるため、GraphQLのようなビルド段階やコード生成なしで動的クエリが可能
  • 4年かけて開発された Postgresベースのマルチテナント構成 により、数千のアプリを単一インスタンスで運用し、GitHubで全体をオープンソース公開

2件のコメント

 
GN⁺ 19 일 전
Hacker Newsのコメント
  • 正直な疑問なんだけど、なぜvibe codedアプリにフレームワークが必要なのかわからない
    コーディングエージェントに、フロントエンドはHTML5/Vanilla JS/CSS、バックエンドは好きな言語で書けと指示すればいいだけでは
    何百もの依存関係も不要だし、デプロイもエージェントに任せれば終わり

    • 実際にそうしてみたけど、今のLLMはフレームワーク上で作業させたほうがずっと効率がよかった
      コードが増えるほどコストだけでなく性能も落ちるし、バグや不要な抽象化も増える
      結局は良いフレームワークを自分で作らせようとして時間を無駄にすることになる
      むしろ学習データに含まれている既存フレームワークを使うほうがいいと思う
      今のモデルでは、ランディングページを超える規模にはおすすめしない
    • 冗談に聞こえるかもしれないけど、ではなぜアセンブリ言語でコーディングしないのかというのと同じ理由
      良い抽象化は可読性と保守性を高めるし、純粋なHTML/CSS/JSはすでに主流ではない
      人間が理解して検証できる必要があり、車輪の再発明でトークンと時間を浪費することになる
      LLMも人間のように複雑なスパゲッティコードにはまり込むことがある
    • 理由はいくつかある
      1. 無制限プロジェクト: 従来のVMベースのバックエンドは高コストだが、Instantは無制限に作成できる
      2. ユーザー体験: マルチプレイヤー、オフラインモード、楽観的更新のような機能を簡単に実装できる
      3. 豊富な機能: ファイル保存、カーソル共有、トークンストリーミングなども組み込まれている
        例として、ボタンをクリックするだけでバックエンドを作成し、25行のコードでリアルタイムtodoアプリを完成できる
    • フレームワークを使えば、最初の1万行以上のスキャフォールディングコードをトークンコスト0で手に入れるようなもの
      すぐにビジネスロジックに移れて、すでに検証済みのパターンとツールの中で作業できる
      エンタープライズソフトウェアは依然として大規模なコードベースを必要とするので、フレームワークの価値は大きい
      数多くのエッジケースをすでに解決済みの実戦投入済みソリューションを提供してくれる
    • 単純な話。管理すべき範囲を減らし、その責任をフレームワークに渡すということ
      良いフレームワークを選べば、何千もの意思決定と保守の負担を減らせる
      フレームワークは結局、スケーラビリティのために存在する
  • そもそも人々が本当にこういうものを必要としているのか気になる
    FigmaやLinearのようなマルチプレイヤーアプリを作る人がどれだけいるだろう?
    ほとんどはCRUDアプリだろうし、わざわざ独自技術に縛られる理由があるのかなと思う

    • 興味深いのは、マルチプレイヤーアプリを作るのが簡単になれば、そういうアプリがもっと増えるはずだということ
      たとえばLinearはマルチプレイヤーだけど、他のCRUDアプリがそうでない理由はよくわからない
      抽象化がうまくできていれば、同期エンジンベースのアプリのほうがむしろ簡単に作れる
      Linearチームもこのツイートでそう述べていた
    • ちなみにInstantは100%オープンソース
      GitHubリポジトリ
    • 同感。最近はほとんどのコードをLLMが書くので、複雑な技術は必要ない
      CRUDアプリは単純で反復的だから、AIにぴったり
      バックエンドはGoバイナリ、フロントはReactで、99.9%のケースをカバーできる
      月5ドルのノードでも10万MAUを余裕でさばける
  • 個人プロジェクト用には完璧なツールに見える
    ただ、「エージェント」の部分がもう少しシームレスに統合されるといいと思う
    自分のコーディングエージェントがこれをどう扱うのか知る方法はある?
    ブログに関連スキルへのリンクを追加するとよさそう

    • いい提案だと思う。エッセイをすぐ更新した
      PRリンク
    • すでにスキルはある
      npx skills add instantdb/skills コマンドで追加できる
      bunx/pnpx/npx create-instant-app でのプロジェクトスキャフォールディングもおすすめ
  • リリースおめでとう! InstantDBは使った中でいちばん楽しいツールだった
    小さなおもちゃプロジェクトでしか試していないけど、この分野では最もシンプルで直感的
    ただ、コア製品がかなり良いだけに、AIの強調が少し不自然にも感じられる
    最近は資金調達のためにそういうポジショニングが必要なのかなと思ってしまう

    • ありがとう!
      2024年8月にオープンソース化して以来、Webサイトは更新していなかった
      当時の投稿以降、AIでアプリを作るユーザーが急増した
      そのためメッセージングを刷新し、エージェント体験をより楽しくするために投資した
    • ありがとう。AIの強調はマーケティングではなく、実際のユーザー行動に基づいている
      ほとんどのユーザーがAIでコーディングしているので、それに合わせて最適化した
  • 誤解しているのかもしれないけど、なぜ「AI-coded」なのか気になる
    シンプルなバックエンドを探している立場からすると素晴らしい選択肢に見えるが
    他のバックエンドと比べて何がAI中心なのかがよくわからない
    それとTS中心に見えるけど、モバイルネイティブバインディングの計画もあるのか気になる

  • 本当に素晴らしいデモだった。AI連携のアイデアはすばらしいが、説明が足りない
    チュートリアルを見たが、SaaSアカウント作成中心だった
    Triples、Datalog、ClojureのようなリアクティブアプリのパターンがInstantにはうまく溶け込んでいる
    個人的にClojureは難しく、Datalogもなじみが薄かったが、Instantの抽象化はとても歓迎できる
    InstantQL-Datalog変換器が別コンポーネントとして提供されたら本当に便利だと思う
    バックエンドがClojureベースなのでPostgresを選んでいるのは理解できるが、ローカルデプロイではSQLiteのほうが簡単かもしれない

  • リレーショナルクエリ + リアルタイム」を実際に実装した点は印象的
    ただ、コンソールUIはインフラやWebサイトほどには手が入っていない感じがする
    1.0リリースおめでとう、これからもInstantで作り続けるつもり

    • ありがとう!
      ホームページのデモ、エッセイ、ドキュメントをかなり改善した
      ダッシュボードは数週間以内にリデザインする予定
      興味深いことに、AIエージェントがアプリを作ってスキーマを変更しても
      ユーザーはExplorerコンポーネントを使ってデータを直接探索することをより好む
  • ドキュメントでrate limitingに関する記述が見つからない。存在するのか気になる

  • Pocketbaseを使ったことがあるが、Instantも似た用途で良さそう
    ただPocketbaseはサーバー拡張性が強みだった
    JSやGoでフックを書いて、プッシュ通知のような機能を追加できた
    InstantDBでもこうしたことが可能なのか、それとも別のワーカーを作る必要があるのか気になる
    それとDart SDKの計画もあるのか知りたい

    • サーバーでdb.subscribeQueryを使って変更に反応できる
      webhook機能もまもなく追加予定で、他言語向けSDKも長期的にはサポートする計画
  • 事前定義されたパターンがトークンコストを下げる」という見方には共感する
    自分たちもempla.ioを作るときに似た経験をした
    バックエンドの判断をエージェントに任せると、トークン使用量が3〜4倍に増える
    宣言的クエリ言語は人間よりもAIに大きな効率をもたらす
    気になる点は2つある

    1. エージェントがセッションの途中で新しい関係を追加するとき、スキーマ進化をどう処理するのか
    2. セッションごとのコスト予算管理機能が組み込まれているのか、それともユーザーが自分で実装する必要があるのか
 
picopress 18 일 전

バイブコーディングしたものまで宣伝するんですか