Conselho sobre Ruby on Rails / JRuby / Grails

19 respostas
ronnypeterson

Seguinte, sempre desenvolvi Java p desktop. Tentei iniciar algumas aplicações WEB e achei complexo pra caramba usando Java, até conhecer o Ruby on Rails. Já tenho algumas coisas em producao em ROR (funciona direitinho), dai quando tava iniciando a estudar o JRuby me aparece o Grails, fiz alguns testes e adorei. Então, preciso iniciar um projeto web, um sistema com prazo dilatado e baixa prioridade, estou pensando em dar uma inovada, mas agora não sei quais desses tres frameworks devo utilizar. Gostaria da opinião de vcs em relação a viabilidade de cada um, bem como suas perspectivas de fututo, vantagens e desvantgens de cada um. Sinceramente tenho uma leve preferencia pelo Grails (afinal de contas é mais proximo de Java), mas tenho duvida se ele tá maduro o suficiente ou se é apenas uma onda passageira. Desde já agradeço a atençao e colaboração de todos.

Abraços a tds!

19 Respostas

Herrera

eu tambem gostaria de conhecer mais sobre Grails, casos de uso, qdo usar e principalmente quando não usar.

Herrera

rollei

nunca usei sequer o ruby, mas escutei coisas muito boas sobre a linguagem.

esse topico me interessa 8)
esperando a analise dos gurus do ruby

Andre_Fonseca

Oi,

Eu também estou tentando me aventurar agora no Groovy/Grails usando o Netbeans instalei tudo de acordo com o que está escrito neste tópico.

Surgindo dúvidas ou comentários eu posto aqui…

Abs

AvilaCS

rp.guimaraes acho que o Leandro (le-silva) postou em seu blog algo sobre isto, veja:

http://codezone.wordpress.com/2008/07/02/jruby-ou-groovy/

Espero ter ajudado!

[]´s

RodyBr

Aos poucos também estou aprendendo o Ruby/Rails, e após partir para o Grails.
Dica: http://ruby-br.org/ (material legal para aprendizado)
:wink:

le-silva

Fala galera!

Realmente escrevi sobre isso sim…

:smiley:

ronnypeterson

Li o post do Leandro no blog e achei bem interessante. Mostrou algumas preocupações q tinha em relação ao Grails, principalmente em relação a JRuby. Uma dela é a questão da Sun bancar o Jruby, outra é a comunidade, pois ainda não pequisei muito bem o JRuby, mas para o Grails o negócio parece ser bem fracaquinho, principalmente em lingua portuguesa. E pelo q vi tbm, o GRails ainda não tem (pelo menos não vi) nenhum caso de sucesso expressivo (se bem q em JRuby tbm não vi nda ate agora).
Em relação ao Ruby on Rails sei que de fato veio p ficar, pois tem comunidade ativa, boas IDEs, porém ainda apanho em algumas limitações, tipo: para integrar com algumas aplicações em Java (principalmente relatorios), atualmente to fazendo isso via applet, para implementar relatório ainda não encontrei nenhuma ferramenta decente como o IReport (Tentamos estudar o Ruport mas a equipe não achou produtivo), tanto q para isso temos uma especie de Servidor de Relatorios rodando o Glassfish com um servlet q disponibiliza os relatorios (estamos estudando uma forma de fazer isso tipo Web Service) e tbm ainda não encontramos uma Servidor Web p Ruby q posso nos garantir um minimo de confiabilidade em ambiente corporativo (Se alguem souber me avisa aí, pois ainda não encontramos e estamos usando mongrel - talvez por falta de pesquisa). Talvez por isso iniciei a procura de uma framework tão agil quanto ROR mas q permitisse integração com Java e acabei no JRuby e posteriormente descobrindo Grails…ufa…desabafei…rsrsrsrs
Mas é como o Leandro escreveu: “Use JRuby. Use Groovy. Use o que melhor atender aos seus próprios requisitos e aos de seu cliente. Porque não há apenas uma linguagem de programação, nem uma única solução pra tudo!”…Enfim, adorei usar o ROR, estou adorando estudar Grails, é como dizem: programar voltou a ser prazeroso…mas acho q talvez escolha o JRuby (apesar de não ter estudado quase nda sobre o assunto) pelo q li no post do Leandro, porem volto as duvidas (agora focadas no JRuby):

  • Tem comunidade ativa? Quais seriam as melhores?
  • Tem algum caso de sucesso? Alguem por aqui já fez alguma coisa e colocou em produção?
  • Posso rodar com confiabilidade em qualquer server Java tipo: tomcat, glassfish, jboss, etc?
  • JRuby está pronto (maduro) para ser usado em corporações?

Aproveito para agradecer a tdos pela contribuição!

