groovy e grails 2

67
GRAILS

Upload: sergio-neves-sacenti

Post on 19-Aug-2015

24 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Groovy e Grails 2

GRAILS

Page 2: Groovy e Grails 2

“Nada melhor que um programador preguiçoso. Você usa

coisas que já estão prontas e tudo fica mais simples.”

Page 3: Groovy e Grails 2

JEE

1999

Struts

JSP WidgetOpenXavaTurbine

JSF

SombreroSwingWeb

VRaptorCocoonCalyxoWicket

TapestryWebOnSwing

Maverick

Desenvolvimento Java Web

Page 4: Groovy e Grails 2

JEE

1999

Desenvolvimento Java Web

Gerenciar Complexidade

Page 6: Groovy e Grails 2

Convenções

Full Stack

Scaffolding

Extensibilidade

Page 7: Groovy e Grails 2

Migrar tudo para Rails?

Page 8: Groovy e Grails 2

Experiência Flexibilidade

Page 9: Groovy e Grails 2

Convenções

Full Stack

Scaffolding

Extensibilidade

Page 10: Groovy e Grails 2

“Quando você programa em Groovy, de várias formas você está escrevendo

um tipo especial de Java.”- Dierk König

Groovy in Action

Padrão Java OficialJSR 241

Page 11: Groovy e Grails 2

Mas o que é porque Groovy?

Page 12: Groovy e Grails 2

Linguagem OO, ágil e dinâmica

Page 13: Groovy e Grails 2

Poderes adicionais inspirados em linguagens como Python, Ruby e Smalltalk

Page 14: Groovy e Grails 2

Integra com todas as classes e bibliotecas Java existentes

Page 15: Groovy e Grails 2

Curva de aprendizagem quase zero para desenvolvedores Java

Page 16: Groovy e Grails 2

JVM Languages

Page 17: Groovy e Grails 2
Page 18: Groovy e Grails 2

HelloWorld.java

Page 19: Groovy e Grails 2

HelloWorld.groovy

Page 20: Groovy e Grails 2

Curva de aprendizagem quase zero para desenvolvedores Java

Page 21: Groovy e Grails 2

HelloWorld.groovy

✓ Tipos dinâmicos usando a palavra-chave def ✓ Tudo em Groovy é público, a menos que definido ao contrário ✓ Getters e setters automáticas✓ Ponto e vírgula no fim-de-linha são opcionais ✓ Interpolação variável através gStrings ✓ Palavra-chave return é opcional

Page 22: Groovy e Grails 2

Collections.groovy

Page 23: Groovy e Grails 2

GString.groovy

Page 24: Groovy e Grails 2

SpecialOperators.groovy

Page 25: Groovy e Grails 2

Truth.groovy

Page 26: Groovy e Grails 2

MetaProgramming.groovy

Page 27: Groovy e Grails 2

Builders.groovy

Page 28: Groovy e Grails 2

DuckyType.groovy

Page 29: Groovy e Grails 2
Page 30: Groovy e Grails 2
Page 31: Groovy e Grails 2

ReadFile.java

Page 32: Groovy e Grails 2

ReadFile.groovy

Page 33: Groovy e Grails 2

Socket.groovy

Page 34: Groovy e Grails 2

Convenções

Full Stack

Scaffolding

Extensibilidade

Page 35: Groovy e Grails 2

Full Stack

Page 36: Groovy e Grails 2

Command Linegrails create-app book

grails create-domain-class br.com.book

grails create-controller br.com.book

grails generate-all br.com.book

grails install plugin spring-security-core

grails run-app

grails test-app

grails war

grails console

... Custom commands (scripts) podem ser adicionado ao projeto

Page 37: Groovy e Grails 2

Estrutura do Projeto

Page 38: Groovy e Grails 2

Configuração por Ambiente

Page 39: Groovy e Grails 2

GORM (Grails Object Relacional Mapping)

Page 40: Groovy e Grails 2

Domain Classes

Page 41: Groovy e Grails 2

Domain Classes

Page 42: Groovy e Grails 2

Domain Classes

Page 43: Groovy e Grails 2

Basic Crud methods

Page 44: Groovy e Grails 2

Querying

Page 45: Groovy e Grails 2

Dynamic Finders

Page 46: Groovy e Grails 2

Criteria e HQL

Page 47: Groovy e Grails 2

Controller

Page 48: Groovy e Grails 2

Controllers

http://localhost:8080/app/some/action

Page 49: Groovy e Grails 2

Controllers

Page 50: Groovy e Grails 2

Controllers

Page 51: Groovy e Grails 2

Controllers

Page 52: Groovy e Grails 2

Controllers

Page 53: Groovy e Grails 2

XML Responses

Page 54: Groovy e Grails 2

Content Negotiation

Page 55: Groovy e Grails 2

View

Page 56: Groovy e Grails 2

Views

Page 57: Groovy e Grails 2

Views e Taglibs

Page 58: Groovy e Grails 2

Core Taglibs

Page 59: Groovy e Grails 2

Custom Taglibs

Page 60: Groovy e Grails 2

Url Mappings

Convenção padrão: /controller/action/id

Page 61: Groovy e Grails 2

Filters

Page 62: Groovy e Grails 2

Services

Page 63: Groovy e Grails 2

Plugins

Page 64: Groovy e Grails 2

Plugins

Page 65: Groovy e Grails 2
Page 66: Groovy e Grails 2
Page 67: Groovy e Grails 2

GRAILS