Want to dive even deeper?

Take the course Building an Application with CoffeeScript by Darko and become an expert!
Building an Application with CoffeeScript
by Darko

Check it out!
You're watching a preview of this video, click the button on the left to puchase the full version from Devoxx'10.

HTML5 with Play/Scala, CoffeeScript and Jade

This session shows you how to use some of the hottest technologies today to build a webapp, an API and a mobile application to track fitness workouts. Using HTML5 technologies (specifically geo and local storage), I’ll show you how you can track the time, distance and music you listened to while exercising. Play with Scala is used for the backend and services, while CoffeeScript and Jade are used for the front-end templating and Ajax communication.

Published on
  • 4.583
  • 105
  • 0
  • 21
  • 7
  • HTML5 w/ Play Scala, CoffeeScript and Jade Matt Raible matt@raibledesigns.com @mraible Photos by Trish McGinity - http://mcginityphoto.com
  • Introductions How many of you like beer? Have you used HTML5? Have you used Play Framework? Have you used Scala? Tried CoffeeScript? Scalate or Jade? © 2011 Raible Designs 2
  • Matt Raible © 2011 Raible Designs
  • © 2011 Raible Designs
  • © 2011 Raible Designs
  • © 2011 Raible Designs
  • © 2011 Raible Designs
  • © 2011 Raible Designs
  • © 2011 Raible Designs
  • © 2011 Raible Designs
  • © 2011 Raible Designs
  • Agenda Introductions Why am I doing this talk? What are these technologies? My Development Experience Demo Q and A Conclusion © 2011 Raible Designs 12
  • Why am I doing this talk? © 2011 Raible Designs 13
  • Why am I doing this talk? © 2011 Raible Designs 14
  • Why am I doing this talk? © 2011 Raible Designs 15
  • Why am I doing this talk? I like a Challenge to... - Learn Scala Via Play! And Jade is cool too! So is CoffeeScript! © 2011 Raible Designs 16
  • Why am I doing this talk? Honestly, it's because of James Strachan... © 2011 Raible Designs 17
  • Why am I doing this talk? Who likes beer too! © 2011 Raible Designs 18
  • Why am I doing this talk? © 2011 Raible Designs 19
  • What are these technologies? © 2011 Raible Designs 20
  • HTML5 http://on.wsj.com/tEGIJL © 2011 Raible Designs 21
  • How do you write HTML5? <!DOCTYPE html> <article> <aside> <section> <header> <footer> <nav> <audio> <canvas> <video> <datalist> <details> <applet> <center> <font> <frame> <frameset> http://www.w3schools.com/html5/html5_reference.asp © 2011 Raible Designs 22
  • CSS3 Animated Transitions transform: rotateY(180deg); Rounded Corners border-radius: 8px 8px 0 0; Drop Shadows box-shadow: 2px 2px 4px 4px; Gradient Colors Styling based on sibling count More cursors for better usability Custom Checkboxes and Radio Buttons http://lea.verou.me/css3-secrets © 2011 Raible Designs 23
  • Play Framework A full-stack Java Web Framework made by Web Developers Compile on-the-fly Stateless Architecture Breaks web framework norms - Uses static methods Doesn't use Servlet API © 2011 Raible Designs 24
  • Matrix Results 18 17.5 17 17 17 13.5 9 15.5 15 15 14.5 14 14 13.513.5 11.5 4.5 0 2 din ry g s ails Ra ils ck et Pla ipe Fle Sp rin GW est Va a Gr uts Tap Str Str Wi JS Lift x T F y © 2011 Raible Designs 25
  • Weighted Results Grails (90) Spring MVC (85) Ruby on Rails (82.5) Vaadin (82.5) Play (82.5) GWT (80) © 2011 Raible Designs 26
  • Mailing List Traffic Wicket GWT Grails Rails Tapestry Play 0 475 950 1841 1753 1635 1604 1538 1451 1425 1900 July 2011 * Spring MVC and Vaadin use Forums, which don't provide this data. © 2011 Raible Designs 27
  • Play Scala But really, it's more like this © 2011 Raible Designs 28
  • Play Scala © 2011 Raible Designs 29
  • Scala "Scala is like the dragon in Avatar. It will try to kill you, but if you master it, you can fly great distances with it and have a wonderful time." -- Venkat Subramaniam © 2011 Raible Designs 30
  • Scala Basics def starts a method variables are started with var or val variables are defined with name:type semicolons are not required © 2011 Raible Designs 31
  • Scala vs. Java © 2011 Raible Designs 32
  • Play with Scala © 2011 Raible Designs 33
  • © 2011 Raible Designs
  • Learning Scala Venkat's Scala for the Intrigued PragPub Magazine, starting in Sep 2011 Scala for the Impatient - Cay Horstmann Programming in Scala, 2nd Edition - Martin Odersky, Lex Spoon, and Bill Venners Twitter's Scala School © 2011 Raible Designs 34
  • CoffeeScript © 2011 Raible Designs 35
  • JavaScript: The Good Parts © 2011 Raible Designs 36
  • Jade © 2011 Raible Designs 37
  • Jade Example © 2011 Raible Designs 38
  • CoffeeBar © 2011 Raible Designs 39
  • My Development Experience © 2011 Raible Designs 40
  • Getting Started © 2011 Raible Designs 41
  • Developing with Play Scala © 2011 Raible Designs 42
  • Tools I started with... © 2011 Raible Designs 43
  • Scalate Module © 2011 Raible Designs 44
  • Scalate Integration Solution © 2011 Raible Designs 45
  • Integrating Scalate with Play play deps --sync © 2011 Raible Designs 46
  • Integrating Scalate with Play © 2011 Raible Designs 47
  • Integrating Scalate with Play © 2011 Raible Designs 48
  • Cannot start in PROD mode with errors Template compilation error (In /app/views/Application/index.jade around line 2) The template /app/views/Application/index.jade does not compile : #{user.name} is not closed. play.exceptions.TemplateCompilationException: #{user.name} is not closed. at play.templates.TemplateCompiler.generate(TemplateCompiler.java:102) at play.templates.TemplateCompiler.compile(TemplateCompiler.java:15) at play.templates.GroovyTemplateCompiler.compile(GroovyTemplateCompiler.java:4 1) © 2011 Raible Designs
  • Integrating Scalate with Play http://raibledesigns.com/rd/entry/integrating_scalate_and_jade_with © 2011 Raible Designs 50
  • Play 2.0 © 2011 Raible Designs 51
  • Play 2.0 © 2011 Raible Designs 52
  • Play 2.0 Beta © 2011 Raible Designs 53
  • A Nice Break ... © 2011 Raible Designs 54
  • CoffeeScript with Play © 2011 Raible Designs 55
  • CoffeeScript with Play http://raibledesigns.com/rd/entry/trying_to_make_coffeescript_work © 2011 Raible Designs 56
  • My Development Experience © 2011 Raible Designs 57
  • © 2011 Raible Designs
  • H5BP and Play cd cp cp cp cp cp cp cp cp $boilerplate-download 404.html ~/dev/play-more/app/views/errors/404.html *.png ~/dev/play-more/public/. crossdomain.xml ~/dev/play-more/public/. -r css ~/dev/play-more/public/stylesheets/. favicon.ico ~/dev/play-more/public/. humans.txt ~/dev/play-more/public/. -r js/libs ~/dev/play-more/public/javascripts/. robots.txt ~/dev/play-more/public/. © 2011 Raible Designs 59
  • Scalate Layouts © 2011 Raible Designs 60
  • HTML5 Boilerplate http://raibledesigns.com/rd/entry/integrating_html5_boilerplate_with_scalate © 2011 Raible Designs 61
  • HTML5 Development © 2011 Raible Designs 62
  • StopWatch with Coffee © 2011 Raible Designs 63
  • Jade Template for Watch © 2011 Raible Designs 64
  • HTML5 Development © 2011 Raible Designs 65
  • HTML5 Geo API © 2011 Raible Designs 66
  • Google Maps JS API © 2011 Raible Designs 67
  • Jade View for Map © 2011 Raible Designs 68
  • HTML5 Development © 2011 Raible Designs 69
  • Odometer © 2011 Raible Designs 70
  • Testing Tried Trip Meter on a bike ride Said I'd traveled 5 km, when I knew I'd gone 10 Was calculating start to end w/o waypoints To Visualize: integrated odometer with maps using Google Maps Polylines © 2011 Raible Designs 71
  • Discovered HTML5 Geolocation was highly inaccurate - Fixed by passing {enableHighAccuracy: true} to navigator.geolocation.watchPosition() © 2011 Raible Designs 72
  • Discovered © 2011 Raible Designs 73
  • Show Stopper? Geolocation doesn't run in the background © 2011 Raible Designs 74
  • Making it look good © 2011 Raible Designs 75
  • Twitter's Bootstrap © 2011 Raible Designs 76
  • Bootstrap © 2011 Raible Designs 77
  • LESS © 2011 Raible Designs 78
  • LESS © 2011 Raible Designs 79
  • CSS3 Media Queries © 2011 Raible Designs 80
  • HTML5 Features Geolocation CSS 3 Audio History Local Storage Canvas © 2011 Raible Designs 81
  • HTML5 and Bootstrap http://raibledesigns.com/rd/entry/developing_with_html5_coffeescript_and © 2011 Raible Designs 82
  • Anorm and PostgreSQL I'm a big fan of ORMs like Hibernate and JPA Learn a new JDBC abstraction? Really!? Anorm is and will be the default for Play Scala Chose PostgreSQL since that's what Heroku uses © 2011 Raible Designs 83
  • Data Model © 2011 Raible Designs 84
  • ScalaTest © 2011 Raible Designs 85
  • Anorm in Action © 2011 Raible Designs 86
  • Controller and View © 2011 Raible Designs 87
  • Anorm, Dates & PostgreSQL © 2011 Raible Designs 88
  • Anorm, Dates & PostgreSQL Discovered "support of Date for insertion" was added to Anorm in August 2011 Cloned play-scala, built locally and uploaded Modified dependencies.yml to use new version © 2011 Raible Designs 89
  • Anorm and PostgreSQL http://raibledesigns.com/rd/entry/play_scala_s_anorm_heroku © 2011 Raible Designs 90
  • More Scalate Goodness © 2011 Raible Designs 91
  • More Scalate Goodness © 2011 Raible Designs 92
  • Scalate as a Play Module http://raibledesigns.com/rd/entry/more_scalate_goodness_for_play © 2011 Raible Designs 94
  • App was still unusable I still hadn't solved the fundamental problem The app couldn't run in the background on a mobile phone © 2011 Raible Designs 95
  • PhoneGap to the Rescue! © 2011 Raible Designs 96
  • Requirements Intel-based computer with Mac OS X Snow Leopard (10.6) Xcode PhoneGap Necessary for Installation: - An Apple iOS Device iOS Developer Certification 97 © 2011 Raible Designs
  • Icons and Splash Screen © 2011 Raible Designs 98
  • Background Modes © 2011 Raible Designs 99
  • Success! © 2011 Raible Designs 100
  • PhoneGap Writeup http://raibledesigns.com/rd/entry/phonegap_to_the_rescue 101 © 2011 Raible Designs
  • Was it worth it? Development Hours: $$$ play-more.com domain: $180 GoPro Helmet Cam: $239 iOS Certified Developer: $100 Free Trip to Devoxx: Priceless © 2011 Raible Designs 102
  • Developing Play More http://www.youtube.com/watch?v=bBqtPPfM2xQ © 2011 Raible Designs 103
  • Developing Play More http://www.youtube.com/watch?v=bBqtPPfM2xQ © 2011 Raible Designs 103
  • Tools © 2011 Raible Designs 104
  • HTML5 vs. Native If you need background services like geolocation or audio, native is necessary Can still write your apps in HTML5 Bridge the Gap with PhoneGap or Titanium If mobile is important, consider fully native with WebViews for common features - a.k.a. Hybrid © 2011 Raible Designs 105
  • Questions? Contact - http://raibledesigns.com http://twitter.com/mraible Download - http://slideshare.net/mraible © 2011 Raible Designs 106

