The ECMA – 262 Standard, ratified after Netscape and Microsoft (mostly) agreed to make JavaScript and JScript interoperable.
Ways To Avoid Writing JavaScript
I’ve taken to looking for alternative ways to develop in JavaScript that don’t require me to put up with its syntax and overall insanity. Here’s a few I like (mostly compilers, since that’s what makes the most sense for me):
Category
Date
Link
Notes
Compilers
Jun 5
Opal
A Ruby transpiler
Nov 18th
Elm
A functional language that compiles to JavaScript
wisp
A homoiconic LISP dialect with Clojure syntax and macros
pythonium
A Python 3 to JavaScript translator
Resources:
Most of these are library-independent. Check my jQuery page for more, since there’s an entire sub-culture that believes it to be JavaScript programming in and by its own…
Category
Date
Link
Notes
Tools
Aug’16
nodeenv
A sane way to install multiple versions of Node in segregated environments. Downloads prebuilt binaries on macOS, Linux and Windows.
create-react-app
A bootstrap tool for React apps.
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.
UI elements
Aug’15
dragula
a drag and drop library
Jul’15
lazysizes
For lazy image loading
May’14
Framerjs
For designing interactive prototypes
Oct’13
Odometer
A library for counters with smooth transitions
rainbow.js
A slim progress bar
nprogress
Another slim progress bar
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.
Data Binding
Sep 18
knockout.sync.js
A very nice Knockout extension that allows you to sync data among clients and backends
Canvas and Graphing
Dec’15
smartcrop.js
Content-aware image cropping
Jan’14
glsl-transition
A library that uses GL shaders for transitions
Oct 20’13
GoJS
A commercial charting and diagramming library
Sep 18’13
svgjs
A lightweight library for SVG handling
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
jsPlumb
A Yahoo pipes-like library.
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
Oct 27’13
date
A date parser that can take pseudo-natural language strings
Sep 20’13
focus-transition
should be the default everywhere
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.
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
Sep’14
js-csp
All the fun of Clojure core.async without the beauty.
Oct’13
Riot.js
An opinionated take on MVP
Oct’13 Minified.js
A tiny replacement for jQuery/Zepto/etc.
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
it’s everywhere these days.
Server-side
Dec’14
Ducktape
An embeddable JavaScript engine
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