If you can't read please download the document
Upload
cleorbete-santos
View
618
Download
1
Embed Size (px)
DESCRIPTION
Apresentação utilizada em 27 de abril de 2013 no FLISOL-DF, que aconteceu na Faculdade IESB em Brasília-DF.
Citation preview
2. FLISOL DF 201327 de abril de 201327 de abril de 2013GrailsGrailsO Java em alta produtividadeO Java em alta produtividadeClerbete SantosClerbete [email protected]@gmail.comwww.cleorbete.comwww.cleorbete.com 3. Help! I lost my mojo!Help! I lost my mojo! Java = Customizao de arquivos deconfigurao, XMLs, scripts... E onde estar o mojo perdido? Grails = The search is over! 4. O que Grails?O que Grails? Grails um Full Stack Framework dedesenvolvimento web que oferece asferramentas, tcnicas e tecnologiaspresentes em outros frameworksJava, combinando-os com o poder e ainovao de uma linguagem dedesenvolvimento dinmica (Groovy),e as vantagens do COC (ConventionOver Configuration); 5. O que o Grails permite?O que o Grails permite? Principalmente que o programadorocupe-se mais na implementao doque na configurao; 6. Grails da SpringsourceGrails da Springsource Springsource? VMWare? Groovy? Spring Framework -> Java | Grails -> Groovy 7. O que Groovy?O que Groovy? uma linguagem OO para a plataforma Java; dinmica, como Python, Ruby, Perl, e outras; Cdigos em Java so sintaticamente aceitos; compilada para bytecodes pela JVM; Possui recursos como tipagem dinmica eclosures; compacta em relao ao Java; 8. O que Groovy?O que Groovy?[continuao][continuao] // Exemplo em Javapublic 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?O que Groovy?[continuao][continuao] // Exemplo em Groovyclass Aluno { String nome } 10. Um pouco de etimologiaUm pouco de etimologia Significado de Grails (Groovy on Rails); Significado de Groovy; 11. Tecnologias disponveis emTecnologias disponveis emGrailsGrails Model: GORM Grails Object RelationalMapping (Hibernate) Controller: Spring Framework Gant Tomcat Embedded View: GSPs Groovy Server Pages (entre outras) 12. Princpios do GrailsPrincpios do Grails DRY Dont Repeat Yourself (DIE DuplicationIs Evil); COC Convention Over Configuration; 13. Estrutura de uma aplicao GrailsEstrutura de uma aplicao Grails /grails-app|---/conf|---/controllers|---/domain|---/i18n|---/services|---/views|---/(...) 14. Comandos do GrailsComandos 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. EXEMPLO:EXEMPLO:Aplicao em GrailsAplicao em Grails 16. ScaffoldingScaffolding Dinmico: recurso que permite ao compiladorcriar o cdigo para o CRUD da aplicao parauso em runtime; Esttico = CRUD em tempo de projeto; um termo em ingls de engenharia civil, quedenota a colocao de andaimes e outrasestruturas para suportar temporariamentetrabalhadores de maquinrio enquanto aconstruo definitiva no est pronta; 17. EXEMPLO:EXEMPLO:Scaffold DinmicoScaffold Dinmico 18. Scaffold EstticoScaffold Esttico grails generate-all 19. EXEMPLO:EXEMPLO:Scaffold EstticoScaffold Esttico 20. H2 Database EngineH2 Database Engine Banco de dados Lightweight, Opensource,Java puro; Suporta nativamente criptografia; Instalado como plugin, no Grails; Trabalha Embedded, Server e Em memria; 21. DataSource.groovyDataSource.groovy grails-app/conf/DataSource.groovy Environments: Create: cria o banco se no existir, mas no omodifica caso j exista. Deleta os dados existentes; Update: Cria o banco se no existir, e modifica-ocaso exista; grails run-app Create-drop: apaga e (re)cria o banco. Deleta osdados existentes; 22. E o Tomcat?E o Tomcat? 23. IDEsIDEs Eclipse e Netbeans do suporte ao Grails; STS Springsource Tool Suite; Notepad, GEdit...; Intellij; 24. Links teisLinks teis www.grails.org www.grailsbrasil.com.br www.groovymag.com www.grails.org/books 25. INTERESSADOS EM CURSOS DEINTERESSADOS EM CURSOS DEGRAILS:GRAILS:[email protected]@gmail.com