JavaScript
todo; again, bookmarks
General
- http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth
- http://javascript.crockford.com/survey.html
- http://www.arlocarreon.com/blog/javascript/how-to-debug-javascript/
- http://shichuan.github.com/javascript-patterns/
- http://sandofsky.com/blog/desktop-class-applications-in-javascript.html
- http://javascriptweblog.wordpress.com/2010/06/07/understanding-javascript-prototypes/
- http://www.lullabot.com/articles/learning-javascript-php-comparison
- https://github.com/rwldrn/idiomatic.js
- http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
Concepts
Specs
Tools
- Grunt: a task-based command line build tool for JavaScript projects.
APIs
DOM
- MDN: DOM
- Gecko DOM Reference - MDN
- document
- window
- window.setTimeout - executes a code snippet or a function after specified delay.
- Gecko DOM Reference - MDN
- http://joestelmach.github.com/laconic/ - intuitive approach to generating DOM content in JavaScript
JSON
Tools
- JSONLint - The JSON Validator
- https://github.com/benbernard/RecordStream - commandline tools for slicing and dicing JSON records
Libs
Libraries
- JSAN - JavaScript Archive Network
CDN
- http://cdnjs.com/ - CloudFlare hosted opensource
- http://cachedcommons.org/ - pages.github.com, rackspace, ~180ms
Frameworks
Baskbone.js
- Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
- http://perka.github.com/backbone-ui/
- http://trigger.io/cross-platform-application-development-blog/2012/03/02/how-to-build-fast-html5-mobile-apps-using-backbone-js-zepto-js-and-trigger-io/
- http://skyhighcode.blogspot.co.uk/2012/06/dont-use-backbonejs-yet.html
- http://blog.appfog.com/putting-some-mvc-meat-into-your-app-backbone-js/
- http://dailyjs.com/2012/07/19/mvstar-2/
Storage
- jStorage is a simple wrapper plugin for Prototype, MooTools and jQuery to cache data (string, numbers, objects, even XML nodes) on browser side. Note that functions, DOM nodes, host objects and such can not be saved.
jStorage was first developed under the name of DOMCached but since a lot of features were dropped to make it simpler (like the support for namespaces and such) it was renamed. DOMCached had separate files for working with Prototype and jQuery but jStorage can handle both in one go.
- locache.js is a simple framework to help you cache objects on the client-side. It's not a replacement for HTTP caching, and often that is a better idea. Rather it allows you to cache JavaScript objects ( anything that is JSON serialisable) for re-use or offline usage. You can optionally provide an expiration time for cached objects.
- AES.io offers online tools for secure data storage and collaboration. We use client-side encryption to ensure all information is safe - both private and shared.
To sort
- The Closure Library is a broad, well-tested, modular, and cross-browser JavaScript library. You can pull just what you need from a large set of reusable UI widgets and controls, and from lower-level utilities for DOM manipulation, server communication, animation, data structures, unit testing, rich-text editing, and more.
- Jam. For front-end developers who crave maintainable assets, Jam is a package manager for JavaScript.Unlike other repositories, we put the browser first by using AMD modules.
- RequireJS [2] is a JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node. Using a modular script loader like RequireJS will improve the speed and quality of your code.
- Udon is a library providing basic support for functional programming idioms in JavaScript.
Scrolling
Keyboard
To sort
Documentation
- JsDoc Toolkit is an application, written in JavaScript, for automatically generating template-formatted, multi-page HTML (or XML, JSON, or any other text-based) documentation from commented JavaScript source code.
JS based
CofeeScript
- CoffeeScript is a programming language that transcompiles to JavaScript. The language adds syntactic sugar inspired by Ruby, Python and Haskell[1] to enhance JavaScript's brevity and readability, and add more sophisticated features like list comprehension and pattern matching.
- IcedCoffeeScript is a superset of CoffeeScript. The iced interpreter is a drop-in replacement for the standard coffee interpreter; it will interpret almost all existing CoffeeScript programs.
Other
- haxe JS is similar to Javascript, but includes new features like: Strong typing, Type inference, Packages, Classes, Interfaces, Generics, Enums, Iterators, Inlining, Macros
- Tampermonkey is a tool that provides Greasemonkey script support for Google Chrome and Chromium Browser. It's API is fully compatible to Greasemonkey, including GM_registerMenuCommand, GM_xmlhttpRequest with cross domain support and access to the unsafeWindow object.