If you can't read please download the document
Upload
lucas-aquiles
View
853
Download
0
Embed Size (px)
DESCRIPTION
Slides da apresentação s
Citation preview
2. Quem somos? Lucas Aquiles / @lucas_aquiles ADS / IFPI [email_address] lucasaquiles.com.br/blog Fco Marcos / @fcomarcosrocha ADS / IFPI Colaborador LAPESI [email protected] 3. O Grails
4. Ruby on Rails, Django, TurboGears Construdo sobre gigantes
5. Spring Framework 6. Hiberante Reduz a complexidade 7. Produtividade 8. O Grails
Camada de viso
9. TagLib dinmicas e SiteMesh Camada de controle:
Dependency Injection (DI)
Internacionalizao (i18n) 10. 11. Grails - Instalao e Configurao
12. Hello Grails
13. grais create-controller HelloWord 14. grails- app/controllers/helloword/HelloWordController.groovy 15. def helloword = { render meu 123487 hello word! } 16. Comandos - Grails
17. grailscreate-domain-classbr.edu.ifpi.MinhaClass 18. grailscreate-controllerbr.edu.ifpi.MinhaClass 19. grailscreate-servicebr.edu.ifpi.MinhaClass 20. grailsgenerate-all// gera as views os controlleres 21. grailsschema-export// expora o esquema de tabelas 22. grailsconsole// abre o console do groovy 23. grailsclean// limpa ateraes 24. grailsrun-app// roda a aplicao 25. Grails - Estrutura Arquivos de configurao: DataSource.groovy Config.groovy Bootstrap.groovy internacionalizao web.xml Libs adicionais: ex mysql-connector.jar 26. DataSource - Grails
27. Configurado por padro com o HSQLDB
Possui trs ambientes de trabalho
28. DataSource - Grails 29. MVC - Grails
30. grails create-domain-class 31. Separar a lgica de negcio do modelo 32. Cada classe de domnio corresponde uma tabela do banco de dados relacional 33. MVC - Grails
34. grails create-controller 35. action:So clousures que iro receber as requisies e fazer alguma coisa
36. MVC - Grails
} flash:map temporrio que armazena objetos da seo, o hash limpo a cada nova requisio
} 37. MVC - Grails
38. redirect:redireciona uma ao usando HTTP redirect
} 39. MVC Grails
40. def scaffolding = MinhaClasseDeDominio 41. MVC - Grails
42. ou Utilizam a GSP taglib
43. Semelhando ao JSP
44. 45. MVC - Grails
Ttulo: ${it.titulo}
46.
Ttulo: ${livro.titulo}
47. MVC - Grails
48.
49.
50. Service - Grails
51. grails-app/services/ 52. Centraliza a regra de negcio 53. Compartilha a mesma regra com classes de domnio que possuam essa lgica 54. Injetado automaticamente no controller pelo Spring 55. Service - Grails
56. transactional = true
57. Consistncia-o banco de dados deve permanecer consistente antes e depois de uma operao 58. Isolao uma transao est isolada das outras operaes 59. Durabilidade desde que a transao esteja feita, isso garante que a transao no possa ser desfeita 60. Scaffolding - Grails
61. timo para prototipao 62. Scaffolding - Grails
Scaffolding esttico
63. grails generate-controller : cria o controlador para uma classe de domnio especfica 64. grails generate-all : cria os controlers + views 65. ex: grails generate-all br.edu.ifpi.beans.Aluno 66. MVC - Grails
67. Permite fazer o mapeamento objeto / relacional do modelo orientado a objetos com o banco de dados relacional 68. Cada classe de domnio representa uma tabela do banco de dados 69. Uma instncia representa uma linha da tabela 70. Cada atributo da classe representa uma coluna da tabela 71. MVC - Grails
72. TUDO ISSO? 73. GORM - Grails
74. grails console 75. def usuario = new User(login:tr00,password:tr00) 76. usuario.save() 77. No precisa extender de ningum, no precisa de annotations. 78. grande semelhana com o ActiveRecord 79. GORM - Grails
80. list() 81. delete() 82. get(Object o) Buscadores dinmicos 83. GORM - Grails
FindAllBy*
FindWhere, findAllWhere
HQL Hibernate Query Language
84. Parmetros:
85. ORM - Grails
Like
NotEqual
IsNull
IsNotNull
86. GORM - Grails
87. Uma das mais poderosos de de busca
88. list : retorna uma lista de instancias 89. count : retorna um total de resultados como um inteiro da query 90. def c = DomainClass.createCriteria() 91. def result = c.list{ eq('nome','tr00' } 92. GORM - Grails
OneToMany
HasMany 93. - clubhasManyplayers
94. Club.addToPlayers(new Player()) 95. Club.removeFromPlayers(Player.get(1L)) BelongsTo
96. i18n - Grails
97. Permite exibir mensagens no idioma de preferncia do usurio 98. Os arquivos .properties 99. Testes - Grails
100. Usa o Junit e o Canoo por baixo dos panos 101. Permite fazer:
102. Testes de integrao 103. Testes funcionais A aplicao vai trabalhar como esperado 104. A classe de testes extendem de GroovyTestCase 105. Permite o uso de assert*, setUp e tearDown 106. Tests - Grails
107. Testes unitrios no grails so criados com o comando:
108. tests/unit/ nos testes unitrios os mtodos dinmicos como save, findBy* no esto disponveis 109. O grails faz isso pra ajudar voc a diferenciar testes unitrios e de integrao 110. testes unitrios se preucupam em testar apenas uma parte do cdigo e no o problema como um todo 111. Testes - Grails
112. Testes - Grails
113. http://groovy.codehaus.org/Groovy+Mocks 114. Aplicao de exemplo - Grails
115. Uma resposta pode receber votos, a resposta mais votada tda como a mais confivel Regras:
116. Uma pergunta tem um usurio ( quem perguntou ) e vrias respostas 117. Uma resposta pertence a uma pergunta e possui vrios usurios ( quem respondu )