JavaScript

The ECMA262 Standard, ratified after Netscape and Microsoft (mostly) agreed to make JavaScript and JScript interoperable.

Resources:

Most of these are library-independent. Check my jQuery page for more, since I’ve adopted that for my own uses and have therefore focused on gathering more resources for it…

Category Date Link Notes
Canvas and Graphing May 7’13 Two.js An intriguing API that supports a number of back-ends (svg, canvas and WebGL)
Feb 17’13 GoJS An amazing charting library with support for flowcharts, swimlanes, and a number of business process diagrams.
Sep 25’12 Ejecta A fast GL-backed canvas library for iOS
Jun 25’11 paper.js Amazing open source vector graphics scripting framework that runs on top of the HTML5 Canvas
Apr 21’10 Akibahara A wonderful set of small libraries to clone 8-bit era arcade games,
Jan 19’10 Highcharts A very comprehensive charting library.
Jan 1’10 Raphael An amazing vector library, with a charting companion that will knock your socks off.
Dec 3’09 Parcycle: A Particle System with HTML5 canvas Pretty damn amazing.
Nov 6’08 JavaScript Information Visualization Toolkit A pretty comprehensive set of resources
Dec 16’07 Safari Programming Topics
Firefox 1.1 Canvas Support
Timeline a draggable DHTML timeline widget
Forms and Input Feb 1’13 Kalendae a very impressive, framework-agnostic date picker
Dec 16’07 Auto-Tab
JavaScript Calendar
HTML Tabbed Dialog Widget
XLoadTree dynamically loading tree control
Text Formatting Codeblock.js A nice way to provide code samples.
Feb 1’13 Rainbow A nice syntax highlighter
Jan 1’10 google-code-prettify A source code prettifier with support for multiple programming languages.
jsMath: A Method of Including Mathematics in Web Pages An amazing (re)interpretation of TeX
Oct 21’09 JavaScript Prettifier Simple to use and effective
Sep 17’09 To Title Case A port of Gruber’s title case script
Dec 16’07 Showdown a Markdown port
Highlight.js two interesting syntax highlighters
Syntax Highlighter
Diff Algorithm
Search Engine Keyword Highlight yes, I know it’s cheating – but it works fine when you don’t want to hack your back-end.
UI elements Jun’12 Mousetrap a very nice way to handle keyboard shortcuts
Feb 26’11 Color Wheel A great color picker component
Sep 17 Roar Two Growl-like components done with MooTools
Window.Growl 2.0
Timeframe Amazing calendar widget with support for date range selection.
Tools May’12 javascript.tmbundle An indispensable TextMate add-on (the autocompletion features alone are priceless)
Apr’11 PhantomJS A complete WebKit web stack, made scriptable via JavaScript. Awesome for testing, rendering pages to raster formats, etc.
3D Mar’12 cannon.js An amazing physics engine.
Mar’11 adamia-3d A pure JS library with an interesting math component.
CopperLicht A full-featured 3D engine.
three.js Probably the current (best) bet to work with WebGL. (some interesting samples here
Toolkits May’13 Bookshelf.js A sane ORM.
Feb’13 PouchDB A local storage wrapper with the ability to work offline and sync with a remote source.
anima.js A tiny, but flexible animation library.
uilayer A very nice abstraction for managing content positioning and animation using layers (and 3D transforms).
Rekapi A keyframe animation library with tweening.
Aug’11 Underscore A small but powerful functional programming toolkit.
Mar’11 php.js Useful for porting across app logic.
Feb 20’11 CoffeeScript Sanity, restored.
Nov 7’09 Closure A compiler, library and toolchain by Google.
Dec 16’07 Taffy DB an interesting “database” library.
Prototype heavily driven by Rails
Cross-Browser
dojo Toolkit a UI toolkit for dynamic website implementation
Moo.fx very lightweight (3KB)
JQuery arguably the best for structured programming.
Server-side May 16’10 node.js An event-oriented framework for doing I/O using Google’s V8 engine.
UI Frameworks Apr 10’10 UKI A simple UI kit for complex web apps that was used to do a complete Mail.app mock-up
Nov 7’09 Cappuccino Utterly amazing, and used by very complex web apps like 280 Slides and Mockingbird
Media Dec 16’07 Smooth SlideShow Library
OpenLayers a map navigation UI
Ken Burns Slideshows
iPhoto-like image resizing using Javascript
GreyBox a Mac OS X like popup.
fadomatic cross-browser DIV fader
Walter Zorn vector drawing, graphing, and other amazing stuff
image cross fader
Development Apr 17’10 Learning Advanced Javascript An interactive tutorial.
Dec 16’07 Jash: JavaScript Shell
Escaping regular expression characters
JSLint an interesting lint adaptation for JavaScript
Lumberjack a set of logging utilities
JSAN CPAN for JavaScript, of a sort
Mouse Input Dec 16’07 Drag-and-Drop Sortable Lists
Drag-and-Drop Library
Mouse Wheel Programming
Pie Menus a nice Pie Menus Menus implementation.
Tables Dec 16’07 ActiveScripts Grid an impressive grid control
Sortable Table
Standartista Table Sorting
Sortable and Groupable Table
Ajax related Dec 16’07 LiveSearch the stuff I used on this site’s search box for a while
Everything about the XML HTTP Request intrinsic object that which is now being dubbed Ajax. I wonder how far we are from Tide.
JPSPAN a server-to- JavaScript bridge using the XML HTTP object and some very clever data conversion.
SAJAX a similar effort geared towards PHP

Snippets:

Associative Arrays in JavaScript

// Taken from:
// http://philikon.wordpress.com/2010/04/20/associative-arrays-in-javascript/

function dict () {
    var keys = [];
    var values = [];

    return {
        get: function (key) {
            return values[keys.indexOf(key)]
        },

        set: function (key, value) {
            var i = keys.indexOf(key);
            if (i === -1) {
                i = keys.length;
            }
            keys[i] = key;
            values[i] = value;
        },

        del: function (key) {
            var i = keys.indexOf(key);
            keys.splice(i, 1);
            values.splice(i, 1);
        },

        keys: function () {
            return keys.slice();
        },

        values: function () {
            return values.slice();
        },
    };
}

See Also

ErlangJavaScriptLight Table 0.4JSON
A Chequered PastPythonvimTwitter Bootstrap
Qtzweb: A Quartz Composer to WebGL & JavaScript CompileriPhone and iPad DevelopmentSkulptBrython
VisualizationTwitterMarkdownJavaScript Side Effects
Geddy - A Structured Node.js FrameworkjQueryAnother Working YearXMPP
Time MachineA Big Slice of Raspberry PiChrome for iOShtmlArea
On Coda 23D PrintingRStudioVarnishing Retinas
Bada BingSencha Touch 2.0Farewell Composer, We Hardly Knew YeQuiet Nights
TextMateTangle: reactive documentsStraight Talk on Event LoopsA Simple Frontend Strategy for Mobile Webapps
A Simple Frontend Strategy for Mobile WebappsDart DisclaimerGiving QCRenderer a breatherLoki Render, Rebooted
SlimitFive Updates1Password and Dropbox (security tweaks wanted)php.js
CSS TechniquesOtherWikisiPad SimulatorSerial Numbers
Javascript Lorem Ipsum GeneratorTiny NodesJavaScript InfoVis Toolkit + WebGLDropping Text
jQuery MobileSo FarTextileArs reviews Android 2.2 on the Nexus One
The JavaScript InfoVis Toolkit 2.0 is out!Safari 5 tested: Chrome, Opera still have JavaScript edgeSmokescreenSite Designs
HTML5 presentationBookmarkletsMicrosoftGordon, a Flash runtime written in pure JavaScript
Another World ported to JavaScript and the canvas tagSunburst Visualization at OverfloaterOpacityGrowl
JavaScript InfoVis Toolkit Version 1.1.3Google Reader supportFontJazz - Embed fonts on web pagesAdSweep - An ad blocker for your favorite web browser (like Adblock)
Tackling The Stupidity Of The DiggBarXUL Extensions and Add-OnsSpectrumLong Missive From The Trenches Of Parenting
Bespin: Code in the CloudGraphvizDoing Stuff, When I CanPre-lude
2008 in Review, 2009 HazyTwitter ChartsMobile SafariBridging the iPhone GAP
jQuery, Microsoft, and NokiaHTTPAnnouncing CappuccinoGoogle Chrome, Google's Browser Project
The birth of a faster monkeySqueeze me, Citrix...HashiiTW - a TiddlyWiki for iPhone
Actions Speak Louder Than WordsDelicious 2.0jgrowlFive things that are still broken in browsers, ten years later
oursignal.comSproutCorejQuery UI 1.5SquirrelFish
Processing.jsjsviI, for one, welcome our new diapered overlordsTweetWheel
URL TriggerSafari 3.1iCopy - Copy and Paste for your iPhone and iPod TouchThe Joy of Webpads
Regarding iPods, Developers and Attention SpansGoogleArchives again, at lastSniff browser history for improved user experience
FancyZoom 1.0TabulateKindling MobilityHOWTO: Write iSync Phone Plugins
Mail.appHumanized Messages for jQueryPhotoShop-like JavaScript Color PickerJavaScript Tune Ups
CoverFlowA Bank That "Gets" OnlineThe nPhonejQuery for JavaScript programmers
What about Sun embracing JavaScript?Apple is not native to the webThe Wii Remote APIExt 1.1 Released
jQuery Chart Plugin DemoOnline Game: BrickShooteriUI Music DemoYahoo! Pipes for Real Men
PrototypeiPhone's AJAX SDK: No, thank you.iMusings - the iPhone, Standards, and jQueryWiki Migration Notes - Platform Selection
The Bug In FirebugFlashGTDActionScript
Fresh NewsWeekend CodingTIBCO General InterfaceHalibuts and Shrimps
Prototype EpiphaniesTag, You're ItEXIFAjax
John GruberMac OS XLaggingBuilding The Anti-Wiki
Rails (Ruby on Rails)MochiKitResources:XML
An Oddly Good Monday(Very) Odds and EndsThe Citrix Dashboard WidgetPlaceless GTD
Morning News BreakMiscellaneous HacktivityPlayStation PortableMobile Comparison Shopping
A Quiet Day...Foundations of AjaxNews FlushReferrer Spam Prediction: Heavy Downpour
News Station Portable?XSLTBack To WorkRelax, Me?
PHPLink ModeLink ModeGIS
Half a Day10.3.9 - Safari in Uncharted LandsCatching UpMiss Congenial Allergy
P2P.icio.usThe Bayesian Thing, AgainHatching SnakesFive Things That Keep Annoying Me About TV
Paging all Bloglines SubscribersPredictions for 2005Holiday LullUnwinding
Welcome to KubrickNokia 9500I Hope Kelkoo Gets A ClueVertical Foreshortening
The Ugliest Phones In The World, and Then SomeCoralizing Your SiteThe Trackback GameThe Bloglines Mystery
Simon Says: Use Purple NumbersThe Eleventh CommandmentDumb IdeasSurface Tension
Amid The MidletsJavaScript/overLIBJavaScript/jsFindThe Long Week
Cutting CornersTungsten T3 SD WoesMicrosoft vs Eolas UpdateMicrosoft to change IE - Web standards at last?
New Photo AlbumHacking Firebird using XULThe Box Model Hack, CSS, and my Vanishing Tolerance For IE BugsiSync me up, baby!
CPANRAQ550/Packages