Broad overview of programming for the web. Web Platform is an effort to bring people information about developing for the web.
HTML and CSS are probably the easier of the three languages the web uses (JavaScript being the hardest).
HTML and CSS are considered declarative languages, where JavaScript is imperative. The difference is that declarative languages are about the "what"; they basically list out what you want in declarations and behind the scenes these are processed into something (for HTML and CSS your browser processes them and displays something on the screen). Imperative languages are about the "how"; they are most like a list of instructions that achieve some result (for the web, this usually involves updating the UI (user interface) in reaction to a user triggered event).
JavaScript makes up the interactive part of the web. While it's completely possible to write an entire website with just HTML and CSS, if you're a web developer having experience with JavaScript is a huge plus.
For the web, JavaScript is the only programmatic way to interact with the DOM (Document Object Model). The DOM is a nested structure what your HTML turns into after the browser has processed it. Through JavaScript you can manipulate this structure on the fly, changing the interface and content users see based on events that can be listened for.
- JavaScript for Cats
- Learn X in Y Minutes - Javascript
- Introduction to the DOM
- Introduction to DOM Events
The following links are all resources online that either have courses or interactive lessons on programming. Obviously you'll be most interested in any that deal with HTML, CSS and JavaScript.
Like every profession, web developers use an ever increasing toolkit to quickly build sites. Below are some of the most popular.
Twitter Bootstrap has become the defacto way to quickly create a stylized interface. It includes all the components you need to build interfaces. At its core it is a library of CSS classes you can apply to HTML patterns to speed up development of frontend UIs.
jQuery is probably one of the most influential frameworks for web development in history. It allowed JavaScript developers to interact with the DOM using a simple, intuitive API. No longer were we using document.getElementById('some-button')
, instead we used $('#some-button')
, using the same selectors we were already using in our CSS. As a result, jQuery is often a dependency of many other libraries (for example, all of the JavaScript that comes with Twitter Bootstrap requires jQuery).
Backbone was created in response to the ever growing JavaScript codebases that were being developed to power interactive websites. While jQuery was a huge step forward, had no opinion on how you should structure your code. As a result many jQuery developed websites become "spaghetti code". Backbone gave developers a system to work in, a strategy for organizing their code and separating concerns, and the end result was more maintainable, easier to develop websites.