Matt RaibleMatt Raible is a Java Champion and Developer Advocate at Okta. developer.okta.com

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: AngularJS, 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.

10+ YEARS


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.

Reviews: Getting Started with Grails, Rails for Java Developers and Groovy Recipes

Two weeks ago, I mentioned a number of books I was hoping to read to get up to speed on Rails and Grails quickly. Over the last two weeks, I was able to polish off three of these (listed in order of reading):

Below are short reviews of each book.

Getting Started with Grails
Getting Started with Grails The Good: This is the perfect book to learn the basics of Grails quickly. At 133 pages, I was able to read this entire book in one sitting. The first couple chapters are very introductory, but likely necessary for beginners. The good news is you start writing your first Grails application on page 7 (Chapter 3).

Chapter 4 (Improving the User Experience) is good in that it shows you how to do warning, error and confirmation messages. This is something often overlooked in web frameworks and Rails and its "flash" concept seem to have made it important again. I remember way back in 2003 when I complained about frameworks not allowing messages to live through a redirect - everyone said it was something you didn't need. Now it's a standard part of most web frameworks.

The Bad: Uses Grails 0.3.1. This is understandable since the book was written in 2006 and published in 2007. Also, it doesn't cover testing that much (5 pages). If testing is so easy with Groovy and if Grails has Canoo WebTest support built-in, it should be shown IMO.

Rails for Java Developers
Rails for Java Developers The Good: This was an interesting book for me because it uses AppFuse for many of its Java-based examples. Unfortunately, it uses the Struts 1.x version which is cumbersome and verbose as far as Java web frameworks go. The most impressive part of this book is how Justin and Stu do an excellent job of walking the line and not insulting Java nor developers using it. They provide an easy to understand view of Rails from a Java Developer's perspective. There's detailed chapters on ActiveRecord (as it compares to Hibernate), ActiveController (compared to Struts) and ActiveView (compared to JSP). This book has excellent chapters on Testing, Automating the Development Process and Security.

The Bad: This book was published over a year ago, so it uses an older version of Rails. This means some commands don't work if you're using Rails 2.0. It's also a little light on Ruby, so I didn't feel I learned as much about the language as I was hoping to. That's understandable as it's more of a Rails book than a Ruby book.

Groovy Recipes (Beta from Jan 3, 2008)
Groovy Recipes The Good: I really like the style of this book and that it shows you how to get things done quickly with code samples. It's very no-nonsense in the fact that it contains a lot of code and howtos. I really like Scott's writing style and found this book the easiest to read of the three. This may have something to do with my eagerness to learn Groovy more than anything. The most refreshing part about this book is how up-to-date it is. Because it's a Beta, it seems to contain the most up-to-date information on Groovy and Grails. After reading Getting Started with Grails and working with it for a couple weeks, the first Grails chapter seemed a little basic - but that's likely because I've figured out how to mix all those recipes already. The Grails and Web Services chapter definitely has some interesting content, but I've rarely had a need to implement these recipes in a real-world environment. I'd rather see recipes on testing the UI (with the WebTest plugin) and how to use GWT and Flex with Grails. If SOUIs are the way of the feature, this is a must.

The Bad: Not much information on testing with GroovyTestCase, mock objects or implementing Security. If one of Groovy's sweet spots is testing, why isn't there more coverage on this topic? The Java and Groovy integration chapter is especially good, but there's very limited information on Ant and Maven. It's likely the websites provide sufficient documentation, but the Maven section only fills 5 lines on an otherwise blank page. The biggest problem I have with this book is I really like the recipes writing style and would love to see more tips and tricks. At 250 pages, I was able to finish this book with pleasure in a few days.

What's Next?
Now I'm reading JRuby on Rails (Apress) and Programming Groovy (Pragmatic Programmers). Following that, I'll be perusing dead-tree versions of Struts 2 Web 2.0 Projects (Apress), Prototype and script.aculo.us (Pragmatics) and Laszlo in Action (Manning). If any publishers want to send me books on GWT and Flex, I'd be happy to add them to my list. ;-)

Posted in Java at Feb 09 2008, 11:34:57 AM MST 10 Comments
Comments:

I read an early release of Laszlo in Action, and learned a lot from it. I would definitely recommend it over the official Laszlo docs as a way to learn the framework.

Posted by Donal on February 09, 2008 at 02:26 PM MST #

Funny that they have all cover images representing "fast" objects. Ruby and Groovy are the slowest of all languages.

Posted by blah on February 09, 2008 at 04:39 PM MST #

That's an excellent point blah. With any luck the Da Vinci Machine project will fix this in 2008. These languages are certainly a lot easier to learn, which doesn't seem like a bad thing to me.

Posted by Matt Raible on February 09, 2008 at 06:21 PM MST #

I think Groovy is very easy to learn.. but for the projects i work, there are very few areas using them makes sense. And you need to be constantly causious about performance if you use. i would not have my hopes so high on the performance improvements Da Vinci Machine will bring. Since you are in the process of learning, just for the kicks, make a small benchmark over simple algorithms that are used in real life applications and see it yourself.

Posted by blah on February 09, 2008 at 08:44 PM MST #

just a small example, i tried a simple filtering operation over a 50.000 element String list with a grovy closure and Java (only the size comparison was used in the filtering..). result is actually better then i expected. Groovy code was only 20 times slower.

Posted by blah on February 09, 2008 at 10:01 PM MST #

Hi Matt, May be you would like to check: http://www.appcelerator.org/index.html

Posted by Hussein Baghdadi on February 10, 2008 at 05:30 AM MST #

I'm aware of Appcelerator and have been lurking on its mailing lists for a couple months now. It sounds cool, but doesn't seem to be getting a whole lot of traction among developers and publishers. If it's competing with Flex and GWT, it likely has a lengthy uphill battle - especially since it's not a proprietary vs. open source battle. Regardless, Appcelerator is #3 on my "list to learn" (of SOUI frameworks) after Flex and GWT.

Posted by Matt Raible on February 10, 2008 at 01:36 PM MST #

Why OpenLaszlo isn't on your To-Learn list?

Posted by Hussein Baghdadi on February 11, 2008 at 12:53 AM MST #

There seems to be much more activity around Flex. OpenLaszlo is interesting to me -- I was a reviewer for Laszlo in Action and plan to read the final version -- but as a consultant, Flex seems to have a better ROI if I learn it. RIA Frameworks I hope to learn in 2008: GWT, Flex, Appcelerator and OpenLaszlo (in that order).

Posted by Matt Raible on February 11, 2008 at 06:54 PM MST #

You are an addicted :D Personally, I'm focusing on GWT, OpenLaszlo is on my waiting list.

Posted by Hussein Baghdadi on February 12, 2008 at 01:06 AM MST #

Post a Comment:
  • HTML Syntax: Allowed