Soumettre la recherche
Mettre en ligne
JUGL 2009 - Introduction Groovy/Grails
•
0 j'aime
•
900 vues
C
cyrilpicat
Suivre
Introduction to Groovy/Grails held at the Java User Group Lausanne in 2009
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 45
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009
JUG Lausanne
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
JUG Lausanne
Maven2 - Philippe Kernevez - March 2009
Maven2 - Philippe Kernevez - March 2009
JUG Lausanne
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014
Ippon
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
cornnery
Introduction à Groovy - OpenSource eXchange 2008
Introduction à Groovy - OpenSource eXchange 2008
Guillaume Laforge
Datatainment
Datatainment
lecolededesign
Sage Paie Et Rh Avec Action Informatique
Sage Paie Et Rh Avec Action Informatique
Laurent FAUCOEUR
Recommandé
Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009
JUG Lausanne
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
JUG Lausanne
Maven2 - Philippe Kernevez - March 2009
Maven2 - Philippe Kernevez - March 2009
JUG Lausanne
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014
Ippon
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
cornnery
Introduction à Groovy - OpenSource eXchange 2008
Introduction à Groovy - OpenSource eXchange 2008
Guillaume Laforge
Datatainment
Datatainment
lecolededesign
Sage Paie Et Rh Avec Action Informatique
Sage Paie Et Rh Avec Action Informatique
Laurent FAUCOEUR
Introduction au langage de script Groovy
Introduction au langage de script Groovy
Eric Reboisson
Gradle
Gradle
ylemoigne
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec Groovy
Guillaume Laforge
FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidement
Horacio Gonzalez
Formation Grails
Formation Grails
skeltown
"Apache JMeter, Java et Groovy sont sur un bateau" présentée au Paris JUG
"Apache JMeter, Java et Groovy sont sur un bateau" présentée au Paris JUG
Antonio Gomes Rodrigues
Infoviz 0511
Infoviz 0511
lecolededesign
Groovy workshop à Mix-IT 2013
Groovy workshop à Mix-IT 2013
Guillaume Laforge
Groovy 2.0 update at Devoxx 2012
Groovy 2.0 update at Devoxx 2012
Guillaume Laforge
Les nouveautés de Groovy 2 -- Mix-IT 2013
Les nouveautés de Groovy 2 -- Mix-IT 2013
Guillaume Laforge
Présentation Groovy
Présentation Groovy
JS Bournival
JHipster à Devoxx 2015
JHipster à Devoxx 2015
Julien Dubois
De Devoxx au CAC40
De Devoxx au CAC40
Julien Dubois
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
HORIYASOFT
Introduction à Angular 2
Introduction à Angular 2
Vincent Caillierez
JHipster overview
JHipster overview
Julien Dubois
Devoxx : being productive with JHipster
Devoxx : being productive with JHipster
Julien Dubois
DEMARCHE AUDIT INFORMATIQUE DANS UNE BANQUE - RAPPORT DE STAGE
DEMARCHE AUDIT INFORMATIQUE DANS UNE BANQUE - RAPPORT DE STAGE
hpfumtchum
Jenkins Workflow
Jenkins Workflow
Jean Detoeuf
Les guides d'audit TI de l'ISACA
Les guides d'audit TI de l'ISACA
Yann Riviere CCSK, CISSP, CRISC, CISM
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans rupture
Guillaume Laforge
Introduction à web assembly
Introduction à web assembly
Jérémy Buget
Contenu connexe
En vedette
Introduction au langage de script Groovy
Introduction au langage de script Groovy
Eric Reboisson
Gradle
Gradle
ylemoigne
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec Groovy
Guillaume Laforge
FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidement
Horacio Gonzalez
Formation Grails
Formation Grails
skeltown
"Apache JMeter, Java et Groovy sont sur un bateau" présentée au Paris JUG
"Apache JMeter, Java et Groovy sont sur un bateau" présentée au Paris JUG
Antonio Gomes Rodrigues
Infoviz 0511
Infoviz 0511
lecolededesign
Groovy workshop à Mix-IT 2013
Groovy workshop à Mix-IT 2013
Guillaume Laforge
Groovy 2.0 update at Devoxx 2012
Groovy 2.0 update at Devoxx 2012
Guillaume Laforge
Les nouveautés de Groovy 2 -- Mix-IT 2013
Les nouveautés de Groovy 2 -- Mix-IT 2013
Guillaume Laforge
Présentation Groovy
Présentation Groovy
JS Bournival
JHipster à Devoxx 2015
JHipster à Devoxx 2015
Julien Dubois
De Devoxx au CAC40
De Devoxx au CAC40
Julien Dubois
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
HORIYASOFT
Introduction à Angular 2
Introduction à Angular 2
Vincent Caillierez
JHipster overview
JHipster overview
Julien Dubois
Devoxx : being productive with JHipster
Devoxx : being productive with JHipster
Julien Dubois
DEMARCHE AUDIT INFORMATIQUE DANS UNE BANQUE - RAPPORT DE STAGE
DEMARCHE AUDIT INFORMATIQUE DANS UNE BANQUE - RAPPORT DE STAGE
hpfumtchum
Jenkins Workflow
Jenkins Workflow
Jean Detoeuf
Les guides d'audit TI de l'ISACA
Les guides d'audit TI de l'ISACA
Yann Riviere CCSK, CISSP, CRISC, CISM
En vedette
(20)
Introduction au langage de script Groovy
Introduction au langage de script Groovy
Gradle
Gradle
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec Groovy
FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidement
Formation Grails
Formation Grails
"Apache JMeter, Java et Groovy sont sur un bateau" présentée au Paris JUG
"Apache JMeter, Java et Groovy sont sur un bateau" présentée au Paris JUG
Infoviz 0511
Infoviz 0511
Groovy workshop à Mix-IT 2013
Groovy workshop à Mix-IT 2013
Groovy 2.0 update at Devoxx 2012
Groovy 2.0 update at Devoxx 2012
Les nouveautés de Groovy 2 -- Mix-IT 2013
Les nouveautés de Groovy 2 -- Mix-IT 2013
Présentation Groovy
Présentation Groovy
JHipster à Devoxx 2015
JHipster à Devoxx 2015
De Devoxx au CAC40
De Devoxx au CAC40
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Introduction à Angular 2
Introduction à Angular 2
JHipster overview
JHipster overview
Devoxx : being productive with JHipster
Devoxx : being productive with JHipster
DEMARCHE AUDIT INFORMATIQUE DANS UNE BANQUE - RAPPORT DE STAGE
DEMARCHE AUDIT INFORMATIQUE DANS UNE BANQUE - RAPPORT DE STAGE
Jenkins Workflow
Jenkins Workflow
Les guides d'audit TI de l'ISACA
Les guides d'audit TI de l'ISACA
Similaire à JUGL 2009 - Introduction Groovy/Grails
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans rupture
Guillaume Laforge
Introduction à web assembly
Introduction à web assembly
Jérémy Buget
La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!
OCTO Technology
GWT no-dto
GWT no-dto
François Wauquier
Cours cordova & REST
Cours cordova & REST
Christophe Zome
Comptoir - Utiliser une solution d'edge Open Source pour améliorer l'inspecti...
Comptoir - Utiliser une solution d'edge Open Source pour améliorer l'inspecti...
OCTO Technology
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
OCTO Technology
Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013
jeromevdl
Le futur de gwt
Le futur de gwt
Arnaud Tournier
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
Sacha Leprêtre
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
AZUG FR
Support formation : Construire et administrer vos conteneurs avec Docker
Support formation : Construire et administrer vos conteneurs avec Docker
SmartnSkilled
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
SmartnSkilled
Formation Play! framework
Formation Play! framework
Benoît Simard
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open Source
Christian Charreyre
Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
Romain Chalumeau
Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : Architecture microservices hautement disponible au...
Publicis Sapient Engineering
Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...
Christian Charreyre
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
Arnaud Héritier
Retour d'expérience du métier d'architecte logiciel
Retour d'expérience du métier d'architecte logiciel
Mik_Arber
Similaire à JUGL 2009 - Introduction Groovy/Grails
(20)
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans rupture
Introduction à web assembly
Introduction à web assembly
La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!
GWT no-dto
GWT no-dto
Cours cordova & REST
Cours cordova & REST
Comptoir - Utiliser une solution d'edge Open Source pour améliorer l'inspecti...
Comptoir - Utiliser une solution d'edge Open Source pour améliorer l'inspecti...
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013
Le futur de gwt
Le futur de gwt
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
Support formation : Construire et administrer vos conteneurs avec Docker
Support formation : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Formation Play! framework
Formation Play! framework
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open Source
Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : Architecture microservices hautement disponible au...
Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
Retour d'expérience du métier d'architecte logiciel
Retour d'expérience du métier d'architecte logiciel
Plus de cyrilpicat
Afterwork OCTO Delivery - L'ADN d'un développement produit réussi
Afterwork OCTO Delivery - L'ADN d'un développement produit réussi
cyrilpicat
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
cyrilpicat
SITB15 - Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?
SITB15 - Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?
cyrilpicat
Petit-déjeuner Mobilité 2011 - strategie mobile
Petit-déjeuner Mobilité 2011 - strategie mobile
cyrilpicat
Make use of Sonar for your mobile developments - It's easy and useful!
Make use of Sonar for your mobile developments - It's easy and useful!
cyrilpicat
10 idées recues sur le Bring Your Own Device
10 idées recues sur le Bring Your Own Device
cyrilpicat
February JUGL on Software Quality Analysis
February JUGL on Software Quality Analysis
cyrilpicat
Plus de cyrilpicat
(7)
Afterwork OCTO Delivery - L'ADN d'un développement produit réussi
Afterwork OCTO Delivery - L'ADN d'un développement produit réussi
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
SITB15 - Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?
SITB15 - Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?
Petit-déjeuner Mobilité 2011 - strategie mobile
Petit-déjeuner Mobilité 2011 - strategie mobile
Make use of Sonar for your mobile developments - It's easy and useful!
Make use of Sonar for your mobile developments - It's easy and useful!
10 idées recues sur le Bring Your Own Device
10 idées recues sur le Bring Your Own Device
February JUGL on Software Quality Analysis
February JUGL on Software Quality Analysis
JUGL 2009 - Introduction Groovy/Grails
1.
Introduction Groovy /
Grails JUG Lausanne Jeudi 10 décembre 2009
2.
Présentateur § Cyril PICAT §
Architecte chez OCTO Technology § cpicat@octo.com § http://www.octo.com Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 2
3.
Agenda § L’éco-système Groovy
(GR3) § Présentation de Groovy § Présentation de Grails § Synthèse : Groovy / Grails pour ? Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 3
4.
L’ECO-SYSTÈME GROOVY (GR3) Copyright
© 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 4
5.
Qu’est-ce que Groovy
? § Groovy est un langage dynamique pour la machine virtuelle Java § « Interprété » ou compilé § Génère du bytecode § Grammaire dérivée du langage Java § Et inspiré d’autres langages : Python, Ruby, SmallTalk § Son but est de simplifier la vie des développeurs Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 5
6.
Qu’est-ce que Grails
? § Grails est un framework de développement d’applications Web § Inspiré par Ruby on Rails, Django, Turbo Gears § Pour la plateforme Java § Basé sur Groovy § S’appuie sur des briques Open Source reconnues (Spring, Hibernate etc…) § Son but est de simplifier le développement tout en permettant la ré-utilisation de l’existant Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 6
7.
Un peu d’histoire… §
Groovy § § § § Lancé en 2003 Version 1.0 en janvier 2007 Branche stable : 1.6.7 datée de décembre 2009 JSR-223 en 2006 : langages de script sur la JVM § Grails § Lancé en 2005 § Version 1.0 en février 2008 § Branche stable : 1.1.2 datée de novembre 2009 Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 7
8.
Eco-système § Griffon § Framework
MVC pour construire des applications Swing – similaire à Grails pour le RDA § Gradle § Nouveau système de build inspiré de Ant, Maven et Ivy § Easyb § Behaviour Driven Development (BDD). Utilise du langage naturel pour décrire les tests et donc documenter le code Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 8
9.
PRÉSENTATION DE GROOVY Copyright
© 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 9
10.
Langage § Dérivé de
Java § À quelques exceptions près… § Un programme Java compile en Groovy § Surcouche à Java § En terme de syntaxe § En terme d’API § Apports § Simplification du code § Expressivité, lisibilité du code § Simplification de l’écriture de scripts Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 10
11.
Ex. d’utilisation -
DSL § DSL = Domain Specific Language § Grails fait un usage intensif de ces fonctionnalités § ex. GORM, l’API de persistence de Grails Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 11
12.
Outils § Shell et
console: groovysh and groovyConsole § Tâche Ant, plugin Maven (GMaven) § Un compilateur joint groovyc § Compile Groovy et Java simultanémenent § Support dans les IDE Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 12
13.
DEMO: HELLOWORLD EN
GROOVY Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 13
14.
Intéropérabilité avec Java §
Groovy génère des .class - bytecode Java § § § § § Mêmes chaînes de caractères et expressions régulières Mêmes APIs — JDK, collections, 3rd party Même modèle de sécurité, même threading Même modèle de programmation Orienté Objet Compilation “jointe” Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 14
15.
Listes, maps, ranges,
regex... § Listes § def list = ["Groovy", "Grails"] println list[0] list[2] = "Griffon" § Maps — dictionnaires def states = [CA: "California", TX: "Texas"] println states["CA"]; println states.CA States["NY"] = "New York" § Ranges def range = 1..10; def range = 'a'..'d' for (i in 1..10) { … } § Regex (myString =~ /Hello/).each { … } Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 15
16.
GDK § GDK =
Groovy Development Kit § Groovy « décore » le JDK existant § étend Object § étend des classes final comme java.lang.String ou java.io.File § Exemples : new File(“f.txt”).eachLine { println it } (1..100).findAll { it % 2 == 1 } speakers.groupBy { it.lastname } “123”.padLeft(5, ‘0’) Thread.start { /* code to be executed */ } Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 16
17.
DEMO: REST EN
GROOVY Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 17
18.
Et bien plus... § § § § § § § § § Surcharge
d’opérateurs Multi-méthodes API pour SQL, Ant, XML, templates, Swing, JMX, WS Groovy Truth GPath avancé Groovy Builders Paramètres nommés Meta-programming statique (AST) et dynamique (MOP) Autres mécanismes d’intégration avec Spring, Java etc… Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 18
19.
PRÉSENTATION DE GRAILS Copyright
© 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 19
20.
Vision très haut-niveau §
Grails est un framework MVC action-based § Grails utilise les principes rendus populaires par Rails § CoC: Convention over Configuration § DRY: Don’t Repeat Yourself § Scaffolding § Productivité et simplicité de développement Web § Tout en protégeant votre investissement sur la plateforme Java Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 20
21.
Vision haut-niveau Copyright ©
2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 21
22.
Vision rapprochée § Grails
est bâti sur des technologies éprouvées § § § § § § la JVM, les specs Java EE, les serveurs d’app Spring : IoC, DI, Spring MVC, Spring WebFlow Hibernate : Object-Relational Mapping SiteMesh : structure de page et composition Quartz : séquencement de tâches Jetty and HSQLDB : pour des cycles de développement rapide § Grails est fourni comme un ensemble intégré et est productif immédiatemment Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 22
23.
DEMO: CRÉATION D’UNE
APPLICATION GRAILS VIDE Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 23
24.
Arborescence et nommage Copyright
© 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 24
25.
Outils § Les mêmes
outils que pour Groovy § Sauf pour Eclipse, pas de support direct de Grails § Support de Grails dans Eclipse via SpringSource Tools Suite (STS) Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 25
26.
DEMO: DOMAINE /
CONTROLLEUR / VUE / SERVICE Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 26
27.
Avez-vous remarqué ? § § § § § Où
sont les fichiers de configuration ? Pas besoin d’écrire du XML ? Où sont mes DAOs ? Où sont mes fichiers de mapping ? Pas besoin de configurer une base de données ? § Pas besoin d’installer et de configurer un serveur d’app ? § Pas besoin de télécharger des tonnes de jar depuis des repositories Maven ? => Il y a de la magie dans l’air :-) Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 27
28.
Synthèse demo § Explication
des conventions § § § § Domaine Controlleur / Actions Vue Service § CRUD en Grails Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 28
29.
DEMO: WEB LAYER Copyright
© 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 29
30.
Synthèse demo § GSP §
Support de la syntaxe JSP/ASP <% %> § GSP tags : variable, logique, search, filter, links, forms § Tags • fonctions groovy standard utilisables en <g:xx> ou ${g.xx} § Création de librairies de Tag § Templates § Layout de site avec SiteMesh Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 30
31.
DEMO: DOMAINE -
GORM Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 31
32.
Synthèse demo § DSL
GORM (Grails ORM) § Contraintes / Validation § Association / Composition / Héritage § Classes du domaine décorées § save / delete § count / get / getAll / list • pagination & sorting § dynamic finders : findBy / findAllBy • pagination & sorting Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 32
33.
DEMO: CONTROLLER &
BINDINGS Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 33
34.
Synthèse demo § GORM §
Controller § Bindings : simple / multiple / association § URL Mappings Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 34
35.
Plugins § Grails est
bâti sur un système de plugins évolué § Le coeur même de Grails est constitué de plugins § Hibernate plugin § Tomcat plugin § Les plugins rajoutent de la fonctionnalité § Domaine, service, controlleur, tag libs et même conventions ! Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 35
36.
DEMO: GOOGLE CHART
PLUGIN Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 36
37.
Plugins disponibles § 100+
plugins disponibles § § § § § § Build : Maven Tests : Webtest, Easyb, Selenium, jsUnit, Fitnesse… Rich client / AJAX : Yahoo, Ext-JS, GWT, jQuery, iUI… Web Services : XFire, remoting, Axis2, Metro… Sécurité : Spring Security, Jsecurity… Search : Compass integration… Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 37
38.
Déploiement § Environnements § Par
défaut développement / test / production § Possibilité de créer ses propres environnements § Déploiement § Commandes ‘grails run-app/run-war/war’ § Serveurs d’application supportés § Tomcat, Jetty, GlassFish, JBoss, Weblogic etc… Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 38
39.
Ce que l’on
a pas vu… § § § § § § Advanced Query : Hibernate HQL, Criteria Spring Web Flow Internationalisation Architectures type REST Tests en Grails GORM avancé § eager/lazy fetching, pessimistic/optimistic locking § utilisation de schémas existants, de mapping Hibernate ou de configuration Spring existantes § Filtres / intercepteurs Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 39
40.
SYNTHÈSE : GROOVY
/ GRAILS POUR ? Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 40
41.
Synthèse § Parfait pour
développer rapidement des applications innovantes § Adapté à un développement Agile des applications § Permet de montrer très rapidement des écrans fonctionnels § Également adapté aux développement de nouvelles fonctionnalités en s’interfaçant avec du legacy § Architecture type REST § Permet de profiter de toutes ces nouveautés toute de suite § Pas d’impact en production § Permet une transition facile de la zone d’innovation vers la zone rationalisée § Si besoin Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 41
42.
Bibliographie § Livres § Groovy •
Groovy in Action § Grails • The Definitive Guide to Grails, 2nd edition • Grails in Action § Ressources : § Groovy User Guide : http://groovy.codehaus.org/User+Guide § Groovy GDK : http://groovy.codehaus.org/groovy-jdk § Grails User Guide : http://www.grails.org/doc/latest Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 42
43.
Sources § « Introduction
à Groovy », Guillaume Laforge, Paris JUG, septembre 2008 § « Groovy & Grails in Action! », Guillaume Laforge, Devoxx, 2008 Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 43
44.
Licence Creative Commons Contrat Paternité Pas
d'Utilisation Commerciale Partage des Conditions Initiales à l'Identique 2.0 France http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Copyright © 2009 – OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 44
45.
Q&A Copyright © 2009
– OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 45
Télécharger maintenant