Pergunta

Atualmente estou trabalhando com Groovy e Grails. Enquanto Groovy é bem simples já que é basicamente Java, eu não posso dizer que Grokar Grails. Eu li que Groovy é Grails como Ruby é para Ruby on Rails, mas o que isso significa?

Foi útil?

Solução

Para resolver a sua confusão com a metáfora (embora tenha sido respondida em outras palavras, sob a sua pergunta):

Groovy é Grails como Ruby é para Ruby on Rails, mas o que isso significa?

Grails foi um framework web construída em / com a linguagem de programação Groovy para fazer a mesma coisa para Groovy que Rails (um framework web para Ruby) faz para Ruby.


O que significa ser "nos trilhos"?

A resposta a esta se resume a essência desses frameworks web.

Estas frameworks web (Grails & Rails) são construídas sobre a premissa de "convenção sobre configuração", que significa que o uso de convenções comuns para desenvolver aplicações web podem levar a uma maior produtividade e aplicações mais sustentáveis ??(esta é uma generalização grosseira). E definindo uma convenção e aderindo a que você vai achar que suas aplicações são fáceis de gerar e rápido para se levantar e correr.

Isto é o que isso significa para mim estar "nos trilhos", assim como um trem. Quando uma nova rota de trem é desenvolvido há nenhuma preocupação sobre a reinventar a forma como o trem vai começar a partir de um lugar para outro, tem sido resolvido por um único convenção por décadas: Trilhos. Assim como as faixas de um trajeto de trem restringir seu caminho de dois locais, frameworks web baseada em convenções usar convenções para a flexibilidade de desenvolvedores de aplicativos para que eles possam se concentrar no que o problema essencial do negócio da sua aplicação.

Um dos principais benefícios de uma convenção para um framework web é que o framework web podem agora fazer suposições sobre como certas camadas do gancho aplicação juntos. No Rails, pode-se geralmente assumem que se a tabela de banco de dados de um tem um nome plural, a classe ActiveRecord mapeados para que a tabela terá o nome singular correspondente. Por conseguinte, os geradores de código trilhos podem consumir a informação de dados de mapeamento para gerar o código de acesso de dados, tais como localizadores dinâmicos, migrações traversais associação preguiçoso-carregados, etc. Este código de acesso a dados numa estrutura à base de configuração é trabalhoso código à mão.

Outras dicas

Várias pessoas mencionaram os aspectos técnicos do que faz Rails / Grails o que são. Muitas pessoas têm também mencionou "Convenção sobre configuração" como sendo os "rails" em Rails / Grails. Isso está ficando mais perto da verdade. Mas esta é apenas uma característica do philisophy mais amplo de Rails, que é o conceito de opinativo software .

software opinativo não pode ser descrita em termos única técnicas; É uma filosofia; um etos; uma atitude . Goste ou odeio , que é o que está no coração do Rails.

Aqui está um exceprt de um entrevista com David Heinemeier Hansson , criador do Rails:

Rails é software opinativo. Ele evita colocar os velhos ideais de software em uma posição primária. Um desses ideais é a flexibilidade, a noção de que devemos tentar acomodar muitas abordagens possíveis, que não devemos julgar uma forma de desenvolvimento em detrimento de outro. Bem, Rails faz, e eu acredito que é por isso que ele funciona.

Com Rails, você troca flexibilidade ao nível da infra-estrutura para ganhar flexibilidade ao nível da aplicação. Se você está feliz com o trabalho ao longo do caminho dourado que eu já embutido no Rails, você ganha uma recompensa imensa em termos de produtividade que lhe permite fazer mais, mais cedo, e melhor ao nível da aplicação.

Há também uma entrevista posterior que ainda explora o tema .

Assim sendo 'nos trilhos' é uma metáfora para ser 'teimoso', que é por isso que é chamado como ela é. Isso eo fato de que "Ruby on Rails" é alliteratve, que qualquer jornalista ou escritor irá dizer-lhe, é uma maneira infalível de enganchar a atenção das pessoas.

Eu acho que uma estrutura que se esforça para ser "rails-like" refere-se a várias coisas:

  • modelo de nível: um ORM modelado-AR (em vez de DataMapper), migrações ou alguns gestão esquema e modelo de camada automatizado, manuseamento chaves estrangeiras na aplicação (não no esquema base de dados, e também não usando procedimentos armazenados ou lógica DBMS pura)

  • TDD encorajados: esqueletos gerados automaticamente para instalações de testes,

  • convenções de nomenclatura que ligam os nomes de tabela de banco de dados e nomes de modelos, ações do controlador e vista e HTML templates

  • simplificado de reconhecimento de rota e esquema de geração de rota

  • ênfase na arquitetura DESCANSO

  • integração com o Ajax libs: RJS, protótipo e scriptaculous

Rails é um framework para desenvolvimento de aplicações web com um back-end de banco de dados. Eu acho que o nome originalmente era um jogo de palavras. Um trem pode levá-lo em algum lugar realmente rápido, mas apenas quando os trilhos ir.

Ser on Rails significa que você não pode controlar onde você está indo. Isso significa, você só pode ir para onde os trilhos foram estabelecidas. Qualquer tentativa de ir onde as pessoas que colocaram os trilhos não antecipou que você vá vai levar à frustração.

É uma expressão automóvel. Quando um carro alças excepcionalmente bem, é dito que "canto como dirigir sobre trilhos" (ou seja, ele lhe dá um excelente controle).

Eu não sei se isso é onde os trilhos pessoas tem esse nome, mas isso é como eu interpretei.

Realmente curto e simples resposta:. Convenção sobre configuração

Como dito acima, Rails e Grails fornecer convenções para desenvolvimento de aplicações web - nomeando suas peças de uma determinada maneira e colocá-los nos lugares certos obter o seu aplicativo de trabalho por padrão com nenhuma configuração extra. Quando você quer desviar-se da convenção, você pode configurar o seu caminho.

Ruby e Groovy são línguas.

Ruby on Rails é um framework webapp inovador. Veja excelentes respostas sobre software opinativo acima.

Por uma questão de história, um título trabalhando para um quadro webapp Groovy era Groovy on Rails . No entanto, a comunidade RoR opôs. A equipe escolheu Grails em seu lugar.

É uma metáfora, e eu estou a ponto de dizer que as necessidades explicando. Enfim, é uma metáfora extremamente bom para o Ruby on Rails faz. Isso torna extremamente fácil de fazer (ir para) o material comum, i. e. ensaio, a validação, a implantação, MVC.

Não concordo com os outros comentários de "on Rails é uma filosofia sobre Convenção sobre configuração" e assim por diante.

Enquanto trilhos adere a essas filosofias, "Ruby on Rails" é o nome de um framework web. Nada mais nada menos. Não está se referindo a qualquer específico "on-railsness" sobre isso, é apenas um nome de marca da mesma forma que McDonald é um nome de marca.

Se alguém escreve um outro quadro e chama isso de "Python on Rails", em seguida, haverá uma outra marca. Se não, "XYZ nos trilhos" significa apenas que as pessoas estão sendo confundidos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top