Wednesday, December 17, 2014

Book Review for "Mastering Java Server Faces 2.2"

Book Review for "Mastering Java Server Faces 2.2"



Quick Version:  This book contains a lot of advice distilled from a wide range of JSF usages.  It's a big book and offers a lot of ideas that will be valuable to the JSF practitioner.  There is more intermediate-to-advanced material than there is low-level, so if you're just starting out this might not be the right book for you.  Experienced JSF users will find this a good resource.

This is a big book (nearly 550 pages) and it offers lots of good advice for JSF users.  The chapter titles are as follows:

1.  Dynamic Access to JSF Application Data through Expression Language (EL 3.0)
2.  Communication in JSF
3.  JSF Scopes – Lifespan and Use in Managed Beans Communication
4.  JSF Configurations Using XML Files and Annotations – Part 1
5.  JSF Configurations Using XML Files and Annotations – Part 2
6.  Working with Tabular Data
7.  JSF and AJAX
8.  JSF 2.2 – HTML5 and Upload
9.  JSF State Management
10. JSF Custom Components
11. JSF 2.2 Resource Library Contracts – Themes
12. Facelets Templating
Appendix - The JSF Life Cycle


The author makes occasional mention of different JSF implementations (PrimeFaces, MyFaces, Mojarra) which might be of value to users that are familiar to one implementation or the other.  There is some introductory material (the chapters on data access, configuration, the Life Cycle, etc.) but these are not presented in an order that provides a comprehensive overview at the start of the book.

Examples are well constructed and consistent in the way they are put together.  For any particular goal (i.e. making some tabular data, working with a template, using AJAX, etc.) the user will most likely find a clean set of code artifacts that illustrate things in a comprehensible way.  Wording that differently-- the examples are minimal and easy to understand.

The book has a fair number of illustrations, but these mostly reflect renderings of JSF pages.  Conceptual illustrations are provided, but not in great abundance.  I give the book fair marks for this, but not outstanding.  IMHO a few more high-level illustrations would have been beneficial.  (In the author's defense, it's possible some were left out to keep the book as lean as possible.  As it stands, it's already a big book.)

The author does a good job of explaining how to exploit features of JSF to accomplish tasks of interest for a JSF developer.  The author speaks in a clear and direct manner, lending confidence to the suggested remedies for various situations.  I believe this book will be a good reference for the JSF coder. 

Packt uses a visual icon (it looks like a pencil and a few sheets of paper) to indicate warnings or important notes.  These are generously provided throughout the book.  I found use of this highlighting aid to be judiciously used-- not too much, not too little.

All things considered I found this book to be a solid reference for JSF topics and informative in it's description of new JSF features.  For the intermediate-to-advanced JSF user it should prove to be a valuable resource.

The book can be found here.

Happy Reading and Rendering!