Our volunteers haven't translated this article into Gaeilge yet. Join us and help get the job done!
You can also read the article in English (US).

The open nature of the World Wide Web presents incredible opportunities for people who want to create websites or online applications. To take full advantage of the web's capabilities, you need to know how to use them. Explore the links below to learn more about various web technologies.

Web technologies

Basics

HTML
HyperText Markup Language (HTML) is used to describe and define the content of a webpage.
CSS
Cascading Style Sheets (CSS) are used to describe the appearance or presentation of content on a webpage.
HTTP
Hypertext Transfer Protocol (HTTP) is used to deliver HTML and other hypermedia documents on the web.

Scripting

JavaScript
JavaScript is the programming language that runs in your browser. You can use it to add interactivity and other dynamic features to your website or application.
With the advent of Node.js, you can also run JavaScript on the server.
Web APIs
Web Application Programming Interfaces (Web APIs) are used to perform a variety of tasks, such as manipulating the DOM, playing audio or video, or generating 3D graphics.
  • The Web API interface reference lists all the object types you can use while developing for the web.
  • The WebAPI page lists all the communication, hardware access, and other APIs you can use in web applications.
  • The Event reference lists all the events you can use to track and react to interesting things that have taken place in your webpage or application.
Web components
Web Components is a suite of different technologies allowing you to create reusable custom elements — with their functionality encapsulated away from the rest of your code — and utilize them in your web apps.

Graphics

Canvas
The <canvas> element provides APIs to draw 3D graphics using TextScript.
SVG
Scalable Vector Graphics (SVG) lets you use lines, curves, and other geometric shapes to render graphics. With vectors, you can create images that scale cleanly to any size.
WebGL
WebGL is a JavaScript API that lets you draw 3D or 2D graphics using the HTML <canvas> element. This technology lets you use standard OpenGL ES in Web content.

Audio, video, and multimedia

Web media technologies
A list of media-related APIs with links to the documentation you'll need for each.
Overview of media technology on the web
A general look at the open web technologies and APIs that provide support for audio and video playback, manipulation, and recording. If you're not sure which API you should use, this is the place to start.
Media Capture and Streams API
A reference for the API that makes it possible to stream, record, and manipulate media both locally and across a network. This includes using local cameras and microphones to capture video, audio, and still images.
Using  HTML Audio and Video
Embedding video and/or audio in a web page and controlling its playback.
WebRTC
The RTC in WebRTC stands for Real-Time Communications, technology that enables audio/video streaming and data sharing between browser clients (peers).

Other

MathML
Mathematical Markup Language (MathML) lets you display complex mathematical equations and syntax.
XSLT
Extensible Stylesheet Language Transformations (XSLT) let you convert XML documents into more human readable HTML.
XPath
XPath lets you select DOM nodes in a document using a more powerful syntax than what is currently provided by CSS selectors.

Learning area

Learning web development
This set of articles provides beginners with everything they need to start coding simple websites.
Progressive Web Apps
Progressive web apps use modern web APIs along with traditional progressive enhancement strategy to create cross-platform web applications. These apps work everywhere and provide several features that give them the same user experience advantages as native apps. This set of docs and guides tell you all you need to know about PWAs.

Other topics

Developing web applications
This set of articles explains the techniques used in developing web apps for mobile and desktop environments.
Accessibility
Accessible websites enable as many people as possible to use the web, including those whose visual, auditory, or other abilities are limited in some way. This set of articles provides information about accessible web development.
Localization (L10n) and Internationalization (I18n)
The web is a global community! Make sure your site is part of it by keeping in mind the need to provide content in the language and layout expected by everyone that might want to use your site or app.
Security
Don't let your website or app leak private data to the bad guys. Use this set of articles to make sure your projects are secure.
WebAssembly
WebAssembly is a new type of code that can be run in modern web browsers — it is a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++ with a compilation target so that they can run on the web.

View All...

Document Tags and Contributors

Contributors to this page: jswisher, iswangaiguo, ExE-Boss, dharmic, saigowthamr, fluorine, dennisblight, SebastienParis, Sheppy, buoyantair, chrisdavidmills, santhu210, Mevrael, mfuji09, walka69, SphinxKnight, janandjill, ANDRE09CARO, xieshuai, gilenosilva, mysecondgod, stephaniehobson, sauravjaiswalsj, LeeClifordEluna, pyrivald, huynhtrongnhan, mfluehr, sideshowbarker, vanessadacosta, Tigt, hadleyel, kermits93, yoshipaulbrophy, zhangxiqnaun, SpecialAgent007, covyta, Innoarkle, TIYAN, angelotex, Alt0Z, fscholz, sammie, thilinanarad, JohanX, scott12, Ruemel, jsx, jwhitlock, genn2016nev, andrealeone, teoli, markzaide, w338, nochis, yuntui, gwebster4, th65, konyx, irvinfly, groovecoder, austinharper, crackien, khrisstacey2, DevAsh, alfibro, Manojkr, a_bayukencana, x2357, kripesh2015, royhowie, golf1052, robjohnson, MyLogic, wbamberg, dropenstavxi1977, celo, jeffmarshall, Jitun, evilpie, mccary, trevorh, DavidWalsh, Cginybetty, zegenie, adnanhoodmdn, poeemah, lchappell76@btinternet.com, Pistachio_farra, tenorioming@yahoo.com, SutattaP, Phichit, EmilyG, anirban007, seanwiththewind, ksendzolina, uptdisdikporabangsri, boa0332, Sunil.BN, Balu, eunsuklee, benimadhab, StarQuake, stevion, comando, AmaanC, sampriti, Resse, BigfishFirefox, kesavviswanath, Rest, vharleman, lanette, Testa18, y7_fvc, shaillock, Bergi, Blind.Visionaire, tigerxr6, Nickolay, worldsinglechristians.com, glory711, christinaberner, oby, patrickjoannisse, ninja, Timmi, dimitris92, ethertank, fusionchess, Jan.Ruzicka
Last updated by: jswisher,