I played with JavaScript before the web 2.0, so there are many things I didn’t know about JavaScript. We see lots of performance tests in browser tests, server-side JS, but if you don’t know the language, you are limited in your understanding. But if you just know the language, and nothing about client- or server-side applications?
Discussion
The last time I learned a new language, I was at the beginning on my PhD, and the language was Python. And C++ actually (i.e. proper C++). Since them, these two languages have evolved a lot and it can be a challenge to find good books covering the latest aspects of these languages.
So it was quite a delight to see that JavaScript, despite the varying support in browsers, had a way of writing almost bleeding-edge code, and still be compatible with older browsers. It was even better when the author of this book started by talking about the old syntax, but quickly moves to the new ES6 (OK, it’s not new anymore) and the good practices for it. It also regularly presents the old-style practices and their drawbacks, which is something I really appreciate. I read additional books on JavaScript after this one, and I have to say that the code in this one is the cleanest I’ve seen, with the least number of possible pitfalls.
I won’t dive into details, as a lot of the chapters are presenting standard characteristics of a language (variable, control flow, classes…), so I will only make a few comments. The first two chapters present the context of JavaScript, with even an in-browser example. There won’t be any significant browser specific chapter until almost the end. Even then, the chapter is then dedicated to handling the XML DOM. I appreciate the fact that there is no jQuery chapter anymore (the library is now going down in fame, yet another proof that the author was trying to write a book that could stay up to date for more than 6 months), but I haven’t played with the DOM myself despite playing with JavaScript, as frameworks usually abstract this. The server-side is also very shallow, as a book on explaining how to use packages, deploying Node.js would have the same number of pages as this one, so I appreciate that it’s not possible.
But once again, this is a very good book on the language itself. I still have to read several of the most advanced concepts, like Promises, or the way multiple inheritance is done, or properties. But I know where to look if I need to use these concepts. I have a good grasp (I hope?) of date and time (although I got bit my some odd behavior of the Date class, I suspect I will always work by transferring strings or seconds since epoch!), I change my way of thinking from a pure imperative or object-oriented point of view to add more functional callback style programming. I don’t think I would have been able to dive directly into a client-side framework book without this preliminary knowledge.
Conclusion
The book on its own is not enough to write client-side or server-side code. You can implement functionalities based on code that is already existing, but with just the book, you will be stuck to write anything of value.
Still, it covers all the common point between server- and client-side applications. After this read, you can dive into a book on either aspect, depending on your requirements.
Auto Amazon Links: Auto Amazon Links The Associate tag is not set. Please check your unit settings.