Question

Je travaille actuellement avec Groovy et Grails. Bien que Groovy soit assez simple puisqu'il s'agit essentiellement de Java, je ne peux pas dire que je grog Grails. J'ai lu que Groovy est à Grails comme Ruby à Ruby on Rails, mais qu'est-ce que cela signifie?

Était-ce utile?

La solution

Pour résoudre votre confusion avec la métaphore (bien qu’elle ait été répondue autrement sous votre question):

Groovy est à Grails comme Ruby est à Ruby on Rails, mais qu'est-ce que cela signifie?

Grails est un framework Web construit sur / avec le langage de programmation Groovy pour faire la même chose pour Groovy que Rails (un framework Web pour Ruby) le fait pour Ruby.

Que signifie "être sur des rails"?

La réponse à cette question se résume à l'essence de ces frameworks Web.

Ces frameworks Web (Grails & Rails) reposent sur le principe de "convention sur configuration", ce qui signifie que l'utilisation de conventions communes pour développer des applications Web peut entraîner une productivité accrue et des applications plus faciles à gérer (généralisation grossière). ). Et en définissant une convention et en vous y tenant, vous constaterez que vos applications sont faciles à générer et rapides à fonctionner.

C’est ce que cela signifie pour moi d’être "sur des rails", comme un train. Lorsqu'un nouveau circuit ferroviaire est développé, il n'est plus à craindre de réinventer la façon dont le train va se déplacer d'un endroit à un autre. Il a été résolu par une convention unique depuis des décennies: les rails. Tout comme les voies sur un itinéraire de train limitent son itinéraire depuis deux emplacements, les infrastructures Web basées sur des conventions utilisent des conventions pour offrir aux développeurs d’applications de la souplesse leur permettant de se concentrer sur le problème commercial essentiel de leur application.

L'un des principaux avantages d'une convention pour un framework Web est que celui-ci peut désormais présumer de la manière dont certaines couches de l'application s'articulent. Dans Rails, on peut généralement supposer que si la table de la base de données a un nom au pluriel, la classe ActiveRecord mappée sur cette table aura le nom au singulier correspondant. Par conséquent, les générateurs de code Rails peuvent utiliser les informations de mappage des données pour générer du code d'accès aux données, tels que des recherches dynamiques, des migrations, des traversées d'associations chargées paresseux, etc. Ce code d'accès aux données dans une infrastructure basée sur la configuration est laborieux à coder à la main. / p>

Autres conseils

Plusieurs personnes ont évoqué les aspects techniques de ce qui fait de Rails / Grails ce qu’ils sont. Plusieurs personnes ont également mentionné la "convention sur la configuration". comme étant les "rails" dans Rails / Grails. Cela se rapproche de la vérité. Cependant, il ne s’agit que d’une caractéristique de la philosophie plus large de Rails, à savoir le concept de logiciel conçu pour vous laisser entendre .

Un logiciel avec opinion ne peut être décrit uniquement en termes techniques; c'est une philosophie; un ethos; une attitude . Aimez-le ou le déteste , que est ce qui est au cœur de Rails.

Voici un extrait d'un article de 2005 interview de David Heinemeier Hansson , créateur de Rails:

  

Rails est un logiciel basé sur l'opinion. Il évite de placer les vieux idéaux du logiciel dans une position primordiale. L'un de ces idéaux est la flexibilité - l'idée selon laquelle nous devrions essayer de prendre en compte le plus grand nombre d'approches possible, et ne pas juger une forme de développement plutôt qu'une autre. Eh bien, c'est Rails, et je crois que c'est pourquoi cela fonctionne.

     

Avec Rails, vous négociez la flexibilité au niveau de l'infrastructure pour gagner de la flexibilité au niveau de l'application. Si vous êtes heureux de suivre la voie d'or que j'ai intégrée à Rails, vous obtenez une immense récompense en termes de productivité qui vous permet de faire plus, plus tôt et mieux au niveau de l'application.

Il existe également une interview ultérieure qui explore le sujet .

Ainsi, être «sur rails» est une métaphore pour «être avisé», raison pour laquelle il est nommé ainsi. Cela et le fait que "Ruby on Rails" est allitératve, ce que tout journaliste ou écrivain vous dira, est un moyen infaillible d’attirer l’attention des gens.

Je pense qu'un cadre qui s'efforce d'être "similaire à un rail" fait référence à plusieurs choses:

  • au niveau du modèle: un ORM à structure AR (plutôt que datamapper), des migrations ou un schéma automatisé et une gestion de couche modèle, la gestion des clés étrangères dans l'application (pas dans le schéma de base de données, et en n'utilisant pas de procédures stockées) ou pure logique SGBD)

  • TDD a encouragé: les squelettes générés automatiquement pour les tests unitaires,

  • conventions de dénomination reliant les noms de table de base de données et les noms de modèle, les actions de contrôleur et de vue et les modèles HTML

  • schéma de reconnaissance et de génération de route simplifié

  • accent mis sur l'architecture REST

  • intégration avec les bibliothèques ajax: RJS, prototype et scriptaculous

Rails est un cadre permettant de développer des applications Web avec une base de données. Je pense que le nom était à l'origine un jeu de mots. Un train peut vous emmener quelque part très rapidement, mais uniquement là où vont les rails.

Être sur des rails signifie que vous ne pouvez pas contrôler votre destination. Cela signifie que vous ne pouvez aller que là où les rails ont été posés. Toute tentative d'aller là où les personnes qui ont posé les rails ne vous attendaient pas irait à la frustration.

C'est une expression automobile. Quand un wagon se comporte exceptionnellement bien, on dit de "virage en coin, comme sur des rails". (c’est-à-dire qu’il vous donne un excellent contrôle).

Je ne sais pas si c'est là que les rails ont reçu ce nom, mais c'est ainsi que je l'ai interprété.

Réponse vraiment courte et simple: Convention sur la configuration.

Comme indiqué ci-dessus, Rails et Grails fournissent des conventions pour le développement d’applications Web: nommer vos éléments d’une certaine manière et les placer aux bons endroits permettent à votre application de fonctionner par défaut sans configuration supplémentaire. Lorsque vous souhaitez vous écarter de la convention, vous pouvez configurer votre chemin.

Ruby et Groovy sont des langues.

Ruby on Rails est un framework webapp révolutionnaire. Voir les excellentes réponses concernant les logiciels sur avis ci-dessus.

Par souci d’histoire, Groovy on Rails était un titre de travail pour un framework Groovy webapp. Cependant, la communauté RoR s'est opposée. L’équipe a choisi Grails à la place.

C'est une métaphore, et on m'a presque dit qu'il faut expliquer. Quoi qu'il en soit, c'est une très bonne métaphore de ce que fait Ruby on Rails. Il est extrêmement facile de faire (aller à) les choses communes, i. e. test, validation, déploiement, MVC.

Je ne suis pas d'accord avec les autres commentaires de "on rails est une philosophie sur la convention par rapport à la configuration". et ainsi de suite.

Bien que les rails adhèrent à ces philosophies, "Ruby on Rails". est le nom d'un framework web. Ni plus ni moins. Cela ne fait pas référence à un "on-railsness" spécifique à ce sujet, il est juste un nom de marque de la même manière que McDonald est un nom de marque.

Si quelqu'un d'autre écrit un autre framework et l'appelle "Python on Rails". alors il y aura un autre nom de marque. Sinon, "XYZ sur des rails". signifie simplement que les gens sont confus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top