9. Introduction N. ADOUANI - février 10 page 4 Grails est un Framework de développement Web, type MVC, dit de « haute productivité ». Il est construit autour de technologies qui ont fait leurs preuves dans l’écosystème Java/J2ee tel que Spring, Hibernate, Sitemesh et autres. Il est basé sur le langage dynamique Groovy et sur certains paradigmes du génie logiciel comme « la configuration basée sur les conventions »
10.
11. de faire un rapprochement entre Grails et les méthodologies agiles
12. montrer des exemples d’intégration de Grails avec les Frameworks AJAX, FLEX, etc…N. ADOUANI - février 10 page 5
14. Un peu d’histoire N. ADOUANI - février 10 page 7 Graeme Rocher : le fondateur du projet Grails Guillaume Laforge: le chef du projet Groovy Ils ont créé la société G2One qui a été rachetée par SpringSource en Novembre 2008
15. Un peu d’histoire N. ADOUANI - février 10 page 8 Grails = Pluriel de « grail » en anglais = Les Graals, d’où le logo du Framework Grails = Groovy on Rails par analogie au Framework Ruby on Rails
28. Dynamique : les contrôleurs et les vues sont générés en « runtime » (au cours de l’exécution) => la modification du modèle ne demande pas de régénération de code
29. Statique : le code source des contrôleurs et des vues est généré lors du développement=> la modification du modèle métier nécessite une régénération de codeN. ADOUANI - février 10 page 13
32. Tests unitaires: des tests qui n’ont aucune dépendance, notamment vers la base de données, le conteneur de Servlet, les interactions HTTP, les WS s’il y en a…=> nécessité d’utiliser des objets mock (bouchons)
33. Tests d’intégration: des tests qui ont accès à tout l’environnement de l’application (accès à la base de données, à la session, la requete HTTP…
45. PASSONS à la pratique page 16 N. ADOUANI - février 10
46.
47. Il offre en plus de la syntaxe Java classique, une syntaxe simplifiée et plus intuitive
48. Groovy est un langage orienté objet et peut être utilisé comme langage de script
49. Il est compilé vers du bytecode comme Java et interprété par la JVMN. ADOUANI - février 10 page 17
50. Groovy, le langage dynamique (2) Groovy offre de nouvelles possibilités pour les développeurs: page 18 Les GStrings Les maps Les closures Les boucles Les listes N. ADOUANI - février 10
84. Grails utilise l’ensemble des contraintes pour générer les vues dans le cadre du scaffolding et pour effectuer la validation des formulaires d’ajout et de modification d’une instance de « Categorie »N. ADOUANI - février 10 page 22
156. Le client peut faire ses feedback au plus tôt.N. ADOUANI - février 10 page 35
157.
158. Réponse : Un projet agile par nature est itératif et incrémental, et dispose d’une grande fréquence de changement au niveau des besoins fonctionnels
159. Avec Grails les fonctionnalités sont rapidement mises en place et donc rapidement mise en question (si elle doivent être mises en question)=> « failfast » très rapide
160. Laisser tomber un code qui a couté 1 semaine de travail et plus simple que jeter un code qui coute facilement le doubleN. ADOUANI - février 10 page 36
161.
162. Réponse: en agile, la qualité n’est pas négociable, et les tests unitaires ou autres sont obligatoires pour la réussite de la réalisation et l’évolution du projet
163. Avec Grails, le langage utilisé est le langage dynamique Groovy.=> langage dynamique = les classes ont des comportements qui s’ajoutent en runtime=> le compilateur ne détecte pas toutes les anomalies lors des développements=> d’où la forte nécessité à couvrir le maximum de code, la solution est le TDD = tests unitaires avec une couverture maximaleN. ADOUANI - février 10 page 37
172. Le compilateur Groovy ne détecte pas toute les erreurs de compilation, à cause des méthodes dynamiques => multiplier les tests unitaires et avoir une couverture de code maximale