Pergunta

Minha empresa está no processo de iniciar o Graais caminho.A razão para isso é que os desenvolvedores atuais estão pesados Java mas senti a necessidade de um Linguagem estilo MVC para alguns projetos futuros de desenvolvimento web.Pessoalmente, venho do mundo do design/usabilidade, mas à medida que assumo mais responsabilidades de "front-end", começo a sentir a necessidade de aprender uma linguagem mais intensamente para poder codificar alguma lógica, mas especialmente o front-end. código para minhas UIs e outras coisas.

Eu tenho tentado entrar Python/Django pessoalmente, mas nunca investi muito tempo nisso.Agora que minha empresa está "saltando" para o Grails, comprei o "Desenvolvimento Ágil Web com Rails (3ª Ed - Beta)" e estou começando a entrar RoR.Eu ainda gostaria de aprender Pitão no futuro ou paralelamente, mas minha maior dúvida é:

  • Devo aprender RoR e ter uma linguagem mais versátil em meu "portfólio", sabendo que meu conhecimento de RoR também será útil para minhas necessidades de Grails?

-OU-

  • Devo simplesmente pular o RoR e me concentrar em aprender Grails que precisarei para trabalhar em breve e trabalhar no aprendizado de RoR/Django (Ruby/Python) mais tarde?

Basicamente a questão gira em torno da utilidade do Grails em um ambiente não corporativo e das semelhanças entre Rails e Grails.(e isso, enquanto tenta evitar a discussão centenária de Python vs Ruby (on Rails) :))

Foi útil?

Solução

Hum, não sei como dizer isso.Algumas pessoas podem me criticar por isso.

Linguagem (Groovy e Ruby)

Como linguagem, acho que Ruby é mais descolado comparado ao Groovy.Groovy existe apenas para facilitar o programador Java, pois você não precisa aprender muita sintaxe nova.Mas no geral eu acho que não é tão descolado quanto Ruby.Groovy não seria a linguagem JVM que vale a pena aprender com base na votação dos participantes no JavaOne deste ano, mas em vez disso, Scala é a opção certa.Além disso, o próprio criador original do Groovy não acredita na linguagem que ele mesmo criou em primeiro lugar.

Comunidade e vagas de emprego

Quanto à comunidade, a comunidade Grails não é tão grande quanto a Rails, embora desde a aquisição pelo Spring mais e mais pessoas a estejam usando em aplicações sérias.Rails tem mais vagas de emprego no mercado em comparação com Grails (isto é, se você quiser investir na procura de um novo emprego).

A estrutura (Grails e Rails)

Mas, como framework, se você realmente se preocupa com a manutenção e precisa de acesso ao framework Java e ao sistema Java legado, Grails é o caminho a seguir, pois fornece acesso mais limpo ao Java.O próprio Grails é construído sobre vários frameworks Java populares (Spring e Hibernate).O próprio Rails IMHO é descolado como o próprio Ruby, mas é descolado custa manutenção. O próprio Matz prefere Merb a Rails 2 porque o Rails cria uma DSL em cima do Ruby, o que é realmente contra a filosofia Ruby.E eu acho que porque o próprio Rails é opinativo, o que por sua vez se você não tiver a mesma opinião do criador, pode não atender às suas necessidades.

Conclusão

Então, no seu caso, aprenda Grails, pois esse é o consenso da empresa (você precisa respeitar o consenso) e se ainda quiser garantir seu emprego.Mas, invista algum tempo aprendendo Rails e Ruby também se quiser ter a chance de conseguir um novo emprego no futuro.

Outras dicas

Só uma pergunta: a razão pela qual eles estão escolhendo Grails é porque Groovy tem sintaxe mais próxima de Java do que Ruby, ou porque desejam acesso a Java?

Se for o primeiro, então eu diria para tentar focar no Grails, pois é isso que você usará.Se for o último, você pode querer ver se a equipe de desenvolvimento está aberta para usar o JRuby.

Nunca usei Grails ou Rails antes, mas já usei Groovy e Ruby antes, e como linguagem acho que Ruby é muito mais limpo e consistente, e a equipe pode gostar mais da produção.Como plataforma, Rails está no mercado há mais tempo e recebe muita atenção, então imagino que seja uma plataforma mais estável para usar, com recursos mais desenvolvidos.

JRuby tem acesso total às classes escritas em Java, então é por isso que eu diria para considerar experimentar o Rails.Se for tarde demais para considerar isso, acho que você pode simplesmente ignorar esta postagem.

Basicamente, se você deseja apenas se conectar com Java, então JRuby é uma opção que você deve considerar, mas se a equipe tem medo de sintaxe não-Java, talvez continue como está.

Eu aprenderia os dois.Ambas são tecnologias emergentes.Aprender a codificação RESTful é um benefício real em qualquer linguagem.

Eu uso GRAILS no trabalho e RoR para projetos paralelos.Posso dizer que a comunidade RoR é muito maior (estou falando de RoR vs Grails, não de RoR vs Java) e muito útil.

Resposta curta:Eles são iguais....o que poderia doer?

