Frontend Development

Attention: this list now lives at
https://github.com/dypsilon/frontend-dev-bookmarks
This page is not maintained anymore, please update your bookmarks.
-
Guides
-
Architecture
-
BEM.
-
Aura is an event-driven architecture for developing large-scale applications using reusable widgets.
-
Terrific.js provides you a Scalable Javascript Architecture, that helps you to modularize your jQuery/Zepto Code in an intuitive and natural way.
-
Patterns For Large-Scale JavaScript Application Architecture.
-
Video: Nicholas Zakas: Scalable JavaScript Application Architecture.
-
Comparison between different Observer Pattern implementations.
-
-
Workflow

+ [Vid: Javascript Development Workflow of 2013 by Paul Irish](http://www.youtube.com/watch?v=f7AU2Ozu8eo) + [Slides](http://dl.dropboxusercontent.com/u/39519/talks/fluent/index.html).
+ [Yeoman](http://yeoman.io/) is an opinionated set of tools, libraries, and a workflow that can help developers quickly build beautiful web apps.
+ [Grunt](http://gruntjs.com/) is a task-based command line build tool for JavaScript projects.
+ [Web development is getting complex. Let's go shopping.](http://ruudud.github.com/2012/12/22/grunt/).
+ [GruntStart](https://github.com/tsvensen/gruntstart): A Grunt-enabled head-start with the H5BP, jQuery, Modernizr, and Respond. The building blocks to quickly get started with Grunt to create an optimized website.
+ Front-end Process - Flat Builds and Automation
+ [Introduction](http://www.gpmd.co.uk/blog/front-end-process-flat-builds-and-automation-part-1-introduction/).
+ [Environment Setup & Yeoman](http://www.gpmd.co.uk/blog/front-end-process-flat-builds-and-automation-part-2-environment-setup-and-yeoman/).
+ [Grunt Tasks](http://www.gpmd.co.uk/blog/front-end-process-flat-builds-and-automation-part-3-grunt-tasks/).
+ [CSS Framework (Intuit)](http://www.gpmd.co.uk/blog/front-end-process-flat-builds-and-automation-part-4-css-framework/).
+ [CSSCSS](http://zmoazeni.github.io/csscss/): A CSS redundancy analyzer that analyzes redundancy.
+ [Helium](https://github.com/geuis/helium-css) - javascript tool to scan your site and show unused CSS.
+ [Roots](http://roots.cx/).
+ [Sparky.js](http://sparkyjs.com/) is a client-side application scaffold which helps those who want to have organized structure in their app, but don't want to subscribe to a particular client-side MVC framework.
+ [Yeoman](http://yeoman.io/) is an opinionated set of tools, libraries, and a workflow that can help developers quickly build beautiful web apps.
+ [Brunch](http://brunch.io/) is an assembler for HTML5 applications. It‘s agnostic to frameworks, libraries, programming, stylesheet & templating languages and backend technology.
+ [Automaton](http://indigounited.com/automaton/): Task automation tool built in JavaScript.
+ [Cartero](https://github.com/rotundasoftware/cartero).
-
Frameworks
-
JavaScript
-
Angular
-
Learning
- AngularJS-Learning: large list of Angular learning resources.
- AngularJS Screencasts.
- Building Huuuuuge Apps with AngularJS.
- What are the nuances of scope prototypal / prototypical inheritance in AngularJS?.
- AngularJS from Basics to Dependency Injection.
- AngularJS To Do List App.
- AngularJS vs Ember: It's not even close.
- The Hitchhiker’s Guide to the Directive.
- Frontend Workflows with Grunt and Angular JS.
-
Integration
- angular-requirejs-seed: this is a fork of Angular Seed but with changes needed for requireJS support.
- Writing Reusable AngularJS Components with Bower.
- Native AngularJS directives for Twitter's Bootstrap..
- Automating AngularJS With Yeoman, Grunt & Bower.
- Optimizing Angular Templates with Grunt on Heroku.
- Building Offline Applications With AngularJS and PouchDB.
-
jQuery
-
Backbone
-
React by Facebook.
-
Flight is an event-driven web framework, from Twitter.
-
Singool.js Lightweight JavaScript framework for developing single-page web applications.
-
Knockout: Simplify interactive JavaScript UIs by applying the Model-View-View Model (MVVM) pattern.
-
Sammy.js is a lightweight JavaScript framework. It eases the pain and provides a basic structure for developing JavaScript applications.
-
Ember.js: A framework for creating ambitious web applications.
-
Maria: The MVC framework for JavaScript applications. The real MVC. The Smalltalk MVC. The Gang of Four MVC.
-
Terrific Composer is a Frontend Development Framework designed for building deluxe frontends based on the Terrific concept.
-
Rivets.js: Lightweight and powerful data binding + templating solution for building modern web applications.
-
Synapse: Data Binding For The Rest Of Us.
-
A Comprehensive Collection Of Javascript Application Frameworks.
-
-
CSS
-
Twitter Bootstrap
-
Bootstrap Hero List: The big badass list of bootstrap resources.
-
Widgets
-
Pines Notify: JavaScript notifications for Bootstrap or jQuery UI.
-
fuelUX: Fuel UX extends Twitter Bootstrap with more lightweight JavaScript controls.
-
Bootbox.js: alert, confirm and flexible dialogs for Twitter's Bootstrap framework.
-
Bootstrap Modal: Extends Bootstrap's native modals to provide extra functionality.
-
BootPag: BootPag - interactive pagination jQuery plugin for twitter bootstrap.
-
Bootstrap Arrows: A simple jQuery plugin and add-on to the popular Twitter Bootstrap framework to include the use of arrows at any angle in your UI designs.
-
X-editable: In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery.
-
Themes
-
Bootswatch: Theme catalog.
-
Jumpstart UI: Another catalog for paid themes.
-
Darkstrap: A dark theme.
-
jQuery Mobile Boostrap: A jQuery Mobile theme based on Twitter Bootstrap.
-
Wordpress
-
BootMetro: Metro style web framework.
-
Cosmo: Windows 8 inspired theme.
-
Bootstrap Generator: Simply alter the options below and click "Generate" to get your compiled Bootstrap CSS file.
-
-
Misc
-
Boilerstrap: A blank slate for the modern web. Just add creativity.
-
Bootstrap GUI PSD: a toolkit designed to kickstart webdesign of webapps and sites.
-
Font Awesome: The iconic font designed for use with Twitter Bootstrap.
-
Bootstrap CDN Free CDN for Twitter Bootstrap.
-
Bootstrap Tour Quick and easy way to build your product tours with Twitter Bootstrap Popovers.
-
Bootsnipp: Design elements and code snippets for Bootstrap HTML/CSS/JS framework.
-
PaintStrap: Generate beautiful Twitter Bootstrap themes using the Adobe kuler / COLOURlovers color scheme.
-
TODC: A Google-styled theme for Twitter Bootstrap.
-
-
Ink.
-
neat.
-
Kube.
-
intuit.css - a powerful, modular, Sass-based, BEM, OOCSS framework.
-
-
Cross Browser
-
Cross Device
-
Reponsive
-
Facing The Challenge: Building A Responsive Web Application.
-
Tables
-
Events
-
Images
- Fluid Images.
- How to Use Responsive Images to Make Your Site Shine on Any Platform.
- Adaptive Images.
- Why We Need Responsive Images.
- Riloadr: A cross-browser framework-independent responsive images loader.
- jQuery Picture.
- Picturefill.
-
Text
- FitText: A jQuery plugin for inflating web type.
- Out Of Words!: The responsive typography framework behind Words App.
- Responsive Font Sizing: Making your font size responde to your screen size, easy & maintainable.
- Responsive Measure.
-
E-Mail
-
Mobile
-
Frameworks
- jQuery Mobile: Touch-Optimized Web Framework for Smartphones & Tablets.
- jQTouch is a Zepto/jQuery plugin for mobile web development on the iPhone, Android, iPod Touch, and other forward-thinking devices.
- Junior.
-
Emulators
-
Scrolling
- jSwipeKinetic is a jQuery plugin that enables you to add kinetic scrolling on your touch optimized projects. jSwipeKinetic is build on top of jGestures (jgestues.codeplex.com).
- jQuery.pep.js: A lightweight plugin for kinetic-drag on mobile/desktop.
- Overscroll is a jQuery plug-in that mimics the iphone/ipad scrolling experience in a browser.
- Zynga Scroller.
- pull-to-refresh.js.
- Overthrow.
- Antiscroll.
-
Gestures
- jGestures jQuery plugin enables you to add gesture events such as ‘pinch’, ‘rotate’, ‘swipe’, ‘tap’ and ‘orientationchange’ just like native jQuery events.
- hammer.js is a focused, standalone JavaScript library, only for multi-touch gestures.
- Touchy: is a highly configurable jQuery plugin. It exposes event data (velocity, etc.) for longpress, drag, pinch, rotate and swipe.
- TouchSwipe.
- TipTap.
- jQuery.event.swipe.
- toe.js is a small library based on jQuery to enable advanced gestures on touch devices.
- Jester.
- JS Touch Layer.
- Touch Events and Abstractions.
-
DOM Objects Manipulation
- jQuery.event.move.
- WKTouch: A JavaScript plugin for touch-capable devices, enabling multi-touch drag, scale and rotate on HTML elements.
-
Tap Acceleration
- Energize.
- Tappable is a simple, standalone library to invoke the tap event for touch-friendly web browsers.
- Fastclick is a simple, easy-to-use library for eliminating the 300ms delay between a physical tap and the firing of a click event on mobile browsers.
- Lightning Touch.
- Creating Fast Buttons for Mobile Web Applications.
-
Layout
- Flickable.js allows you to make any element touchable; useful for flicking between sections, or sliding elements around the page.
- PageSlide is a jQuery plugin which slides a webpage over to reveal an extra interaction pane.
- Swipe is a lightweight mobile slider with 1:1 touch movement, resistant bounds, and scroll prevention. It's library agnostic.
- Swiper: Mobile touch slider with hardware accelerated transitions.
- jQuery Mobile Pagination Plugin.
- SwipeSlide: A Zepto Plugin for iOS like swipe navigation.
- stackable.js is an invaluable jQuery plugin that stacks your tables for small screens. It greatly improves usability on mobile devices.
-
Reacting to Device Sensors
- lenticular.js is a jQuery plugin for creating image animations that response to tilting or mouse events.
- This End Up: Using Device Orientation.
-
iOS
-
-
Printers
-
-
Patterns & Snippets
- Responsive Patterns.
- CSS3 Code Snippets.
- The Blueprints are a collection of basic and minimal website concepts, components, plugins and layouts with minimal style for easy adaption and usage, or simply for inspiration.
-
DOM Manipulation
-
Typography
-
Adobe Edge Web Fonts: Get started with free web fonts.
-
Typekit: easy way to use commercial web font on your site.
-
FitText: A jQuery plugin for inflating web type.
-
Trunk8 is an intelligent text truncation plugin to jQuery. It will cut off just enough text to prevent it from spilling over.
-
bacon is a jQuery plugin that allows you to wrap text around a bezier curve or a line.
-
CSS Typography cheat sheet: Small roundup on CSS features that will enhance your web typography.
-
Services (Free & Commercial)
-
Programming & Markup Languages
-
CSS
- [Understanding border-image](Understanding border-image).
- What No One Told You About Z-Index.
- Principles of writing consistent, idiomatic CSS.
-
JavaScript
-
Extensions
- RubyJS is a JavaScript implementation of all methods from Ruby classes like Array, String, Numbers, Time and more.
- Mout is a collection of modular JavaScript utilities. You can use them in the browser as AMD modules or on node.js, without any overhead.
- bacon.js: A small functional reactive programming lib for JavaScript.
-
Flow Controll
-
How To Node Article on promises describing both sides: node.js and browser.
-
Video by Douglas Crockford on monads which is touching Promises.
-
Libraries
- Standalone-Deferred.
- Standalone-Deferred.
- Flowy.
- Step.
- kew is a lightweight promise library optimized for node.js.
- jQuery Timing.
- RSVP.js.
- q.
- Watch.js.
-
HTML
-
Higher Level Languages
- Dart: Typed language compiled to JavaScript. By Google.
- Sass is an extension of CSS3, adding nested rules, variables, mixins, selector inheritance, and more. It’s translated to well-formatted, standard CSS using the command line tool or a web-framework plugin.
- Less extends CSS with behavior such as variables, mixins, operations and functions.
- Roole is a language that compiles to CSS.
- Stylus: Expressive, flexible, structured CSS.
-
-
Animation
-
animate.less, is a bunch of cool, fun, and cross-browser animations converted into LESS for you to use in your Bootstrap projects. Great for emphasis, home pages, sliders, and general just-add-water-awesomeness.
-
Canvas Advanced Animation Toolkit is an scene graph director-based animation framework for javascript based in the concept of a timeline.
-
tween.js: Super simple, fast and easy to use tweening engine which incorporates optimised Robert Penner's equations.
-
Janis is a lightweight Javascript framework that provides simple animations via CSS transitions for modern browsers on the web as well as mobile devices.
-
Rekapi: A keyframe animation library for JavaScript.
-
CanvasScript3 is a Javascript library for the HTML5 Canvas with an interface like ActionScript3. It supports Sprite Groups, Layers, Mouse/Keyboard Events, Bitmap Effects, and Tween Animations.
-
Shifty is a tweening engine built in JavaScript. It fits any number of tweening needs.
-
emile.js is a no-frills stand-alone CSS animation JavaScript framework.
-
Firmin: a JavaScript animation library using CSS transforms and transitions.
-
$fx(): A compact, lightweight Javascript Library for animation.
-
Keanu is a micro-lib for animation on Canvas/JS.
-
jsAnim is a powerful, yet easy to use library for adding impressive animations to websites, without sacrificing standards or accessibility. Weighing in at just under 25 kilobytes, jsAnim packs a lot of punch for such a little application.
-
scripty2 is an open source JavaScript framework for advanced HTML-based user interfaces, designed to simplify web UI development.
-
Animator.js: JavaScript animation library.
-
Processing.js: is the sister project of the popular Processing visual programming language, designed for the web. Processing.js makes your data visualizations, digital art, interactive animations, educational graphs, video games, etc. work using web standards and without any plug-ins.
-
jQuery Transit: Super-smooth CSS3 transformations and transitions for jQuery.
-
Move.js is a small JavaScript library making CSS3 backed animation simple and elegant.
-
Collie is a Javascript library that helps to create highly optimized animations and games using HTML 5.
-
Year Of Moo: Angular.js Animations.
-
animate.css is a bunch of cool, fun, and cross-browser animations for you to use in your projects. Great for emphasis, home pages, sliders, and general just-add-water-awesomeness.
-
Widgets
-
Kits
- AlloyUI.
- Kendo UI.
- jQuery UI Bootstrap.
- Zebra: JavaScript library that follows easy OOP concept, provides HTML5 Canvas based Rich UI and includes Java to JavaScript converter tool.
-
File Upload
-
Sitemap
-
Table Of Contents
-
Modals
-
Notifications
-
Gallery Sliders
-
Pagination
-
Selects
-
Progress Bars
-
Trees
-
Navigation
-
Tooltips
-
Misc
- jQuery Knob.
- DopelessRotate.
- jQuery Addresspicker.
- Fangle: create interactive documents from plain text.
-
-
Visualization
-
Cube.
-
Paper.js is an open source vector graphics scripting framework that runs on top of the HTML5 Canvas.
-
Timeline.js: A Storytelling Timeline built in JavaScript.
-
xCharts is a JS library for creating attractive, custom data-driven chart visualizations. It uses HTML, CSS, and SVG to create interactive and responsive charts that can be easily customized and integrated.
-
amCharts is a charting tool that will suit any dataviz need.
-
Validation & Forms
-
Parsley.js: Check your forms, frontend, without writing a single line of javascript!
-
mailcheck.js: A jQuery plugin that suggests a right domain when your users misspell it in an email address.
-
one-validation is a collection of regular expressions for general validation purposes.
-
nextVal is an easy-to-use, flexible and reliable form validation plugin for jQuery.
-
Fields.js creates collections of fields. Each field is constantly evaluated for validity, and is accessible through the collection.
-
IV.js provides an intuitive way to add validation filters that are useful for processing user input.
-
Ladda: A UI concept which merges loading indicators into the action that invoked them.
-
Transitions
-
Numbers
-
Time and Dates
-
Search
-
Testing
- Writing Testable JavaScript.
- Writing Testable Frontend Javascript Part 1 – Anti-patterns and their fixes.
- Introduction to BDD.
- cucumber.
- cucumber.js.
- Gherkin is the language that Cucumber understands.
-
Template Engines
-
RoutingAndUrls
-
Rich Text Editors
-
Code Viewers & Editors
- Rainbow.js.
- Intelligist.
- Prism.js.
- Brackets: An open source code editor for the web, written in JavaScript, HTML and CSS by Adobe.
- CodeMirror.
- Scripted.
- tabIndent.js.
- Behave.js is a lightweight library for adding IDE style behaviors to plain text areas, making it much more enjoyable to write code in.
-
Refactoring
-
Performance
-
Videos
- Faster HTML and CSS: Layout Engine Internals for Web Developers: by David Baron of Mozilla.
- Google I/O 2012 - Breaking the JavaScript Speed Limit with V8.
- DOM, HTML5, & CSS3 Performance: A video by Paul Irish.
- Nicholas Zakas | High Performance Javascript.
- Building A Performant HTML5 App with Trunal Bhanse and Akhilesh Gupta (LinkedIn).
-
General Information
-
Memory
-
Tools
-
V8
- Optimizing for V8 - in-depth technical series on the V8 engine.
- I-want-to-optimize-my-JS-application-on-V8 checklist.
- Performance tips for JavaScript in V8.
-
Locache: JavaScript caching framework for client side caching in the browser using localStorage.
-
DOM Manipulation
- Rendering: repaint, reflow/relayout, restyle.
- Reflows & Repaints: CSS Performance making your JavaScript slow?.
- The new game show: "Will it reflow?".
- When does reflow happen in a DOM environment?.
- Speeding up JavaScript: Working with the DOM.
- Efficient JavaScript on dev.opera.com.
- When Does JavaScript trigger reflows and rendering.
- How (not) to trigger a layout in WebKit.
-
Animation
- requestAnimationFrame for smart animating.
- Leaner, Meaner, Faster Animations with requestAnimationFrame.
- Collie - high performance Animation library.
- Using requestAnimationFrame to Optimize Dragging Events.
- requestAnimationFrame API: now with Sub-Millisecond Precision.
- Why moving elements with translate() is better than pos:abs top/left.
-
Hardware Acceleration
-
Browser Internals
-
HTTP Transport
-
Modularity & Loaders
- Lazy Module Declaration - JavaScript Module-Assembler for building better web applications.
- UMD (Universal Module Definition) patterns.
- Browserify.
- require.js.
- CrapLoader.
- Writing Modular JavaScript With AMD, CommonJS & ES Harmony.
- Путь JavaScript модуля.
- Modular JavaScript with RequireJS.
- LABjs & RequireJS: Loading JavaScript Resources the Fun Way.
- JavaScript Inheritance and Public/Private members.
- Deep exploration of the murky waters of script loading.
- Terminology: Modules.
-
Package Management
-
Image Manipulation
-
HTTP
-
Error Handling & Debugging
- Tracing.js - Javascript function tracing.
- JavaScript error handling anti-pattern.
- Tattletale.
-
Documentation
-
dexy is a free-form literate documentation tool for writing any kind of technical document incorporating code.
-
docco is a quick-and-dirty, hundred-line-long, literate-programming-style documentation generator.
-
Ronn builds manuals. It converts simple, human readable textfiles to roff for terminal display, and also to HTML for the web.
-
dox is a JavaScript documentation generator written with node. Dox no longer generates an opinionated structure or style for your docs, it simply gives you a JSON representation, allowing you to use markdown and JSDoc-style tags.
-
YUIDoc is a Node.js application that generates API documentation from comments in source, using a syntax like Javadoc and Doxygen.
-
coddoc is a jsdoc parsing library. It stands out for its extensibility: users can add tag and code parsers via coddoc.addTagHandler and coddoc.addCodeHandler. coddoc also parses source code for use in APIs.
-
-
Windows 8 Style
- Metro UI CSS.
- BootMetro.
- metro-bootstrap.
- Metro UI Template.
- Droptiles – Metro-Style Web Dashboard.
- Metro JS.
- Windows Metro tiles with Javascript and CSS3.
- Cosmo.
- Vid: What Web Developers Need to Know When Building Metro style Apps.
- CSS3 Microsoft Modern Buttons.
- Visual Studio 2012 Image Library - 5,000+ Images Downloadable Now.
- Metro User Interface Implementation and Resources.
-
Video
-
Audio
-
Library Collections
- jster.
- MicroJS helps you discover the most compact-but-powerful microframeworks.
- JSPkg: reference library and package manager.
- TheToolbox: more general collection of tools.
- Unheap.
-
Chat
-
Prototyping
-
JSON
- JSON Query Language is a query and processing language designed for the popular JSON data model.
- Oboe.js makes it really easy to start using json from a response before the ajax request completes; or even if it never completes.
-
Presentations
-
Scrolling
-
Keyboard
-
Tables & DataGrids
-
Security
-
Layout
- Shapeshift is a plugin that arranges a collection of elements into a column grid system like Pinterest.
- CollagePlus: This plugin for jQuery will arrange your images to fit exactly within a container.
-
Misc
- zip.js.
- simpleCart.js.
- Aware.js is a simple jQuery plugin that allows a site to customize and personalize the display of content based on a reader's behavior without requiring login, authentication, or any server-side processing.
- How to directly upload files to Amazon S3 from your client side web app.