Comments

Be the first one to add a comment

Thumbnail for: Busy Java Developer’s Guide to Three REST API Frameworks

Busy Java Developer’s Guide to Three REST API Frameworks

Ted Neward

subscription
Thumbnail for: Corporate startup and Scala

Corporate startup and Scala

Filip Rogaczewski

subscription
Thumbnail for: Co było pierwsze: kod czy architektura?

Co było pierwsze: kod czy architektura?

Slawomir Sobotka

subscription
Thumbnail for: Preventing Analytics and Ads from polluting your codebase (no slides)

Preventing Analytics and Ads from polluting your codebase (no slides)

Savvas Dalkitsis

subscription
Thumbnail for: From Docker To Kubernetes: A Developer's Guide To Containers

From Docker To Kubernetes: A Developer's Guide To Containers

Marek Grabowski

subscription
Thumbnail for: Ścisły przewodnik po aspektach miękkich - część II: Jesteś ekspertem i co dalej?

Ścisły przewodnik po aspektach miękkich - część II: Jesteś ekspertem i co dalej?

Slawomir Sobotka

free
Thumbnail for: Designing software with security in mind?

Designing software with security in mind?

Daniel Deogun

subscription
Thumbnail for: OAuth2 for native apps and beyond

OAuth2 for native apps and beyond

