2008-10-08 29 views

Respuesta

38

Para resolver su confusión con la metáfora (aunque se ha respondido en otras palabras, bajo yo tu pregunta):

Groovy es para Grails como Ruby para Ruby on Rails, pero ¿qué significa eso?

Grails fue un framework web construido en/con el lenguaje de programación Groovy para hacer lo mismo con Groovy que Rails (un framework web para Ruby) para Ruby.


¿Qué significa "on rails"?

La respuesta a esto se reduce a la esencia de estos marcos web.

Estos frameworks web (Grails & Rails) se basan en la premisa de "convención sobre configuración", lo que significa que utilizar convenciones comunes para desarrollar aplicaciones web puede conducir a una mayor productividad y aplicaciones más sostenibles (esto es una generalización general) .Y al definir una convención y atenerse a ella, descubrirá que sus aplicaciones son fáciles de generar y rápidas de poner en funcionamiento.

Esto es lo que significa para mí ser "sobre raíles", al igual que un tren. Cuando se desarrolla una nueva ruta ferroviaria no hay que preocuparse por reinventar la forma en que el tren va a llegar de un lugar a otro, sino que ha sido resuelta por una sola convención durante décadas: los rieles. Así como las pistas en una ruta de tren limitan su camino desde dos ubicaciones, los marcos web basados ​​en convenciones utilizan convenciones para la flexibilidad de los desarrolladores de aplicaciones, de modo que puedan concentrarse en cuál es el problema comercial esencial de su aplicación.

Un beneficio clave de una convención para un framework de desarrollo web es que el marco web ahora puede hacer suposiciones sobre cómo ciertas capas de la aplicación de gancho juntos. En Rails, generalmente se puede suponer que si la tabla de la base de datos tiene un nombre plural, la clase ActiveRecord asignada a esa tabla tendrá el nombre singular correspondiente. En consecuencia, rieles de generadores de código pueden consumir la información de mapeo de datos para generar el código de acceso a datos tales como buscadores dinámicos, migraciones, recorridos de asociación-perezosos cargado, etc. Este código de acceso a datos en un marco basado en configuración es laborioso a código a mano.

7

Rails es un marco para el desarrollo de aplicaciones web con un back-end de base de datos. Creo que el nombre originalmente era un juego de palabras. Un tren puede llevarte a algún lugar realmente rápido, pero solo donde van los rieles.

1

Es una expresión automotriz. Cuando un automóvil maneja excepcionalmente bien, se dice que es "una esquina como conducir sobre rieles" (es decir, le brinda un excelente control).

No sé si es ahí donde los rieles tienen ese nombre, pero así es como lo interpreté.

0

Es una metáfora, y casi me dicen que necesita explicaciones. De todos modos, es una metáfora extremadamente buena de lo que hace Ruby on Rails. Hace que sea extremadamente fácil hacer (ir a) lo común, i. mi. prueba, validación, implementación, MVC.

8

creo un marco que se esfuerza por ser "carriles-como" se refiere a varias cosas:

  • modelo de nivel: un ORM AR-modelado (en lugar de DataMapper), las migraciones o algún esquema automatizado y gestión de modelos-capa, la manipulación claves externas en la aplicación (no en el esquema de base de datos, y también no utilizar procedimientos almacenados o lógica DBMS puro)

  • TDD alentado: esqueletos genera automáticamente para unidad de pruebas,

  • convenciones de nomenclatura que conecta los nombres de tabla de base de datos y nombres de modelo, controlador y ver las acciones y plantillas HTML

  • reconocimiento de ruta optimizada y esquema de generación de ruta

  • énfasis en la arquitectura REST integración

  • con libs ajax: RJS , prototipo y scriptaculous

1

realmente corto y simple respuesta: convención sobre configuración.

+0

agradable, corto y dulce, mi respuesta puede caer dentro de la categoría de circunloquio ... – codeLes

1

Como se ha dicho anteriormente, rieles y Grails proporcionan las convenciones para el desarrollo de aplicaciones web - nombrar sus piezas de cierta manera y ponerlos en los lugares correctos obtener su solicitud de trabajo por defecto sin necesidad de configuración adicional. Cuando desee desviarse de la convención, puede configurar su camino hasta allí.

14

Varias personas han mencionado los aspectos técnicos de lo que hace que los carriles/Grails lo que son. Varias personas también han mencionado "convención sobre configuración" como los "rieles" en Rails/Grails. Esto se está acercando a la verdad. Pero esto es sólo una característica de la philisophy más amplio de rieles, que es el concepto de opinionated software.

software Opinionated no se puede describir en términos técnicos sólo; es una filosofía; un ethos; an attitude. Nos guste o hate it, que es lo que está en el corazón de los carriles.

He aquí un exceprt de un interview with David Heinemeier Hansson 2005, creador de Rails: software de

Rails es pertinaz. Evita ubicar los viejos ideales del software en una posición primaria. Uno de esos ideales es la flexibilidad: la idea de que debemos tratar de acomodar tantos enfoques como sea posible, que no debemos juzgar una forma de desarrollo sobre otra. Bueno, Rails lo hace, y creo que es por eso que funciona.

con rieles, que el comercio flexibilidad a nivel de infraestructura para ganar flexibilidad a nivel de aplicación. Si usted está dispuesto a trabajar a lo largo del camino de oro que he incrustado en rieles, se obtiene una inmensa recompensa en términos de productividad que le permite hacer más, más rápido y mejor a nivel de aplicación.

También hay una entrevista posterior que además explores the subject.

Así que ser 'sobre raíles' es una metáfora de ser 'dogmático', razón por la cual se nombra como es. Eso y el hecho de que "Ruby on Rails" es una palabra única, que cualquier periodista o escritor te dirá, es una forma segura de atraer la atención de las personas.

0

No estoy de acuerdo con los otros comentarios de "on rails es una filosofía sobre la convención sobre la configuración" y así sucesivamente.

Mientras que los rieles se adhieren a esas filosofías, "Ruby on Rails" es el nombre de un marco web. Nada más y nada menos. No se refiere a ningún "inconveniente" específico al respecto, es solo una marca de la misma manera que McDonald's es una marca.

Si alguien más escribe otro framework y lo llama "Python on Rails", habrá otra marca. Si no, "XYZ on rails" solo significa que la gente está confundida.

4

Estar en los rieles significa que no puede controlar hacia dónde se dirige. Significa que solo puedes ir donde se han colocado los rieles. Cualquier intento de ir a donde la gente que colocó los rieles no anticipó que usted vaya llevará a la frustración.

+1

+1 He he he :-) Aunque no estoy del todo seguro de que estoy de acuerdo contigo, es una respuesta divertida y acerta a el debate más acalorado en la comunidad de Rails. –

1

Ruby y Groovy son idiomas.

Ruby on Rails es un innovador framework de aplicaciones web. Vea respuestas excelentes sobre el software obstinado anterior.

Como cuestión de historia, un título de trabajo para un framework de webapp Groovy era Groovy on Rails. Sin embargo, la comunidad RoR se opuso. El equipo eligió Grails en su lugar.

Cuestiones relacionadas