Advanced JS Fundamentals to jQuery and DOM Scripting
By Justin Meyer, Alexis Abril
Publisher: Frontend Masters
Final Release Date: March 2015
Run time: 8 hours 58 minutes
By Ken C.
from Hoboken, NJ
About Me Developer
Comments about oreilly Advanced JS Fundamentals to jQuery and DOM Scripting:
This is a recording of a two day course held by two instructors in a classroom filled with students as well as students taking the course live over the Internet. Break times and idle chatter are edited out and the video segments add up to 9 hours.
The production quality is excellent. They didn't just set up a video camera in the back of the classroom and let it run for two days. Rather, they have one camera on the screen and one on the instructor and audio is isolated to the speaker except when he takes questions from the audience, in which case the audio switches to the noisier classroom. The videos comprise two windows, one close-up of the screen where the presentation slides and code is shown and another window featuring the instructor. The two instructors switch off, taking turns covering a topic, but both are always present in the room to handle questions.
I was particularly excited as the instructors don't just explain what a particular jQuery function does, they show how to derive it by creating a homegrown version. For example, I didn't just learn what $.each() does, I also learned how to write my own $.each() method that behaves exactly like the jQuery version.
By the completion of the course, the instructors have shown how to derive two dozen jQuery methods, and I ended up with a whole library of homegrown functions which were direct replacements for the jQuery versions. But this is just a subset of jQuery functionality, not everything in the core API. Therefore, I did not end up with any useful code. I am never going to use my homegrown subset jQuery library, I am going to use the real complete jQuery library.
Because the instructors base the whole course on a 'reinvent the wheel' form of education, they back themselves into a corner and therefore do not discuss advanced topics for which re-engineering jQuery's approach is not plausible. For example, they never cover jQuery's support for asynchronous processing such as $.ajax() or deferreds — $.Deferred(), $.when(), .then().
I also felt that there was a lesson missing on prototypes. The instructors dove right into prototypical inheritance with charts and complicated examples without first taking a step back and giving us a much needed overview. They tell us that .prototype and .__proto__ are two different, very precise things and then get lazy and write "photo" on the board. I found this maddening. Did they mean "__proto__" or "prototype"?
Bottom Line Yes, I would recommend this to a friend