Erik Jan de Wit

subscription
Thumbnail for: Using JavaScript/HTML5 Rich Clients with Java EE 7

Using JavaScript/HTML5 Rich Clients with Java EE 7

Reza Rahman

subscription
Thumbnail for: Why I love Logstash and you should too

Why I love Logstash and you should too

João Duarte

subscription
Thumbnail for: Java Bytecode Explained

Java Bytecode Explained

OLEG ŠELAJEV

subscription
Thumbnail for: Agile Project Management Anti-Patterns

Agile Project Management Anti-Patterns

Kasia Mrowca

subscription
Thumbnail for: Applications secure by default

Applications secure by default

Sławomir Jasek

subscription
Thumbnail for: From spaghetti with no src/test to green CI, good coverage and well-sleeping developers

From spaghetti with no src/test to green CI, good coverage and well-sleeping developers

Michał Matłoka , Jacek Kunicki

subscription
Thumbnail for: Failing Continuous Delivery

Failing Continuous Delivery

Daniel Sawano , Daniel Deogun

subscription
Thumbnail for: Tips and tricks for clean relational db schemas (slides only)

Tips and tricks for clean relational db schemas (slides only)

Clément Delafargue

subscription
Thumbnail for: Production Lessons (slides only)

Production Lessons (slides only)

