Skip to content

Latest commit

 

History

History
executable file
·
108 lines (76 loc) · 10.8 KB

README.md

File metadata and controls

executable file
·
108 lines (76 loc) · 10.8 KB

Frontend Development Awesome

Manually curated collection of resources for frontend web developers.

You are browsing a version that is split by category in many different files. There is also a really huge file with every single resource on one page. If you are into this kind of thing: totally gigantic file.

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.

frontend.directory PayPal Beerpay Flattr Gitter Twitter


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.

  • 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.
  • 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.

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): This post talks about the design of the HTTP protocol, it's performance drawbacks and how to work around them.
  • 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.
  • Scalable Vector Graphics (SVG): An XML-based vector image format for two-dimensional graphics with support for interactivity and animation.
  • 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).
  • 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.

  • 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.
  • 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.
  • 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.
  • Sourcemaps: Sourcemap is a way to map a combined/minified file back to an unbuilt state.
  • Tutorials: Step by step guides for setting up a frontend development workflow.
  • Version Control: Version 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

Creative Commons 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.