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.
Design for change: Fatores que influenciam na longevidade de um Software PHP
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 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?
● 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 o Grails permite?
● Principalmente que o programador
ocupe-se mais na implementação do
que na configuração;
6. Grails é da Springsource
● 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 de etimologia
● 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 uma aplicação Grails
● /grails-app
|---/conf
|---/controllers
|---/domain
|---/i18n
|---/services
|---/views
|---/(...)
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;
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