Greg Young

subscription

The Spring BOF (no slides)

Juergen Hoeller , Josh Long

subscription

BigData on Azure for architects – Machine Learning, HDInsight (Hadoop), Event Hub – what to use when (and – how) (slides only)

Tomasz Kopacz

subscription
Thumbnail for: "Bootiful" Applications with Spring Boot

"Bootiful" Applications with Spring Boot

Josh Long

subscription
Thumbnail for: 5-10-15 years with Java - from junior to master and back again (slides only)

5-10-15 years with Java - from junior to master and back again (slides only)

Wojciech Seliga

subscription
Thumbnail for: Everything Works In Java EE?--Then Try Microservices :-) (slides only)

Everything Works In Java EE?--Then Try Microservices :-) (slides only)

Adam Bien

subscription
Thumbnail for: Supler: complex web forms, not so complex

Supler: complex web forms, not so complex

Adam Warski , Tomasz Szymanski

subscription
Thumbnail for: Functional Data Storage (slides only)

Functional Data Storage (slides only)

Greg Young

subscription
Thumbnail for: The Go Language (slides only)

The Go Language (slides only)

Brad Fitzpatrick

subscription
Thumbnail for: The Silver Bullet Syndrome (slides only)

The Silver Bullet Syndrome (slides only)

Hadi Hariri