Tenho aprendido RoR e Grails e este último é muito mais fácil de aprender.

Ambas as estruturas compartilham os mesmos princípios (ágil, beijo, seco, digitação de pato e assim por diante..), mas a sintaxe Groovy é... bem, é simplesmente ótima, algo que você pode aprender e usar em um piscar de olhos.

Eu realmente sinto que Grails tem um futuro melhor que RoR.

DP:Caso você ache útil, uma faculdade minha trabalha em tempo integral com Grails e tem um blog com algumas dicas:

http://dahernan.net/search/label/grails

Basta pular o RoR.Na verdade não existem muitas coisas semelhantes (além do nome)

Eu certamente acredito que estar suficientemente familiarizado com Java, além de alguma experiência em programação com uma linguagem dinâmica, é mais que suficiente se você planeja fazer um desenvolvimento sério com Grails.

Comparar apenas visualizações (taglibs em Grails, RHTML em RoR) e o material de persistência (GORM vs ActiveRecord) é muito diferente no núcleo, para investir tempo aprendendo os detalhes essenciais do RoR.Basta mergulhar no Grails, você não se arrependerá.

Editar:erro de digitação corrigido.

Você deve simplesmente pular o RoR e se concentrar em aprender Grails que você precisará para trabalhar.

@Levi Figueira

Por um lado, Grails é muito mais flexível que Rails.Rails é difícil de usar com um banco de dados legado porque o ActiveRecord tem muitas restrições de design que muitos bancos de dados legados não seguiram.Grails, por outro lado, pode usar mapeamentos padrão do Hibernate, que podem acomodar uma gama muito mais ampla de designs de banco de dados.

A comunidade Rails tem sido muito ativa na evangelização do RoR, com o resultado de que altas expectativas foram estabelecidas e nem sempre atendidas (a produtividade do programador é boa, mas garantir um bom desempenho uma vez implantado não é tão fácil).

Grails foi projetado como o sucessor de script do Java, enquanto a integração Ruby-Java usada no JRuby on Rails, por exemplo, teve que ser adaptada.

Eu sugeriria que você ficasse com Grails;pode não ter o mesmo brilho do RoR, mas é uma escolha pragmática;você obtém maior produtividade e reutilização de bibliotecas Java existentes.

Vá direto para Grails.Tenho certeza de que Ruby/Rails é bom, mas também no Groovy/Grails.Eu recomendo este livro.

http://beginninggroovyandgrails.com

Lembre-se que a errata está online.Existem alguns erros no livro.

http://beginninggroovyandgrails.com/site/content/errata

Além disso, confira a demonstração de 3 minutos e 30 segundos da criação de seu primeiro aplicativo Grails.

http://grails.org/Grails+Screencasts

Este tutorial mostrará o básico.

http://grails.org/Quick+Start

Sim, Grails é o caminho a percorrer.RoR é bom, mas conecta você ao ecossistema Ruby.Parte do esforço de aprender uma nova estrutura ou linguagem é aprender as bibliotecas de classes, bem como a sintaxe da linguagem.Se todos os seus colegas de trabalho forem do tipo Java, você estará em uma posição muito melhor para receber ajuda e suporte, pois todos falarão a mesma linguagem que você.

A outra vantagem de aprender um pouco de Groovy e Java é que frameworks web como o GWT se abrirão para você.Grails tem um plugin GWT e como desenvolvedor front-end você apreciará a facilidade de uso e a compatibilidade entre navegadores.

Também há pelo menos uma empresa de hospedagem que oferece hospedagem gratuita de aplicativos Grails (http://www.mor.ph/), o que significa que você pode criar protótipos de sites com pequenos volumes de dados antes de ter que pagar.

Eu sou a favor do Grails em vez do Rails, mas aprender Rails lhe dará uma perspectiva mais equilibrada e realmente abrirá seus olhos para coisas negligenciadas que são possíveis no Grails.

À primeira vista você pensaria que são histórias completamente diferentes, já que são baseadas em linguagens extremamente diferentes (Ruby e Groovy).

Então, depois de ler alguns tutoriais, você perceberá que eles compartilham os mesmos princípios, andaimes, digitação de pato, ..e finalmente o mesmo objetivo: tornando a programação ágil viável.

Se você já se sente confortável com termos como IoC e MVC, você achará qualquer uma dessas opções fácil e interessante de aprender.

Eu diria que não, estou aprendendo Grails também, e considerei isso também, mas apenas aprender Grails é muito grande, além de aprender Groovy (o que é fácil, mas ainda tenho que aprender, certo?) e tudo mais ...então aprender Rails teria sido demais.

Sim, se compararmos grails e rails eu escolheria grails (desenvolvi algumas aplicações de intranet em grails).

Mas o Django é superior a ambos - já que o python é uma escolha perfeita.

Você também pode querer dar uma olhada Clojure, uma linguagem JVM que está apenas começando a se tornar popular.Pode ser uma boa escolha para uma empresa baseada em Java, pois é compatível com sua base de código antiga e traz muitas inovações modernas.Existem algumas boas estruturas web emergentes, incluindo Compojure.

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