Overview de Grails: O Java em alta produtividade

698 views

Published on

Apresentação utilizada em 04 de março de 2013 para um repasse de Grails envolvendo as equipes de Desenvolvimento de Sistemas, Infraestrutura e demais interessados do Tribunal Superior Eleitoral.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
698
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Overview de Grails: O Java em alta produtividade

  1. 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. 2. Tribunal Superior Eleitoral 04 de março de 2013 Overview de GrailsO Java em alta produtividade Cleórbete Santos cleorbete@gmail.com www.cleorbete.com
  3. 3. Help! I lost my mojo!● Java = Customização de arquivos de configuração, XMLs, scripts...● E onde estará o mojo perdido?● Grails = The search is over!
  4. 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. 5. O que o Grails permite?● Principalmente que o programador ocupe-se mais na implementação do que na configuração;
  6. 6. Grails é da Springsource● Springsource?● VMWare?● Spring Framework -> Java | Grails -> Groovy● Groovy?
  7. 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. 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. 9. O que é Groovy? [continuação]● // Exemplo em Groovy class Aluno { String nome }
  10. 10. Um pouco de etimologia● Significado de Grails (Groovy on Rails);● Significado de Groovy;
  11. 11. Tecnologias disponíveis em Grails● Model: GORM – Grails Object Relational Mapping (Hibernate)● View: GSPs – Groovy Server Pages● Controller: Spring Framework● Gant● Tomcat Embedded● (entre outras)
  12. 12. Princípios do Grails● DRY – Dont Repeat Yourself (DIE – Duplication Is Evil);● COC – Convention Over Configuration;
  13. 13. Estrutura de uma aplicação Grails● /grails-app |---/conf |---/controllers |---/domain |---/i18n |---/services |---/views |---/(...)
  14. 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. 15. EXEMPLO:Aplicação em Grails
  16. 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. 17. EXEMPLO:Scaffold Dinâmico
  18. 18. Scaffold Estático● grails generate-all <domain-class>
  19. 19. EXEMPLO:Scaffold Estático
  20. 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. 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. 22. E o Tomcat?
  23. 23. IDEs● Eclipse e Netbeans dão suporte ao Grails;● Intellij;● STS – Springsource Tool Suite;● Notepad, GEdit...;
  24. 24. Links úteis● www.grails.org● www.grails.org/books● www.grailsbrasil.com.br● www.groovymag.com
  25. 25. “This is the end...” - Jim Morrison

×