subscription
Thumbnail for: What's Coming in Java EE 8

What's Coming in Java EE 8

Reza Rahman

subscription
Thumbnail for: From API to protocol (slides only)

From API to protocol (slides only)

Quentin ADAM

subscription
Thumbnail for: Babun - a Windows shell you will love, finally! (slides only)

Babun - a Windows shell you will love, finally! (slides only)

Tom Bujok , Lukasz Pielak

subscription
Thumbnail for: IDE Wizard? CLI Command? Get both for the price of one! (slides only)

IDE Wizard? CLI Command? Get both for the price of one! (slides only)

Koen Aers

subscription
Thumbnail for: Event Sourcing & Functional Programming - a pair made in heaven

Event Sourcing & Functional Programming - a pair made in heaven

Paweł Szulc

subscription
Thumbnail for: Everybody lies

Everybody lies

Tomasz Kowalczewski

free
Thumbnail for: Scala and Clojure: Playing well together

Scala and Clojure: Playing well together

David Pollak

subscription
Thumbnail for: Groovier BDD with Spock (slides only)

Groovier BDD with Spock (slides only)

Michał Kordas

subscription
Thumbnail for: Clean JavaScript code - only dream or reality (slides only)

Clean JavaScript code - only dream or reality (slides only)

Sebastian Łaciak

subscription
Thumbnail for: Wykorzystanie podejścia Domain-Driven Design w systemach legacy (slides only)

Wykorzystanie podejścia Domain-Driven Design w systemach legacy (slides only)

Piotr Wyczesany

subscription
Thumbnail for: Case Study: Agile @gov.pl (slides only)

Case Study: Agile @gov.pl (slides only)

Matt Harasymczuk

subscription
Thumbnail for: Functional patterns for scala beginners (slides only)

Functional patterns for scala beginners (slides only)

Clément Delafargue

subscription
Thumbnail for: Vagrant up your enviroment (slides only)

Vagrant up your enviroment (slides only)

Yann Larrivee

subscription
Thumbnail for: Running Micro-Services with Spring Boot in Kubernetes (slides only)

Running Micro-Services with Spring Boot in Kubernetes (slides only)

Ray Tsang

subscription
Thumbnail for: Scalable Is Awesome, Literally! (slides only)

Scalable Is Awesome, Literally! (slides only)

Garrett Smith

subscription
Thumbnail for: Apache Spark - when things go wrong (slides only)

Apache Spark - when things go wrong (slides only)

Paweł Szulc

subscription
Thumbnail for: Functional Programming: Technical Reasons to Adapt (screen only)

Functional Programming: Technical Reasons to Adapt (screen only)

Venkat Subramaniam

subscription
Thumbnail for: PubSub++ - few tips that make your life with kafka easier. (slides only)

PubSub++ - few tips that make your life with kafka easier. (slides only)

Krzysztof Debski

subscription
Thumbnail for: Effective SCRUM in distributed teams (slides only)

Effective SCRUM in distributed teams (slides only)

Rafał Udziela

subscription
Thumbnail for: React.js: Super-fast Single Page Web Applications (slides only)

React.js: Super-fast Single Page Web Applications (slides only)

Pratik Patel

subscription
Thumbnail for: The Smartwatch Revolution begins: Developing for Android Wear (slides only)

The Smartwatch Revolution begins: Developing for Android Wear (slides only)

Pratik Patel

subscription
Thumbnail for: Apache Cassandra 101 (slides only)

Apache Cassandra 101 (slides only)

Christopher Batey

subscription
Thumbnail for: Distributed algorithms for Big Data (slides only)

Distributed algorithms for Big Data (slides only)

DuyHai DOAN

