Frontend Development
Manually curated collection of resources for frontend web
developers.
You are viewing a browseable version, split by category in many small
files. There is also a really huge file with every single resource on one
page. Proceed to the
totally gigantic file if you are
into this kind of thing.
This is the current version, which receives ongoing updates. If you want
the good old bookmarks, please use the tag v.1.0. Keep in mind, that the
old version has many outdated links.
Appearance
The outward or visible aspect of a website.
-
Animation: The process of creating motion and shape change.
-
Typography: The style, arrangement, or appearance of typeset matter.
-
Visualization: Placing data in a visual context.
Architecture
High level structure of the frontend code and the discipline of creating
such structures.
-
Algorithms: A self-contained step-by-step set of operations to be performed.
Algorithms perform calculation, data processing, and/or automated
reasoning tasks.
-
Design Patterns: Best practices that the programmer can use to solve common problems
when designing an application or system.
-
Designs: Ready to use and well documented structures and frameworks for
frontend development.
-
Event-Driven Programming: Event-driven programming is a programming paradigm in which the flow
of the program is determined by events such as user actions, sensor
outputs, or messages from other programs/threads.
-
Functional Programming: Functional programming is a programming paradigm, that treats
computation as the evaluation of mathematical functions and avoids
changing-state and mutable data.
-
Functional Reactive Programming (FRP): FRP is a programming paradigm for asynchronous dataflow programming
using the building blocks of functional programming.
Compatibility
Ability of a product to work with different input/output devices and
rendering software. Including printers, email, mobile devices and
different browsers.
-
Cross Browser: Cross-browser refers to the ability of a website, web application,
HTML construct or client-side script to function in environments that
provide its required features and to bow out or degrade gracefully when
features are absent or lacking.
-
E-Mail: Preparing HTML based electronic mail.
-
Keyboard: Working with keyboard input in a web browser.
-
Mobile: Development of websites optimized for viewing on smartphone and
tablet devices.
-
Printers: Manipulation of printer output through CSS.
-
Responsive Web Design (RWD): RWD responds to the needs of the users and the devices they’re using.
The layout changes based on the size and capabilities of the device.
-
Web Accessibility: Web accessibility means that people with disabilities can perceive,
understand, navigate, and interact with the Web, and that they can
contribute to the Web.
Ecosystem
Important developers, companies, organizations and news sources.
-
Communities Around Projects: Successful open source projects attract many developers who produce
plugins, libraries, tutorials and other resources. This section collects
such resources.
-
News: Websites & newsletters which provide daily and weekly news
related to frontend web development.
-
Notable Community Members: Important engineers, evangelists, architects and other celebrities.
-
Organizations: Commercial companies and nonprofit organizations around web
development.
-
Podcasts: A podcast is a form of digital media that consists of an episodic
series of audio, video, digital radio, PDF, or ePub files subscribed to
and downloaded automatically through web syndication or streamed online
to a computer or mobile device.
Languages, Protocols, Browser APIs
Programming/mark-up languages and web related standards.
-
Cascading Style Sheets (CSS): CSS are a stylesheet language used to describe the presentation of a
document written in HTML or XML. It describes how elements should be
rendered on screen, on paper, in speech, or on other media.
-
Document Object Model (DOM): The DOM is a programming interface for HTML, XML and SVG documents.
It defines methods that allow access to the tree, so that they can
change the document structure, style and content.
-
HyperText Markup Language (HTML): HTML is the standard markup language used to create web pages and its
elements form the building blocks of all websites.
-
Hypertext Transfer Protocol (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.
-
JavaScript (EcmaScript): JavaScript is a full-fledged dynamic programming language that, when
applied to an HTML document, can provide dynamic interactivity on
websites. It is defined by ECMAScript standard.
-
JavaScript Object Notation (JSON): JSON (JavaScript Object Notation) is a lightweight data-interchange
format. It is easy for humans to read and write. It is easy for machines
to parse and generate. It is based on a subset of the JavaScript
Programming Language.
-
Scalable Vector Graphics (SVG): An XML-based vector image format for two-dimensional graphics with
support for interactivity and animation.
-
Service Workers: A method that enables applications to take advantage of persistent
background processing, including hooks to enable bootstrapping of web
applications while offline.
-
Templating Languages and Engines: Template engines are tools to separate program-logic and presentation
into two independent parts. This makes the development of both logic and
presentation easier, improves flexibility and eases modification and
maintenance.
-
Transpiled Languages: Abstract languages converted to native, browser supported standards
like JavaScript or CSS.
-
Uniform Resource Identifier (URI): URI is a string of characters used to identify a resource. The most
common form of URI is the Uniform Resource Locator (URL).
-
Web Animations API: Web Animations is a new JavaScript API for driving animated content
on the web. By unifying the animation features of SVG and CSS, Web
Animations unlocks features previously only usable declaratively, and
exposes powerful, high-performance animation capabilities to developers.
-
WebAssembly: WebAssembly is meant to fill a place that JavaScript has been forced
to occupy up to now: a low-level code representation that can serve as a
compiler target.
User Interface Components
Drop-in UI components for web sites and applications.
-
Buttons: The term button refers to any graphical control element that provides
the user a simple way to trigger an event, like searching for a query at
a search engine, or to interact with dialog boxes, like confirming an
action.
-
Code: Code viewers and editors designed for embedding inside a website.
-
Forms: A HTML form on a web page allows a user to enter data that is sent to
a server for processing. Web users fill out the forms using checkboxes,
radio buttons, or text fields.
-
Galeries & Image Sliders: A sophisticated way to present a collection of images on your
website.
-
Grid: CSS Grid Layout Systems.
-
Rich Text Editors: A rich text editor is the interface for editing rich text within web
browsers. The aim is to reduce the effort for users trying to express
their formatting directly as valid HTML markup.
-
Table Of Contents: Components for automatic table of contents generation.
-
UI Kits: Collections of ready to use components.
-
Video & Audio: Components for playing audio and video files on a website.
Workflow
Task automation and asset delivery.
-
Automated Testing: Automated software testing is a process in which software tools
execute pre-scripted tests on a software application before it is
released into production.
-
Build Tools: Toolkits and their ecosystems, that help you automate painful and
repeated tasks.
-
CSS Tools: Tools for analysis, pre and post processing of CSS files.
-
Code Editors: Text editor programs designed specifically for editing source code of
a website.
-
Documentation: Writing, generating, publishing and consuming documentation for web
deliverables.
-
Fonts for Programmers: Programmers need special fonts, which help align the code and
distinguish between characters, that look alike.
-
Getting Started: Step by step guides for setting up a frontend development workflow.
-
HTML Tools: Tools for pre and post processing of the HTML source code.
-
Image Post Processing: Tools for image conversion and optimization.
-
JavaScript Tools: Tools for static analysis, pre and post processing of JavaScript
files.
-
Package Management: A package manager or package management system is a collection of
software tools that automates the process of installing, upgrading,
configuring, and removing reusable libraries and components in a
consistent manner.
-
Sourcemaps: Sourcemap is a way to map a combined/minified file back to an unbuilt
state.
-
Version Control: Version control or source control is a system that records changes to
a file or set of files over time so that you can recall specific
versions later.
License
This work is licensed under a
Creative Commons Attribution 4.0 International License.
Please provide a link back to this repository. This is not necessary for
GitHub forks.