AVAILABLE NOW: Front-End Developer Handbook 2017
Web Technologies Employed by Front-End Developers
Image source: http://www.2n2media.com/compare-front-end-development-and-back-end-development
The following web technologies are employed by front-end developers:
- Hyper Text Markup Language (aka HTML)
- Cascading Style Sheets (aka CSS)
- Document Object Model (aka DOM)
- JavaScript Programming Language (aka: ECMAScript 6, ES6, JavaScript 2015)
- Web APIs (aka HTML5 and friends or Browser APIs)
- Hypertext Transfer Protocol (aka HTTP)
- Uniform Resource Locators (aka URLs)
- JavaScript Object Notation (aka JSON)
- Web Content Accessibility Guidelines (aka WCAG) & Accessible Rich Internet Applications (aka ARIA)
These technologies are defined below with the relevant documentation and specifications. For a comprehensive list of all web related specifications have a look at platform.html5.org.
Hyper Text Markup Language (aka HTML)
HyperText Markup Language, commonly referred to as HTML, is the standard markup language used to create web pages. Web browsers can read HTML files and render them into visible or audible web pages. HTML describes the structure of a website semantically along with cues for presentation, making it a markup language, rather than a programming language.
Most relevant specifications / documentation:
- All W3C HTML Spec
- The elements of HTML from the Living Standard
- Global attributes
- HTML5 from W3C : 5th major revision of the core language of the World Wide Web
- HTML attribute reference
- HTML element reference
- The HTML Syntax from the Living Standard
Cascading Style Sheets (aka CSS)
Cascading Style Sheets (CSS) is a style sheet language used for describing the look and formatting of a document written in a markup language. Although most often used to change the style of web pages and user interfaces written in HTML and XHTML, the language can be applied to any kind of XML document, including plain XML, SVG and XUL. Along with HTML and JavaScript, CSS is a cornerstone technology used by most websites to create visually engaging webpages, user interfaces for web applications, and user interfaces for many mobile applications.
Most relevant specifications / documentation:
- All W3C CSS Specifications
- Cascading Style Sheets Level 2 Revision 2 (CSS 2.2) Specification
- CSS reference
- Selectors Level 3
Document Object Model (aka DOM)
The Document Object Model (DOM) is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML, and XML documents. The nodes of every document are organized in a tree structure, called the DOM tree. Objects in the DOM tree may be addressed and manipulated by using methods on the objects. The public interface of a DOM is specified in its application programming interface (API).
Most relevant specifications / documentation:
JavaScript Programming Language (aka: ECMAScript 6, ES6, JavaScript 2015)
JavaScript is a high level, dynamic, untyped, and interpreted programming language. It has been standardized in the ECMAScript language specification. Alongside HTML and CSS, it is one of the three essential technologies of World Wide Web content production; the majority of websites employ it and it is supported by all modern web browsers without plug-ins. JavaScript is prototype-based with first-class functions, making it a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles. It has an API for working with text, arrays, dates and regular expressions, but does not include any I/O, such as networking, storage or graphics facilities, relying for these upon the host environment in which it is embedded.
Most relevant specifications / documentation:
Web APIs (aka HTML5 and friends)
When writing code for the Web using JavaScript, there are a great many APIs available. Below is a list of all the interfaces (that is, types of objects) that you may be able to use while developing your Web app or site.
— Mozilla
Most relevant documentation:
Hypertext Transfer Protocol (aka HTTP)
The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web.
Most relevant specifications:
- Hypertext Transfer Protocol -- HTTP/1.1
- Hypertext Transfer Protocol version 2 draft-ietf-httpbis-http2-16
Uniform Resource Locators (aka URL)
A uniform resource locator (URL) (also called a web address) is a reference to a resource that specifies the location of the resource on a computer network and a mechanism for retrieving it. A URL is a specific type of uniform resource identifier (URI), although many people use the two terms interchangeably. A URL implies the means to access an indicated resource, which is not true of every URI. URLs occur most commonly to reference web pages (http), but are also used for file transfer (ftp), email (mailto), database access (JDBC), and many other applications.
Most relevant specifications:
JavaScript Object Notation (aka JSON)
c It is the primary data format used for asynchronous browser/server communication (AJAJ), largely replacing XML (used by AJAX). Although originally derived from the JavaScript scripting language, JSON is a language-independent data format. Code for parsing and generating JSON data is readily available in many programming languages. The JSON format was originally specified by Douglas Crockford. It is currently described by two competing standards, RFC 7159 and ECMA-404. The ECMA standard is minimal, describing only the allowed grammar syntax, whereas the RFC also provides some semantic and security considerations. The official Internet media type for JSON is application/json. The JSON filename extension is .json.
Most relevant specifications:
Web Content Accessibility Guidelines (aka WCAG) & Accessible Rich Internet Applications (aka ARIA)
Accessibility refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e., unassisted) and "indirect access" meaning compatibility with a person's assistive technology (for example, computer screen readers).