subscription
Thumbnail for: What's new in Spring Data? (slides only)

What's new in Spring Data? (slides only)

Thomas Darimont

subscription
Thumbnail for: User Acceptance Testing - Looking for the Holly Grail (slides only)

User Acceptance Testing - Looking for the Holly Grail (slides only)

Boguslaw Osuch

subscription
Thumbnail for: Is your profiler speaking the same language as you? (slides only)

Is your profiler speaking the same language as you? (slides only)

Simon Maple

subscription
Thumbnail for: Microservices and Conversion Hunting - How to build software architectures for changeableness (slides only)

Microservices and Conversion Hunting - How to build software architectures for changeableness (slides only)

Bernd Zuther

subscription
Thumbnail for: JRebel under the covers - how is it even possible? (slides only)

JRebel under the covers - how is it even possible? (slides only)

Simon Maple

subscription
Thumbnail for: Microservices - enough with theory, let's code some (slides only)

Microservices - enough with theory, let's code some (slides only)

Marcin Grzejszczak , Tomasz Szymanski

subscription
Thumbnail for: Core Software Design Principles for Programmers (slides only)

Core Software Design Principles for Programmers (slides only)

Venkat Subramaniam

subscription
Thumbnail for: A Gentle and useful introduction to Reactive Extensions (slides only)

A Gentle and useful introduction to Reactive Extensions (slides only)

Hadi Hariri

subscription
Thumbnail for: Caching reboot: javax.cache & Ehcache 3 (slides only)

Caching reboot: javax.cache & Ehcache 3 (slides only)

Louis Jacomet

subscription
Thumbnail for: Lazy Evaluations (screen only)

Lazy Evaluations (screen only)

Venkat Subramaniam

subscription
Thumbnail for: Make sense of your (BIG) data! (slides only)

Make sense of your (BIG) data! (slides only)

David Pilato

subscription
Thumbnail for: The end of server management : hosting have to become a commodity (slides only)

The end of server management : hosting have to become a commodity (slides only)

Quentin ADAM

subscription
Thumbnail for: Refactoring to Functional (slides only)

Refactoring to Functional (slides only)

Hadi Hariri

subscription
Thumbnail for: HTTP/2 : why upgrading the web? (slides only)

HTTP/2 : why upgrading the web? (slides only)

Quentin ADAM

subscription
Thumbnail for: Hystrix – managing failures in distributed systems (slides only)

Hystrix – managing failures in distributed systems (slides only)

Tomasz Nurkiewicz

subscription
Thumbnail for: Building systems that are #neverdone

Building systems that are #neverdone

James Lewis

subscription
Thumbnail for: Need for Async: In hot pursuit of internet-scale app architectures

Need for Async: In hot pursuit of internet-scale app architectures

Konrad Malawski

subscription
Thumbnail for: Level up your dev skills with static analysis

Level up your dev skills with static analysis

David Lindsay

subscription
Thumbnail for: Modularity in post microservice world

Modularity in post microservice world

Michal Gruca

subscription
Thumbnail for: Modern Java Component Design with Spring 4.2

Modern Java Component Design with Spring 4.2

Juergen Hoeller

subscription
Thumbnail for: The Creative Networker

The Creative Networker

Jurgen Appelo

subscription
Thumbnail for: Technical leadership – from an expert to a leader

Technical leadership – from an expert to a leader

Mariusz Sieraczkiewicz

subscription
Thumbnail for: JCP, Adopt-a-JSR & You

JCP, Adopt-a-JSR & You

Reza Rahman

subscription
Thumbnail for: Lessons learned from scaling software

Lessons learned from scaling software

Bartek Nowakowski

subscription
Thumbnail for: Building fault tolerant microservices

Building fault tolerant microservices

Christopher Batey

subscription
Thumbnail for: WebVR - democracy in Virtual Reality

WebVR - democracy in Virtual Reality

Marcin Lichwala

subscription
Thumbnail for: High Performance JavaScript Web Apps

High Performance JavaScript Web Apps

Pratik Patel

