MatrizMatriz
● Cleórbete Santos
● Michael Schuenck dos Santos
● Michael Schuenck dos Santos
● Michael Schuenck dos Santos
● Michael Schuenck dos Santos
● Michael Schuenck dos Santos
FLISOL DF 2013
27 de abril de 201327 de abril de 2013
GrailsGrails
O Java em alta produtividadeO Java em alta produtividade
Cleórbete SantosCleórbete Santos
cleorbete@gmail.comcleorbete@gmail.com
www.cleorbete.comwww.cleorbete.com
Help! I lost my mojo!Help! I lost my mojo!
● Java = Customização de arquivos de
configuração, XML's, scripts...
● E onde estará o mojo perdido?
● Grails = The search is over!
O que é Grails?O que é Grails?
● Grails é um 'Full Stack Framework' de
desenvolvimento web que oferece as
ferramentas, técnicas e tecnologias
presentes em outros frameworks
Java, combinando-os com o poder e a
inovação de uma linguagem de
desenvolvimento dinâmica (Groovy),
e as vantagens do COC (Convention
Over Configuration);
O que o Grails permite?O que o Grails permite?
● Principalmente que o programador
ocupe-se mais na implementação do
que na configuração;
Grails é da SpringsourceGrails é da Springsource
● Springsource?
● VMWare?
● Groovy?
● Spring Framework -> Java | Grails -> Groovy
O que é Groovy?O que é Groovy?
● É uma linguagem OO para a plataforma Java;
● É dinâmica, como Python, Ruby, Perl, e outras;
● Códigos em Java são sintaticamente aceitos;
● É compilada para bytecodes pela JVM;
● Possui recursos como tipagem dinâmica e
closures;
● É compacta em relação ao Java;
O que é Groovy?O que é Groovy?
[continuação][continuação]
● // Exemplo em Java
public class Aluno {
Integer id;
String nome;
public String getNome() { return this.nome; }
public void setNome(String nome) {this.nome =
nome;}
public Integer getId() { return this.id; }
public void setId(Integer id) { this.id = id; } }
O que é Groovy?O que é Groovy?
[continuação][continuação]
● // Exemplo em Groovy
class Aluno { String nome }
Um pouco de etimologiaUm pouco de etimologia
● Significado de Grails (Groovy on Rails);
● Significado de Groovy;
Tecnologias disponíveis emTecnologias disponíveis em
GrailsGrails
● Model: GORM – Grails Object Relational
Mapping (Hibernate)
● Controller: Spring Framework
● Gant
● Tomcat Embedded
● View: GSP's – Groovy Server Pages
● (entre outras)
Princípios do GrailsPrincípios do Grails
● DRY – Don't Repeat Yourself (DIE – Duplication
Is Evil);
● COC – Convention Over Configuration;
Estrutura de uma aplicação GrailsEstrutura de uma aplicação Grails
● /grails-app
|---/conf
|---/controllers
|---/domain
|---/i18n
|---/services
|---/views
|---/(...)
Comandos do GrailsComandos do Grails
● grails help
● grails create-app
● grails create-controller
● grails create-domain-class
● grails generate-all
● grails generate-controller
● grails generate-views
● grails run-app
● grails war
● (...)
EXEMPLO:EXEMPLO:
Aplicação em GrailsAplicação em Grails
ScaffoldingScaffolding
● Dinâmico: recurso que permite ao compilador
criar o código para o CRUD da aplicação para
uso em runtime;
● Estático = CRUD em tempo de projeto;
● É um termo em inglês de engenharia civil, que
denota a colocação de andaimes e outras
estruturas para suportar temporariamente
trabalhadores de maquinário enquanto a
construção definitiva não está pronta;
EXEMPLO:EXEMPLO:
Scaffold DinâmicoScaffold Dinâmico
Scaffold EstáticoScaffold Estático
● grails generate-all <domain-class>
EXEMPLO:EXEMPLO:
Scaffold EstáticoScaffold Estático
H2 Database EngineH2 Database Engine
● Banco de dados Lightweight, Opensource,
Java puro;
● Suporta nativamente criptografia;
● Instalado como plugin, no Grails;
● Trabalha Embedded, Server e Em memória;
DataSource.groovyDataSource.groovy
● grails-app/conf/DataSource.groovy
● Environments:
● Create: cria o banco se não existir, mas não o
modifica caso já exista. Deleta os dados existentes;
● Update: Cria o banco se não existir, e modifica-o
caso exista;
● grails <env> run-app
● Create-drop: apaga e (re)cria o banco. Deleta os
dados existentes;
E o Tomcat?E o Tomcat?
IDE'sIDE's
● Eclipse e Netbeans dão suporte ao Grails;
● STS – Springsource Tool Suite;
● Notepad, GEdit...;
● Intellij;
Links úteisLinks úteis
● www.grails.org
● www.grailsbrasil.com.br
● www.groovymag.com
● www.grails.org/books
INTERESSADOS EM CURSOS DEINTERESSADOS EM CURSOS DE
GRAILS:GRAILS:
cleorbete@gmail.comcleorbete@gmail.com

