Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

My HTML5 with Play Scala, CoffeeScript and Jade Presentation from Devoxx 2011

This week, I had the pleasure of traveling to one of my favorite places in the world: Antwerp, Belgium. Like last year, I traveled with the lovely Trish McGinity and spoke at Devoxx 2011. This year, my talk was on developing a web/mobile app with HTML5, Play, Scala, CoffeeScript and Jade. I was inspired to learn Scala at the beginning of this year and added CoffeeScript and Jade to my learning list after talking to James Strachan at TSSJS 2011. You can read more about how my journey began in my first post about learning these technologies.

I started developing with these technologies in August and wrote about my learnings throughout the process. Last week, while writing my presentation, I decided it'd be fun to make my presentation into more of a story-telling-session than a learn-about-new-technologies session. To do this, I focused on talking a bit about the technologies, but more about my experience learning them. I also came up with a challenging idea: create a video that showed the development process, how hard it was to test the app and (hopefully) my success in getting it to work.

It was all a very close call, but I'm happy to say I pulled it off! I got the app to work on an iPhone (thanks to PhoneGap) last Saturday, finished the first draft of my presentation on Sunday night (after pulling an all-nighter) and finished editing the demo video on Wednesday night. My talk was on Thursday afternoon and I had a blast talking about my experience to such a large, enthusiastic audience. You can see the presentation below, on Slideshare or download the PDF.

You can find the "demo" for this talk on YouTube or watch it below.

One of the reasons I really enjoyed this talk is it only represents one milestone in my learning process. I plan on continuing to develop this application and learning more about HTML5, Scala, Play and CoffeeScript and Scalate/Jade. Now that Play 2.0 Beta has been released, I plan on upgrading to it and leveraging its native CoffeeScript and LESS support. I hope to continue using Scalate and its Jade format. And it's very likely PhoneGap will continue to be the bridge that allows everything to run in the background.

I've been talking with the Jfokus folks about doing this talk in Sweden in Feburary and Devoxx France about presenting there in April.

Learning all these technologies has been a challenging, but fun experience so far. As the last slide in my presentation says, I encourage you to do something similar. Pick something new to learn, have fun doing it, but more importantly - get out there and Play!

Update Dec. 20th: A video of this presentation is now available on

Posted in Java at Nov 18 2011, 11:18:38 AM MST 6 Comments

I have to say I had lots of doubts about the play framework at first. However it seems to be the best option for Scala right now and probably even for Java. I also like how the Play 2.0 framework is focused on being less thread heavy through asynchronous event io (netty) and Akka actors.

It seems the rest of the Java world has lots of catch-up to do in the async/event io world. I blogged about this recently (apparently I can't put links in though).

Posted by Adam Gent on November 18, 2011 at 04:49 PM MST #


Congratulations!. Amazing presentation. One question: What tool do you use to your presentations?

The images are amazing.

Regards and success for your family.


Posted by Joe on November 18, 2011 at 05:03 PM MST #

@Joe - I use Apple's Keynote for my presentations, mostly because I've found it very easy to create good content using it. I'll tell Trish you like her photos. I agree, she's amazing. :)

Posted by Matt Raible on November 18, 2011 at 05:05 PM MST #

Great stuff Matt. Play looks like an impressive framework.

For better or worse, we are trying to do similar things front end wise with existing JSF based applications and don't have the luxury of starting from scratch.

We have started a project that facilitates the operation of JSF 2 in an optional high performance stateless mode (which can be run side by side with normal stateful pages in the same application). Some readers trying to stretch JSF performance may find it quite useful.

It won't be as fast as Play but it's lightweight enough to still serve tens of thousands of requests per minute (excepting database accesses etc)

Posted by R Simic on November 30, 2011 at 09:29 AM MST #

Hi Matt!
Great video and blogpost! Glad to see you love working with Play Framework. I'll be sure to check some of these projects you mentioned. But... I really really like your taste of beer. Did they serve Karmeliet at devoxx? :-)

Posted by Richard on February 01, 2012 at 05:13 PM MST #

Hi Matt,

Great Video , There have many requirement in mobile device and this solutions is not bad. You made me have to reading all about HTML5 PLAY Scala. lol


Posted by Thanit K. on September 10, 2012 at 10:39 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed