Matriz
●   Cleórbete Santos
●   Michael Schuenck dos Santos
●   Michael Schuenck dos Santos
●   Michael Schuenck dos Santos
●   Michael Schuenck dos Santos
●   Michael Schuenck dos Santos
Tribunal Superior Eleitoral
        04 de março de 2013




   Overview de Grails
O Java em alta produtividade


                                      Cleórbete Santos
                                     cleorbete@gmail.com
                                        www.cleorbete.com
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?
●   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?
●   Principalmente que o programador
    ocupe-se mais na implementação do
    que na configuração;
Grails é da Springsource
●   Springsource?
●   VMWare?
●   Spring Framework -> Java | Grails -> Groovy
●   Groovy?
O que é Groovy?
●   É uma linguagem OO para a plataforma Java;
●   É dinâmica, como Python, Ruby, Perl, e outras;
●   É compilada para bytecodes pela JVM;
●   Códigos em Java são sintaticamente aceitos;
●   Possui recursos como tipagem dinâmica e
    closures;
●   É compacta em relação ao Java;
O que é Groovy?
                   [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?
           [continuação]
● // Exemplo em Groovy


  class Aluno { String nome }
Um pouco de etimologia
●   Significado de Grails (Groovy on Rails);
●   Significado de Groovy;
Tecnologias disponíveis em
                Grails
●   Model: GORM – Grails Object Relational
    Mapping (Hibernate)
●   View: GSP's – Groovy Server Pages
●   Controller: Spring Framework
●   Gant
●   Tomcat Embedded
●   (entre outras)
Princípios do Grails
●   DRY – Don't Repeat Yourself (DIE – Duplication
    Is Evil);
●   COC – Convention Over Configuration;
Estrutura de uma aplicação Grails
●   /grails-app
       |---/conf
       |---/controllers
       |---/domain
       |---/i18n
       |---/services
       |---/views
       |---/(...)
Comandos 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:
Aplicação em Grails
Scaffolding
●   É 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;
●   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;
EXEMPLO:
Scaffold Dinâmico
Scaffold Estático
●   grails generate-all <domain-class>
EXEMPLO:
Scaffold Estático
H2 Database Engine
●   Banco de dados Lightweight, Opensource,
    Java puro;
●   Trabalha Embedded, Server e Em memória;
●   Suporta nativamente criptografia;
●   Instalado como plugin, no Grails;
DataSource.groovy
●   grails-app/conf/DataSource.groovy
●   Environments:
    ●   Create-drop: apaga e (re)cria o banco. Deleta os
        dados existentes;
    ●   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
E o Tomcat?
IDE's
●   Eclipse e Netbeans dão suporte ao Grails;
●   Intellij;
●   STS – Springsource Tool Suite;
●   Notepad, GEdit...;
Links úteis
●   www.grails.org
●   www.grails.org/books
●   www.grailsbrasil.com.br
●   www.groovymag.com
“This is the end...” - Jim Morrison

Overview de Grails: O Java em alta produtividade

  • 1.
    Matriz ● Cleórbete Santos ● Michael Schuenck dos Santos ● Michael Schuenck dos Santos ● Michael Schuenck dos Santos ● Michael Schuenck dos Santos ● Michael Schuenck dos Santos
  • 2.
    Tribunal Superior Eleitoral 04 de março de 2013 Overview de Grails O Java em alta produtividade Cleórbete Santos cleorbete@gmail.com www.cleorbete.com
  • 3.
    Help! I lostmy 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? ● 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? ● Principalmente que o programador ocupe-se mais na implementação do que na configuração;
  • 6.
    Grails é daSpringsource ● Springsource? ● VMWare? ● Spring Framework -> Java | Grails -> Groovy ● Groovy?
  • 7.
    O que éGroovy? ● É uma linguagem OO para a plataforma Java; ● É dinâmica, como Python, Ruby, Perl, e outras; ● É compilada para bytecodes pela JVM; ● Códigos em Java são sintaticamente aceitos; ● Possui recursos como tipagem dinâmica e closures; ● É compacta em relação ao Java;
  • 8.
    O que éGroovy? [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? [continuação] ● // Exemplo em Groovy class Aluno { String nome }
  • 10.
    Um pouco deetimologia ● Significado de Grails (Groovy on Rails); ● Significado de Groovy;
  • 11.
    Tecnologias disponíveis em Grails ● Model: GORM – Grails Object Relational Mapping (Hibernate) ● View: GSP's – Groovy Server Pages ● Controller: Spring Framework ● Gant ● Tomcat Embedded ● (entre outras)
  • 12.
    Princípios do Grails ● DRY – Don't Repeat Yourself (DIE – Duplication Is Evil); ● COC – Convention Over Configuration;
  • 13.
    Estrutura de umaaplicação Grails ● /grails-app |---/conf |---/controllers |---/domain |---/i18n |---/services |---/views |---/(...)
  • 14.
    Comandos 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 ● (...)
  • 15.
  • 16.
    Scaffolding ● É 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; ● 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;
  • 17.
  • 18.
    Scaffold Estático ● grails generate-all <domain-class>
  • 19.
  • 20.
    H2 Database Engine ● Banco de dados Lightweight, Opensource, Java puro; ● Trabalha Embedded, Server e Em memória; ● Suporta nativamente criptografia; ● Instalado como plugin, no Grails;
  • 21.
    DataSource.groovy ● grails-app/conf/DataSource.groovy ● Environments: ● Create-drop: apaga e (re)cria o banco. Deleta os dados existentes; ● 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
  • 22.
  • 23.
    IDE's ● Eclipse e Netbeans dão suporte ao Grails; ● Intellij; ● STS – Springsource Tool Suite; ● Notepad, GEdit...;
  • 24.
    Links úteis ● www.grails.org ● www.grails.org/books ● www.grailsbrasil.com.br ● www.groovymag.com
  • 25.
    “This is theend...” - Jim Morrison