subscription
Thumbnail for: Social Coding - tools and techniques

Social Coding - tools and techniques

Maciej Pleśnar

subscription
Thumbnail for: Why software developers should care about deployment and monitoring

Why software developers should care about deployment and monitoring

Michał Kosmulski

subscription
Thumbnail for: Building an Asynchronous Reactive NoSQL SDK with RxJava

Building an Asynchronous Reactive NoSQL SDK with RxJava

Simon Baslé

subscription
Thumbnail for: OnConnectionLost: The life of an offline web application

OnConnectionLost: The life of an offline web application

Stefanie Grewenig , Johannes Thönes

subscription
Thumbnail for: Deploying Microservice Architectures with Spring Cloud on Cloud Foundry

Deploying Microservice Architectures with Spring Cloud on Cloud Foundry

Pieter Humphrey

subscription
Thumbnail for: Agile Development Meets Connected Devices - Lessons Learned

Agile Development Meets Connected Devices - Lessons Learned

subscription
Thumbnail for: Ansible to rule them all – o provisioningu i deploymencie aplikacji Java

Ansible to rule them all – o provisioningu i deploymencie aplikacji Java

Wojciech Podgorski , Rafal Piotrowski

subscription
Thumbnail for: You're an Architect...Now What?

You're an Architect...Now What?

Nathaniel Schutta

subscription
Thumbnail for: Deep dive into Reactive Java

Deep dive into Reactive Java

Tomasz Kowalczewski

subscription
Thumbnail for: Nashorn, what is the whole buzz about

Nashorn, what is the whole buzz about

Michal Gruca

subscription
Thumbnail for: Things about microservices you wish you never knew

Things about microservices you wish you never knew

Marek Ko-w

subscription
Thumbnail for: "Bootiful" Microservices with Spring Cloud

"Bootiful" Microservices with Spring Cloud

Josh Long

subscription
Thumbnail for: Refactoring meets big money

Refactoring meets big money

Michal Gruca

subscription
Thumbnail for: Security Platform as a Service with Docker and Weave

Security Platform as a Service with Docker and Weave

David Pollak

subscription
Thumbnail for: Clean Architecture - how to improve your system architecture

Clean Architecture - how to improve your system architecture

Andrzej Bednarz

subscription
Thumbnail for: Principles Of Microservices

Principles Of Microservices

Sam Newman

subscription
Thumbnail for: Painfree Object-Document Mapping for MongoDB

Painfree Object-Document Mapping for MongoDB

Philipp Krenn

subscription
Thumbnail for: Reviewing Architectures

Reviewing Architectures

Nathaniel Schutta

subscription
Thumbnail for: Unlocking the magic of monads in Java 8

Unlocking the magic of monads in Java 8

OLEG ŠELAJEV

subscription
Thumbnail for: Kill the mutants, test your tests

Kill the mutants, test your tests

Roy van Rijn

subscription
Thumbnail for: Vaadin Designer, the visual design tool for modern web apps

Vaadin Designer, the visual design tool for modern web apps

Maciej Przepióra

subscription
Thumbnail for: My running shoes - Continuous Delivery

My running shoes - Continuous Delivery

Grzegorz Krumpholz

free
Thumbnail for: Get Past the Syntax, The Real Scare is in the Semantics

Get Past the Syntax, The Real Scare is in the Semantics

Venkat Subramaniam

free
Thumbnail for: Coding Culture

Coding Culture

Sven Peters

free
Thumbnail for: Software architecture as code

Software architecture as code

Simon Brown

subscription
Thumbnail for: Flavors of Concurrency in Java

Flavors of Concurrency in Java

OLEG ŠELAJEV

free
Thumbnail for: Modern Web Architecture

Modern Web Architecture

Ted Neward

subscription
Thumbnail for: 10 NoSQL databases you have to know

10 NoSQL databases you have to know

Tom Bujok

subscription
Thumbnail for: What's New in WildFly 9

What's New in WildFly 9

Tomasz Adamski

subscription