Grails: O Java em Alta Produtividade

  • 1.
    MatrizMatriz ● Cleórbete Santos ●Michael Schuenck dos Santos ● Michael Schuenck dos Santos ● Michael Schuenck dos Santos ● Michael Schuenck dos Santos ● Michael Schuenck dos Santos
  • 2.
    FLISOL DF 2013 27de abril de 201327 de abril de 2013 GrailsGrails O Java em alta produtividadeO Java em alta produtividade Cleórbete SantosCleórbete Santos cleorbete@gmail.comcleorbete@gmail.com www.cleorbete.comwww.cleorbete.com
  • 3.
    Help! I lostmy mojo!Help! I lost my mojo! ● Java = Customização de arquivos de configuração, XML's, scripts... ● E onde estará o mojo perdido? ● Grails = The search is over!
  • 4.
    O que éGrails?O que é Grails? ● Grails é um 'Full Stack Framework' de desenvolvimento web que oferece as ferramentas, técnicas e tecnologias presentes em outros frameworks Java, combinando-os com o poder e a inovação de uma linguagem de desenvolvimento dinâmica (Groovy), e as vantagens do COC (Convention Over Configuration);
  • 5.
    O que oGrails permite?O que o Grails permite? ● Principalmente que o programador ocupe-se mais na implementação do que na configuração;
  • 6.
    Grails é daSpringsourceGrails é da Springsource ● Springsource? ● VMWare? ● Groovy? ● Spring Framework -> Java | Grails -> Groovy
  • 7.
    O que éGroovy?O que é Groovy? ● É uma linguagem OO para a plataforma Java; ● É dinâmica, como Python, Ruby, Perl, e outras; ● Códigos em Java são sintaticamente aceitos; ● É compilada para bytecodes pela JVM; ● Possui recursos como tipagem dinâmica e closures; ● É compacta em relação ao Java;
  • 8.
    O que éGroovy?O que é Groovy? [continuação][continuação] ● // Exemplo em Java public class Aluno { Integer id; String nome; public String getNome() { return this.nome; } public void setNome(String nome) {this.nome = nome;} public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } }
  • 9.
    O que éGroovy?O que é Groovy? [continuação][continuação] ● // Exemplo em Groovy class Aluno { String nome }
  • 10.
    Um pouco deetimologiaUm pouco de etimologia ● Significado de Grails (Groovy on Rails); ● Significado de Groovy;
  • 11.
    Tecnologias disponíveis emTecnologiasdisponíveis em GrailsGrails ● Model: GORM – Grails Object Relational Mapping (Hibernate) ● Controller: Spring Framework ● Gant ● Tomcat Embedded ● View: GSP's – Groovy Server Pages ● (entre outras)
  • 12.
    Princípios do GrailsPrincípiosdo Grails ● DRY – Don't Repeat Yourself (DIE – Duplication Is Evil); ● COC – Convention Over Configuration;
  • 13.
    Estrutura de umaaplicação GrailsEstrutura de uma aplicação Grails ● /grails-app |---/conf |---/controllers |---/domain |---/i18n |---/services |---/views |---/(...)
  • 14.
    Comandos do GrailsComandosdo Grails ● grails help ● grails create-app ● grails create-controller ● grails create-domain-class ● grails generate-all ● grails generate-controller ● grails generate-views ● grails run-app ● grails war ● (...)
  • 15.
  • 16.
    ScaffoldingScaffolding ● Dinâmico: recursoque permite ao compilador criar o código para o CRUD da aplicação para uso em runtime; ● Estático = CRUD em tempo de projeto; ● É um termo em inglês de engenharia civil, que denota a colocação de andaimes e outras estruturas para suportar temporariamente trabalhadores de maquinário enquanto a construção definitiva não está pronta;
  • 17.
  • 18.
    Scaffold EstáticoScaffold Estático ●grails generate-all <domain-class>
  • 19.
  • 20.
    H2 Database EngineH2Database Engine ● Banco de dados Lightweight, Opensource, Java puro; ● Suporta nativamente criptografia; ● Instalado como plugin, no Grails; ● Trabalha Embedded, Server e Em memória;
  • 21.
    DataSource.groovyDataSource.groovy ● grails-app/conf/DataSource.groovy ● Environments: ●Create: cria o banco se não existir, mas não o modifica caso já exista. Deleta os dados existentes; ● Update: Cria o banco se não existir, e modifica-o caso exista; ● grails <env> run-app ● Create-drop: apaga e (re)cria o banco. Deleta os dados existentes;
  • 22.
    E o Tomcat?Eo Tomcat?
  • 23.
    IDE'sIDE's ● Eclipse eNetbeans dão suporte ao Grails; ● STS – Springsource Tool Suite; ● Notepad, GEdit...; ● Intellij;
  • 24.
    Links úteisLinks úteis ●www.grails.org ● www.grailsbrasil.com.br ● www.groovymag.com ● www.grails.org/books
  • 25.
    INTERESSADOS EM CURSOSDEINTERESSADOS EM CURSOS DE GRAILS:GRAILS: cleorbete@gmail.comcleorbete@gmail.com