Abraços

le-silva

JRuby é uma implementação completa da linguagem Ruby para a Plataforma Java. Você pode fazer com JRuby tudo que você faz com Ruby. Sim, JRuby on Rails também.

Ele se integra perfeitamente à Plataforma Java, porque em sua essência, ele é Java – já que foi implementado em Java. Assim, você pode executar código Java em código JRuby; e o contrário também é verdade, como o Phillip bem comentou no meu post.

Uma aplicação JRuby on Rails roda perfeitamente em Glassfish, Jetty, Tomcat, etc.

O que isso significa? Significa que você pode usar seu engine de relatórios Java - que já está perfeitamente funcional - em sua aplicação JRuby on Rails, sem muito esforço. O Fabio Kung falou sobre esse tipo de integração no Falando em Java 2008. (Procura lá no meu blog que tem um review. :D)

JRuby é o melhor dos dois mundos!

le-silva

URL relevante ao assunto…

JavaOne 2008, Day Two: JRuby, Rails, and NetBeans
Why you want Rails for your web app, why you want JRuby on Rails for deployment, and why you want NetBeans for Rails development.

http://www.artima.com/weblogs/viewpost.jsp?thread=230311

Andre_Fonseca

Ola,

Entao, instalei o Groovy e o Grails no Netbeans 6.5, e comecei a brincar de fazer HelloWorld… rs

Já surgiu uma dúvida que eu acho que pode amadurecer mais quando eu começar a entender melhor que é a seguinte:

Caso eu queira fazer uma aplicacao web apenas usando o Grails eu posso? A minha necessidade é bem especifica, suponha que eu já tenha a logica de negocios toda em java ou em uma outra linguagem qualquer, eu gostaria de usar o Grails apenas para redesenhar um front-end usando toda essa lógica de uma forma facil, rápida que pudesse ser disponbilizada rapidamente na plataforma Java, ou seja, integracao com Hibernate, JDBC, JSP, etc, etc… é possivel??

:roll:

ronnypeterson

Taí uma boa pergunta. Pena q não sei responder p t ajudar…rsrsrsrs. Vamos ver se aparece alguem aí p responder, pois isso me ajudaria tbm. To começando a estudar JRuby (apesar de continuar tentando com o Grails) e to gostando muito.

Abraços

le-silva

André Fonseca:
Ola,

Entao, instalei o Groovy e o Grails no Netbeans 6.5, e comecei a brincar de fazer HelloWorld… rs

Já surgiu uma dúvida que eu acho que pode amadurecer mais quando eu começar a entender melhor que é a seguinte:

Caso eu queira fazer uma aplicacao web apenas usando o Grails eu posso? A minha necessidade é bem especifica, suponha que eu já tenha a logica de negocios toda em java ou em uma outra linguagem qualquer, eu gostaria de usar o Grails apenas para redesenhar um front-end usando toda essa lógica de uma forma facil, rápida que pudesse ser disponbilizada rapidamente na plataforma Java, ou seja, integracao com Hibernate, JDBC, JSP, etc, etc… é possivel??

:roll:

Então, cara, Grails é um framework ágil para desenvolvimento de aplicações web sob a Plataforma Java. Só que a mágica dele não acontece assim por si só. O fato é que “ele faz uma cola inteligente” de vários outros frameworks conceituados e aprovados por milhares de desenvolvedores no mundo todo. Que frameworks são estes? Os que citei em um de meus posts: Hibernate, Spring, SiteMesh, Log4J, …, …, …

Andre_Fonseca

Ola,

Achei um forum Grails Brasil o qual também fala sobre um Livro Gratuito

Pode ser de grande ajuda pra quem está começando, como eu por exemplo…
:lol:

[]´s

Kenobi

André Fonseca:
Ola,

Entao, instalei o Groovy e o Grails no Netbeans 6.5, e comecei a brincar de fazer HelloWorld… rs

Já surgiu uma dúvida que eu acho que pode amadurecer mais quando eu começar a entender melhor que é a seguinte:

Caso eu queira fazer uma aplicacao web apenas usando o Grails eu posso? A minha necessidade é bem especifica, suponha que eu já tenha a logica de negocios toda em java ou em uma outra linguagem qualquer, eu gostaria de usar o Grails apenas para redesenhar um front-end usando toda essa lógica de uma forma facil, rápida que pudesse ser disponbilizada rapidamente na plataforma Java, ou seja, integracao com Hibernate, JDBC, JSP, etc, etc… é possivel??

:roll:

Bom vamos lá vou tentar responder à algumas dúvidas:

  • Primeira está lá no topo, sobre a confiabilidade do Grails - O grails é na verdade é um gluecode feito em Groovy, embasado em projetos consolidados no mundo java. O MVC dele, nada mais é que o SpringMVC, assim como sua camada de persistência, onde no Rails é o framework ActiveRecord, no Grails fica à cargo do Hibernate. Há um roadmap para isso virar JPA e você poder escolher o seu provider.

