grails, o que isso quer dizer?
DESCRIPTION
O Grails é um full-stack framework, assim como o RoR, mas em vez da linguagem Ruby utiliza a linguagem Groovy, que tem a vantagem de ser totalmente compatível com a sintaxe de Java. Além disso o framework se apóia no ombro de gigantes como Spring e Hibernate, permitindo assim que você aproveite todo seu conhecimento nessa ferramentas, mas de uma forma super simplificada para facilitar sua entrada caso você não as conheça.TRANSCRIPT
![Page 1: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/1.jpg)
Grails: o que isso quer dizer?
Gilliard Cordeirohttp://gilliard.eti.br
![Page 2: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/2.jpg)
Sobre mim
• Formado em análise de sistemas pela UFMS
• Trabalho há 5 anos com desenvolvimento Web
• Minha principal área de atuação é P&D
• Instrutor SENAC/MS• Um dos Coordenadores do JUGMS
![Page 3: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/3.jpg)
Grails: o que isso que dizer?
• Quer dizer muito mais que “Groovy on Rails”
• Grails evidencia algumas coisas sobre Java:– Tendência de absorver soluções
comprovadamente boas pelo mercado– Diferenciação entre plataforma e
linguagem Java
![Page 4: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/4.jpg)
O Java de algum tempo atrás
• JCP Muito criticado por sua lentidão em acompanhar tendências e por “inventar moda”– Um exemplo clássico é a JDO
• Especificações só se for obrigado– Ninguém queria saber de EJB antes da
versão 3 a menos que fosse uma obrigação
![Page 5: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/5.jpg)
O Java na atualidade
• Java tem se baseado muito mais em casos de sucesso– JPA (Hibernate)–WebBeans (Seam)– Grails (RoR) *não é especificação– EJB3 (Spring provou que podia ser mais
simples que os EJBs 2.x)– JavaEE 5 e JavaEE 6: foco na
produtividade
![Page 6: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/6.jpg)
O que é Java?
• Parece uma pergunta óbvia mas a resposta pode não ser
• Java pode ser duas coisas: linguagem ou plataforma
• A linguagem é aquela que escrevemos na nossa IDE
• A plataforma é muito mais do que isso...
![Page 7: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/7.jpg)
A plataforma Java
• O sucesso do Java, e o fato de até hoje ele estar onde está não é pela linguagem parecida com C
• Linguagens vem e vão, mas uma plataforma como o Java vai durar por muito tempo
![Page 8: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/8.jpg)
A plataforma Java
• O grande diferencial do Java é sua JVM
• Java possui também o maior “ecossistema” de software da atualidade
• Dá segurança para altos investimentos em ambiente corporativo por evoluir respeitando o passado
• Executa diversas linguagens
![Page 9: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/9.jpg)
Linguagens sobre a JVM
• Originalmente a JVM era uma VM para uma linguagem: Java
• Hoje temos diversas linguagens na JVM– Groovy– Ruby– Python– Scala
![Page 10: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/10.jpg)
Investimento em outras linguagens
• Da Vinci Machine: Um projeto que mostra que rodar outras linguagens na JVM não é brincadeira
• Instruções de bytecode feitas para serem usadas por outras linguagens, em especial as dinâmicas
![Page 11: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/11.jpg)
E o Grails?
• O Grails, ou Groovy on Rails é um framework fortemente baseado no Ruby on Rails
• O termo “on rails” significa “nos trilhos”, e prove uma stack inteira para desenvolvimento
![Page 12: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/12.jpg)
Composição do Grails
![Page 13: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/13.jpg)
Grails possui diversos plugins
• No site do Grails tem uma lista com diversos plugins para:– Ajax, RichApplication• DWR, GWT, YUI, JQuery, Flex, OpenLaszlo...
– Performance– Outros frameworks– etc
![Page 14: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/14.jpg)
Grails é Java
• Como Grails é Java, e no final temos um WAR padrão, tudo que usamos no Java podemos usar nele:– Lucene, cache de 2º nível no Hibernate
(inclusive distribuído)– JSF, Seam, Wicket (e qualquer outro
framework Java)– JBPM, JMS, Drools, etc...
![Page 15: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/15.jpg)
Comparação com RoR
• Os dois frameworks provêem uma stack completa de desenvolvimento
• O Grails, influenciado pelo jeito de desenvolver com Hibernate é mais centrado no modelo, enquanto RoR parece mais centrado em banco de dados
![Page 16: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/16.jpg)
Comparação com RoR
• Grails utiliza a linguagem Groovy, enquanto RoR é Ruby– Para quem veio da escola C, C++ e
Java, a sintaxe do Groovy vai parecer mais familiar
• Grails tira proveito de todo o “ecossistema” Java; escalável (*JRuby)
• Grails no entanto é bem mais jovem
![Page 17: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/17.jpg)
Grails além dos CRUD's
• O que fazemos com Java, podemos fazer também com Grails
• Na sua aplicação real de hoje, provavelmente não tem só CRUD's
• Grails já vem com suporte à injeção de dependência e controle transacional de services do Spring
![Page 18: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/18.jpg)
Groovy
• Linguagem de tipagem dinâmica totalmente baseada no Java
• Facilidade de meta-programação• Integração transparente com Java• Implementa diversas facilidades• Exemplo
![Page 19: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/19.jpg)
Mão na massa
• Sistema de controle de pendências
![Page 20: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/20.jpg)
Crescimento do Grails (update)
• Só em 2008 os downloads do Grails passaram de 7.000 para 70.000 por mês
• No dia 11/11/2008, a SpringSource adquiriu a G2One, que é a empresa que mantém o Groovy e o Grails, e além de investir no desenvolvimento dessas tecnologias, oferecerá também suporte pago à essas ferramentas, assim como a JBoss já faz com seus produtos
• No dia 10/08/2009 a VMWare adquiriu a SpringSource
• Com isso espera-se que o meio corporativo, e até a comunidade, perceba que essas são tecnologias sérias e confiáveis, fazendo o Grails crescer e melhorar cada vez mais
![Page 21: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/21.jpg)
Recapitulando
• Diferença entre plataforma e linguagem Java
• O que é Groovy• A idéia do Grails vem do Ruby on
Rails?• Dá para usar grails em um sistema
de verdade?• Grails: o que isso quer dizer?
![Page 22: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/22.jpg)
Perguntas?
• Você pode saber mais também aqui– http://groups.google.com/group/jug-ms– http://jugms.com.br
![Page 24: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/24.jpg)
Referências
• Alguns links para consulta posterior– http://grails.org/– http://groovy.codehaus.org/– http://www.springframework.org/– http://www.hibernate.org/– http://www.opensymphony.com/
sitemesh/
![Page 25: Grails, o que isso quer dizer?](https://reader036.vdocuments.pub/reader036/viewer/2022081418/556218e2d8b42af2128b54c8/html5/thumbnails/25.jpg)