Previous Lecture Complete and continue  

  The Context

Before we dive into the world of JavaScript, it's important we put things in context. Although JavaScript can be used in many different platforms, it is most commonly used for the web. Most modern websites consist of three main components: HTML, CSS and JavaScript. For you to take advantage of this course, you'll need to have introductory level knowledge in HTML and CSS. From this point onwards we will assume you do. If you don't please spend a few hours Learning HTML and CSS.

While HTML's main purpose is structuring webpages and CSS's is making them pretty, JavaScript's main role is being the brain behind the scenes and the place where interaction and animation begins. Although you may have heard of many new HTML5 and CSS3 features enabling HTML/CSS natively to have some core animation capabilities through CSS3, the resulting interactions and animations are relatively rudimentary.

So what is HTML5?
HTML5 in many ways is an umbrella name for anything that was created in the last few years because it's a hot trendy Word. In essence HTML5 is just the HTML nodes introduced to the HTML5 browser. In reality it encompasses all the new CSS features, JavaScript capabilities and libraries that enable us to create a more modern web experience.

What is JavaScript?
Although we could spend a whole chapter describing what JavaScript is, in essence it is a scripting language that enables us to add logic into any webpage. There are many versions of JavaScript and every time your browser has an update it usually updates the version of JavaScript running under its hood. As every browser implements JavaScript in a different version with different bugs there are many different unexpected behaviors in various browsers. Some because they don't support the latest features while others are generated from bugs. One of the most challenging things that past JavaScript developer had to face was dealing with all these different browser compatibility issues. Lucky for us we live in an age where we don't need to worry about it much, that is, as long as we don't integrate cutting edge technologies and use 3rd party tools to interact for us with the DOM (Document Object Model). That leads us to our next topic...