@_JamesWard and @mraible
Theme: Sky - Beige - Simple - Serif - Night - Default
Play 2 and Grails 2 are often hyped as the most productive JVM Web Frameworks.
* We wanted to know how they enhanced the Developer Experience (DX).
Stretch Goals: Search, Photo Upload to S3
Play Framework is based on a lightweight, stateless, web-friendly architecture. Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.
Powered by Spring, Grails outperforms the competition. Dynamic, agile web development without compromises.
Powered by Spring, Grails outperforms the competition. Dynamic, agile web development without compromises.
Later added: QA Person and BrowserMob
We developed the same app, in similar ways, so let's look at the different layers.
grails-app/conf/DataSource.groovy
conf/evolutions/default/2.sql
Using Heroku Postgres in production rocks!
grails-app/conf/UrlMappings.groovy
conf/routes
grails-app/domain/happytrails/Region.groovy
app/models/Direction.java
grails-app/controllers/happytrails/HomeController.groovy
app/controllers/RouteController.java
grails-app/views/region/show.gsp
app/views/region.scala.html
grails-app/controllers/happytrails/RouteController.groovy
grails-app/views/route/create.gsp
app/controllers/RouteController.java
app/views/signupForm.scala.html
IntelliJ Rocks!
grails-app/jobs/happytrails/DailyRegionDigestEmailJob.groovy
app/jobs/DailyRegionDigestEmailJob.java
grails-app/controllers/happytrails/RegionController.groovy
app/jobs/DailyRegionDigestEmailJob.java
grails-app/jobs/happytrails/DailyRegionDigestEmailJob.groovy
* powered by the mail plugin (built-in)
app/jobs/DailyRegionDigestEmailJob.java
conf/prod.conf
app/models/S3Photo.java
app/controllers/RegionController.java
test/unit/happytrails/RouteTests.groovy
* Grails plugins often aren't in test scope.
test/ApplicationControllerTest.java
grails-app/conf/BootStrap.groovy
app/Global.java
grails-app/conf/Config.groovy
conf/prod.conf
Spring Security UI Plugin, I love you!
grails-app/conf/Config.groovy
app/controllers/Secured.java
app/controllers/RegionController.java
Bike (Grails)
Hike (Play)
Bike (Grails)
Hike (Play)
* Presentation created with Reveal.js, Google Charts and GitHub Files.
Learn something new*!
* Or prove that we're wrong...