Il me semble que Rails brille lors de la construction d'applications Web telles que l'application de magasin en ligne Depot présentée dans le Agile book ou le système de gestion de projet Basecamp. Le point crucial de ces applications est leur interface web, et Rails vous donne les outils pour créer ces webapps rapidement, facilement et élégamment.Rails peut-il être utilisé avec une application non centrée sur le Web?
Mais qu'en est-il si vous avez une application avec une interface de ligne de commande pour laquelle vous souhaitez ajouter un frontal? Par exemple, imaginez une application qui traite des fichiers EDI tiers: elle les récupère d'un serveur FTP, les analyse, insère les données dans une base de données et envoie des rapports par e-mail. Le calendrier de lancement de l'application, les rapports qui doivent être générés, qui doit recevoir l'e-mail, etc. sont tous configurés dans une base de données. Et bien que le point principal de l'application soit le traitement des fichiers EDI et que vous souhaitiez l'exécuter via cron, vous souhaitez créer une page Web pour permettre aux utilisateurs de gérer les rapports qu'ils reçoivent, la fréquence à laquelle ils les reçoivent,
L'application de ligne de commande et la page Web doivent toutes deux accéder aux mêmes données dans la base de données. Ils devraient être capables de partager des modèles et une logique métier. Si l'application de ligne de commande contient déjà une bibliothèque avec une couche d'accès aux données, existe-t-il un moyen de tirer parti de cette bibliothèque dans Rails? Ou, inversement, existe-t-il un moyen de réutiliser les modèles et les contrôleurs de Rails dans une application externe? Ou est-ce que cela n'a pas de sens d'utiliser Rails comme framework Web dans ce scénario?