JavaScript Libraries

A JavaScript library is a collection of pre-written JavaScript code, that makes it easier to perform certain tasks using JavaScript. Let's say for example, that you want to fade a tool tip in once somebody has clicked on a frequently asked questions link. To write that myself, I'd have to write multiple JavaScript functions that are unique to my site and that it account for any differences between browser JavaScript engines. Or, I can just take advantage of the popular jQuery library and use the built in method, fade in. In many ways, JavaScript libraries extend the JavaScript language by adding methods and values for commonly performed tasks.

Frameworks And Boilerplates

Much like JavaScript libraries, there are also pre-built collections that package HTML, CSS and JavaScript files designed to make the process of authoring sites easier. These are often referred to as frameworks or boilerplates. A broader definition of these would be that they contain CSS files that have predefined rules for layout, typography, and browser resets, HTML files that contain a default starting semantic structure for sites, and JavaScript files that offer enhanced functionality like modal windows and tooltips. Now in many cases, the term framework and boilerplate are used interchangeably, although there are some subtle differences between most of them. A boilerplate usually refers to a set of templates that are focused on a very specific standard or goal.

CSS Preprocessors

Although CSS is a powerful presentational language, it's not always easy to write for larger sites, and it lacks many of the features that authors have requested over the years. Because the process of updating specifications and then waiting on implementations within browsers is so long, CSS pre-processors were created to kinda fill the gap and make writing CSS more efficient. A CSS pre-processor is a scripting language that allows you to extend CSS with new syntax and then compiles the script into regular CSS once run through the processor.