groovy e grails 2

Post on 19-Aug-2015

24 Views

Category:

Software

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

GRAILS

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

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

JEE

1999

Struts

JSP WidgetOpenXavaTurbine

JSF

SombreroSwingWeb

VRaptorCocoonCalyxoWicket

TapestryWebOnSwing

Maverick

Desenvolvimento Java Web

JEE

1999

Desenvolvimento Java Web

Gerenciar Complexidade

Convenções

Full Stack

Scaffolding

Extensibilidade

Migrar tudo para Rails?

Experiência Flexibilidade

Convenções

Full Stack

Scaffolding

Extensibilidade

“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

Mas o que é porque Groovy?

Linguagem OO, ágil e dinâmica

Poderes adicionais inspirados em linguagens como Python, Ruby e Smalltalk

Integra com todas as classes e bibliotecas Java existentes

Curva de aprendizagem quase zero para desenvolvedores Java

JVM Languages

HelloWorld.java

HelloWorld.groovy

Curva de aprendizagem quase zero para desenvolvedores Java

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

Collections.groovy

GString.groovy

SpecialOperators.groovy

Truth.groovy

MetaProgramming.groovy

Builders.groovy

DuckyType.groovy

ReadFile.java

ReadFile.groovy

Socket.groovy

Convenções

Full Stack

Scaffolding

Extensibilidade

Full Stack

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

Estrutura do Projeto

Configuração por Ambiente

GORM (Grails Object Relacional Mapping)

Domain Classes

Domain Classes

Domain Classes

Basic Crud methods

Querying

Dynamic Finders

Criteria e HQL

Controller

Controllers

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

Controllers

Controllers

Controllers

Controllers

XML Responses

Content Negotiation

View

Views

Views e Taglibs

Core Taglibs

Custom Taglibs

Url Mappings

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

Filters

Services

Plugins

Plugins

GRAILS

top related