ABOUT MELead Developer on Cytomine.Benevolent Dictator of the non-prot organization KodoWallonie.Coach at CoderDojo Liège.
CYTOMINE IS OPEN MIND
Open SourceOpen Science & Open Data & Open AccessOpen Education & Open Entrepreneurship
GRAILSWeb application frameworkOpen Source (Apache 2)High-Productivity & Flat learning curveBased on the Java platform (Groovy)Convention over CongurationMVC
WHAT'S GROOVY ?Compiled to JVMDynamic langage (with dynamic typing)Operators overloadingClosuresUseful for scriptingMore OO than Java
DYNAMICdef myVariable = "Coucou"myVariable = myVariable.toCharArray();myVariable = 42
void test() throw new tooMuchPeketException("up");void test2() test()
MAPS ... MAPS EVERYWHEREdef pair = [first : 17, second : "test"]def developer = [name : Hoyoux, age : 27, language:Groovy]println pair.first
CLOSURES//empty listdef developers = []developers << [name : Hoyoux, age : 27, language:Groovy]developers << [name : Doe, age : 41, language:PHP]//...String bestLanguage = "Java"def ages = developers.findAllit.language == bestLanguage .collectit.age
SIMPLICITYcontrollers in grails-app/controllersdomains in grails-app/domainservices in grails-app/servicesviews in grails-app/viewstests in test...
DYNAMIC FINDERS IN GORMTalk.findByTitle("Grails is awesome")Talk.findAllBySubtitle("I want sandwiches")Talk.findAllBySpeakerAndDateBetween(speaker, firstDate, secondDate)
PRODUCTIONgrails war
Generate a classical war to deploy like a Java war.
George Orwell
“All Web ARchives are equal ...”
CONCLUSIONGrails is cool.Grails is not an opponent of JavaEE.The competitor frameworks are Ruby on Rails or Django.