31
GRAILS BY RENAUD HOYOUX

Grails, une application web Java en toute simplicité

Embed Size (px)

Citation preview

GRAILS

BY

RENAUD HOYOUX

ABOUT MELead Developer on Cytomine.Benevolent Dictator of the non-prot organization KodoWallonie.Coach at CoderDojo Liège.

CYTOMINE TECHNOLOGIES

CYTOMINE IS OPEN MIND

Open SourceOpen Science & Open Data & Open AccessOpen Education & Open Entrepreneurship

WHAT IS GRAILS ?

GRAILSWeb application frameworkOpen Source (Apache 2)High-Productivity & Flat learning curveBased on the Java platform (Groovy)Convention over CongurationMVC

WHAT'S GROOVY ?

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

MVC ?

MVC !

CONVENTION OVER CONFIGURATION

SIMPLICITYcontrollers in grails-app/controllersdomains in grails-app/domainservices in grails-app/servicesviews in grails-app/viewstests in test...

NO XML

DEMO ?

NO !

Sorry, it was a video here.

CREATE AN APP

Sorry, it was a video here.

CREATE A DOMAIN

Sorry, it was a video here.

CREATE A CONTROLLER

Sorry, it was a video here.

THEN THE VIEW

DYNAMIC FINDERS IN GORMTalk.findByTitle("Grails is awesome")Talk.findAllBySubtitle("I want sandwiches")Talk.findAllBySpeakerAndDateBetween(speaker, firstDate, secondDate)

PLUGINS

AND SO ONFiltersInternationalizationWeb Flows

PRODUCTIONgrails war

Generate a classical war to deploy like a Java war.

George Orwell

“All Web ARchives are equal ...”

HIGH PRODUCTIVITYFOCUSING ON BUSINESS INSTEAD OF PLUMBING

CONCLUSIONGrails is cool.Grails is not an opponent of JavaEE.The competitor frameworks are Ruby on Rails or Django.

@TheGeekTortoise