Quando il frontend è separato (React, un'app mobile), non ti serve tutto lo strato delle view. Rails offre la modalità API-only.

rails new launch-tracker-api --api

Il controller risponde in JSON invece di renderizzare HTML:

class LaunchesController < ApplicationController
  def index
    launches = Launch.upcoming.limit(20)
    render json: launches
  end

  def show
    render json: Launch.find(params[:id])
  end
end

Rispetto a un'app classica, la modalità --api rimuove middleware inutili (cookie, sessioni, view) e alleggerisce lo stack. Ottieni un backend snello che espone dati, perfetto da consumare con fetch da un frontend separato.

È esattamente l'architettura dietro un progetto come Launch Tracker: Rails serve i dati, il frontend li disegna.