Saturday 24 April 2010

Book Review: JavaFX in Action

To be honest I really only bought JavaFX in Action because I could get it cheap from Manning via their Twitter deal of the day. I'd tossed up a couple of Manning books and decided that UI app's would be an interesting diversion to the web app space that I usually play in. The book shipped quickly and the price was great ($AUD35 including postage) which included the paperback and the PDF version.
One small Manning criticism is the way they handle PDF's. I managed to delete the PDF twice as I skipped from OS to OS (I know I know I should be more careful). Manning make the pdf download link available for 5 days only which is ok until you lose the pdf. You can contact them to open up another 5 day link but I think some of the other publishing houses do it better with an online library that you can download whenever. I like the idea of being able to log in on the web and pull down my reading material regardless of the machine I'm on. Maybe they'll look at this in the future.
The pdf version comes with your name on each page to prevent piracy which is a good idea.

JavaFX

JavaFX is really the first graphical technology that I've started to play with other than say Swing. There seems to be a bunch of options.. Silverlight, AIR, Flex, Swing, and (yes Apple) Flash. Because I haven't done much with these its difficult for me to comment on how JavaFX compares but it seems to have a relatively easy learning curve if you're from a Java background and what you can build is very impressive.

JavaFX in Action the book

The book is an easy read and the author has a very relaxed style with good use of humour. It covers the basics of JavaFX before diving deeper. I wouldn't say its for programming beginners but those with some programming experience will pick it up quickly. I really liked the examples particularly later in the book where you get to build an Enigma code machine and a Flickr client. The examples are also very varied as you're exposed to the different areas that JavaFX could be applied to. The one criticism I would have of the examples is that it seemed to take quite a while before any more impressive than hello world was demo'd. There's only so much reading I can do before I want to be experimenting and I think I had to wait until Chapter 4 or 5 before I found something that excited me. Early examples and quick wins that demonstrated what can be done were one of the great things about Grails in Action which remains my favourite Manning title so far. Having said that when I finally got to them they were very impressive. Instead of the usual way of implementing new features to one project throughout the book, here you got to build different things in each of the advanced chapters. I guess this had to be done to demonstrate the power of JavaFX and the variety really kept me interested and keen to get onto the next chapter just to see what else could be achieved. There are plenty of "oh wow" moments as you build the examples.

Another issue for me was that the author tried to remain IDE agnostic throughout the book. Only at the end does he use an IDE for the examples. This is ok but really most of are using IDE's now and Netbeans is totally free, runs on all platforms so why not just encourage readers to download it to develop the examples. I notice on the author's forum there is mention of examples that won't run from an IDE but will from the command line due to package configuration. He replied that he was trying to keep the IDE complexity out but IMHO we're going to be developing our apps in an IDE so might as well broach it.

The verdict

The bottom line here is that I really liked this book. I think its easy reading style and good bang for coding buck examples encourage the reader to experiment with the technology. As mentioned the examples are varied and each one offers different tricks to learn. I'd certainly recommend this book to those interested in seeing what can be done with JavaFX.