Book Review: Three.js Essentials (PACKT Publishing)

Three.js Essentials (PACKT Publishing), by Jos Dirksen, proved to be one of the tougher reads I’ve done in a while. When I agreed to review it, I believe PACKT was aware I had no experience nor knowledge of either Three.js or WebGL, or 3-D modelling period. (As a disclaimer, I received a free copy of this book in exchange for this review). I tackled this book from the perspective of someone with years of web development experience, solid knowledge of JavaScript, but having nothing in my background related to WebGL. And that’s what my review will reflect.

In the book’s preface, in a section titled “Who this book is for”, it states:

This book is for developers who already know JavaScript and want to get acquainted [empasis added] with Three.js. … All you need to know is some basic JavaScript and HTML.

“Acquainted” is an interesting choice of words and can be interpreted in a number of ways, I suppose. If what was intended was you’ll come out of reading this book with a basic understanding of what Three.js is about and capable of, then I suppose this book succeeds at that. If it means that a user, such as myself, will come out of this feeling comfortable I could tackle my own projects with it, I’m much less certain that’s the case.

The book is highly dependent on supplementary code samples you can either download from the Packt website or retrieve from GitHub. The book uses this code by highlighting parts of it to explain how to build a number of projects that make up the individual chapters. Where I had issues was the book did not present how to entirely build the projects, making it essential for you to often look between the code examples and what was being described in the book. To learn Three.js from this book I think you’d have to be extremely driven and willing to do a lot of digging beyond what is presented in the book, diving into the code examples (and not necessarily with guidance from the book), and other resources such as the online documentation. At that point, though, you’re not really learning from the book.

The impression I do get from reading the book is if you have some background in Three.js, or similar library, then you may find the book useful and find some of the techniques explained here to provide some “Oh cool! There’s something neat I can do!” moments. But if you are like me, an experienced web developer with no WebGL knowledge, I recommend you look elsewhere.

Amazon Score: 2 out of 5 stars