8legged

A Guide By 'The Jackal of JavaScript'

I really like the way Arvind Ravulavaru’s blog looks. Also, his JavaScript 101 post is a great learning resource. His portfolio page is also pretty nice.

This is a summary of Arvind’s JavaScript 101 guide - see the blog for the whole post.

Javascript 101

Javascript Essentials

Javascript was introduced to make the webpages dynamic. Before Javascript it was all Java Applets. So Brenden Eich, the father of Javascript built this language in 10 days , back in 1995. How it all began: The Early Years.

Here he is again discussing the History and basics of Javascript programming language: Douglas Crockford: The JavaScript Programming Language

And once more: And Then There Was JavaScript

Now that you’ve learned about the language and its origins, work through A re-introduction to JavaScript (JS tutorial) via MDN.

Watch Douglas Crockford on An Inconvenient API - The Theory of the DOM.

Next, go through Eloquent JavaScript’s The Document Object Model. Then Handling Events. For a better understanding of these concepts, there’s Event bubbling and Capturing.

Now that you know what DOM manipulation is, what events are, and why they’re needed, it’s time for Asynchronous Javascript and XML. AJAX is a way to communicate with a server without refreshing an entire page. See Crockford on JavaScript - Episode IV: The Metamorphosis of Ajax.

We’ve now covered the basics of native Javascript, for the most part.

jQuery can be as essential as Javascript when working with the web. jQuery is a simple wrapper around native Javascript methods that makes coding for the web easier. With very little code you can achieve a lot. Watch the jQuery Tutorial #1 - jQuery Tutorial for Beginners video series.

Advanced Javascript

With a decent understanding of what Javascript is and where it fits, move on to Douglas Crockford’s video on Advanced Javascript.

You’ll find many more Crockford video links in this Stack Overflow post on the best resources to learn JavaScript.

Next, an Introduction to Object-Oriented JavaScript from MDN. Then Inheritance and the prototype chain. Now go through the quirkier parts of the JavaScript programming language over at JavaScript Garden.

For more quirks, head to wtfjs.

One cannot master Javascript with out going through Addy Osmani’s Learning JavaScript Design Patterns.

Also checkout Xah Code for JavaScript Tutorial: Understand JavaScript in Depth.

Check out Rebecca Murphy for Writing Testable JavaScript.

Watch: Quick and Easy JavaScript Testing.

By now you may be seeing where frameworks like Backbone.js, Ember.js, Angular.js, Closure library and so on fit with client-side development.

Javascript on Server

So far we have dealt with JavaScript on the client side. Now we’ll look at JavaScript on the server side.

An important difference between client-side and server-side JS is, the global object. In the browser the global object is window. This should make sense since we’re working inside a windowed environment. On the server it’s the operating system process. Also, server-side JS doesn’t deal with the DOM or HTML, or CSS for processing.

Server-side JavaScript started with Node.js. Node.js is powered by Google Chrome’s V8 engine.

If you’re new to V8, check out this video.

Now for An introductory video on Node.js.

When your done here, continue with these posts:

Post written on July 3, 2015
Post written on 2015-07-03 00:00:00 -0700