Sì, puoi usare Ruby per le applicazioni desktop (se è una buona scelta è un'altra domanda e può dipendere dal progetto). Oltre a Ruby stesso avrai bisogno di una sorta di widget toolkit o framework applicativo che ti permetta di creare finestre e altri elementi della GUI per il sistema operativo sottostante.
Per Ruby esistono collegamenti a diversi toolkit come WxRuby a WxWidgets, FXRuby a FOX o QtRuby al framework Qt (e alcuni più simili a ruby-gnome, ruby-tk, shoesrb, ribalta, ruby visivo). Oppure puoi usare JRuby e quindi usare principalmente qualsiasi cosa disponibile per Java.
Quadri: ce ne sono molti, a volte molto diversi tra loro. Ma come regola generale sono una combinazione di librerie e regole e codici standard che semplificano un certo compito complesso. Questa attività potrebbe essere qualcosa come un sito Web o un'applicazione desktop.
Per iniziare con tale attività avrai bisogno di molte librerie per le attività sottostanti. Userai alcune librerie di database per interfacciare il database, alcune librerie gui per creare finestre, menu, pulsanti e altri widget. Ci sono molti modi per farlo e molti modelli di sviluppo opzionali. MVC (Model View Controller) è abbastanza di moda, specialmente nello sviluppo web con i suoi requisiti speciali.
Quindi parliamo di Rails di nuovo. Hai bisogno di un modello (database e regole aziendali), un controller (accetta la richiesta in arrivo, raccogli dati, elabora i dati e poi dì alla vista di rendere la pagina web della risposta) e la vista (in realtà genera l'html).
Molte librerie sono lì per aiutarti e ci sono molte decisioni su come organizzare le tue classi e la struttura dei file. Rails ti dà un sacco di valori predefiniti per ciò che funziona per molti progetti tipici.
Inoltre, il framework fornirà molte librerie a sé stanti che aiutano con l'attività specifica. Ad esempio, Rails rende molto facile la definizione di modelli, validazioni e relazioni tra modelli. Ha helpers per il routing, per i controller e nella parte view per la creazione di html, incluso javascript e integrando librerie aggiuntive e toolchain intere come la pipeline di asset (generazione di CSS da SASS, JavaScript da CoffeeScript, minimizzazione di JavaScript e altro ancora più noioso attività quotidiane in web dev).
Tutta la struttura del framework è una sorta di scaffolding del progetto che ti riempie del tuo codice. Se avvii un nuovo progetto Rails hai già una connessione al database e un rendering html di base dove altrimenti dovresti scrivere centinaia di righe di codice per iniziare.