A segurança com Grails é provida através do framework Acegi, que é comum ao mundo Spring e excelente por sinal. Ferramenta de buscas, compass juntamente com lucene e por aí, então o Grails na verdade é 15 à 20% configuração e o restante vem de projetos consagrados no meio java, por tal motivo acredito que não terão tantos problemas para se adaptar. Uma outra questão , Grails é threadsafe e Rails não, tanto que alguns começaram a migrar para o Merb por essa questão.

  • Quanto à dúvida do post, o Grails possui um esquema de HelperClass baseado no IoC - Spring, separando a camada de negócios da Action de forma física. Assim você pode injetar qualquer POJO, como EJB3 que encapsula seu negócio junto ao Grails.

  • Mais um ponto a ser levado em consideração é a modelagem de domínios das entidades, que em Grails você pode ficar aderente ao modelo DDD e rails está atrelado ao modelo relacional.

Agora um pouquinhos sobre Rails:

Há servidores, qualquer um do mundo java, já que você pode cobrir usando JRuby. Se quiser usar outra coisa, pode caminhar para o Phusion Passenger, que é o tão esperado mod para o servidor Apache ou o Ruby Enterprise.

Bom, no final das contas vai levar muito o gosto do programador. A linguagem Groovy vem evoluindo, hoje tem características de mop tão boas quanto Ruby, ainda adição de outras features como AOP, possibilidade de utilizar java misturado e uma sintaxe “java like”. Acho que esse é o maior motivo de eu “NÃO” utilizar groovy.

Na minha opinião, estão poluindo muito a linguagem, com a visão de abocanhar o mercado de script oriundo do java e isso torna o ganho de usar uma linguagem mais simples bastante menor. Outro ponto para se levar em consideração está no aprendizado de outro mundo, outros paradigmas e como este pode o tornar um programador melhor… :slight_smile:

FIM !

le-silva

É totalmente possível ter um modelo rico em Rails e ser aderente a abordagem DDD. :smiley:

Andre_Fonseca

Olá,

Aqui estou eu novamente com uma dúvida. Utilizei este exemplo para criar duas classes de domínio e criar a minha primeira aplicação, fazendo o deploy no Jetty - default - e utilizando o hsqldb - que também vem configurado por default.

Funcionou tudo perfeitamente através do grails shell.

Como eu consigo fazer a mesma coisa usando o plugin para o Netbeans??

Ou seja, eu queria fazer o generate-all através do Netbeans, mas não encontrei esta opção, quando eu tento utilizar a opção grails-shell - botão direito sobre o projeto - ele me abre o console do groovy aparamentemente.

Para aqueles que estão utilizando o grails/groovy, estão utilizando via console ou via Netbeans??

[]´s

Kenobi

André Fonseca:
Olá,

Aqui estou eu novamente com uma dúvida. Utilizei este exemplo para criar duas classes de domínio e criar a minha primeira aplicação, fazendo o deploy no Jetty - default - e utilizando o hsqldb - que também vem configurado por default.

Funcionou tudo perfeitamente através do grails shell.

Como eu consigo fazer a mesma coisa usando o plugin para o Netbeans??

Ou seja, eu queria fazer o generate-all através do Netbeans, mas não encontrei esta opção, quando eu tento utilizar a opção grails-shell - botão direito sobre o projeto - ele me abre o console do groovy aparamentemente.

Para aqueles que estão utilizando o grails/groovy, estão utilizando via console ou via Netbeans??

[]´s

Bom até o momento fiz testes somente com o console e como estou num Mac, uso o TextMate :slight_smile:

Herrera

Pessoal,

Algumas impressoes sobre Grails :
Nestes ultimos 10 dias, qdo tenho um minimo de tempo, me dedico a aprender Grails. E olha só, é impressionante a velocidade de desenvolvimento. Estou gostando bastante. Pretendo que em breve, meus proximos projetos sejam ja utilizando Grails

Herrera

Andre_Fonseca

Oi,

Eu também estou achando muito legal e produtivo o Grails, já consegui fazer uns exemplos para MySQL e Oracle, aprendi a mexer com plugins instalando o searchable que te proporciona uma interface de busca usando o Lucene.

Achei bacana também o conceito de Scaffolding para suas classes de domínio.

Tenho muitas dúvidas ainda e acho que posso saná-las melhor quando começar a estudar um pouco mais do Groovy

Abs

Criado 7 de agosto de 2008
Ultima resposta 23 de ago. de 2008
Respostas 19
Participantes 8