Nell/InterestingJavascriptLibraries
General
http://sharejs.org/ # concurrent editing
http://turnjs.com/ # CSS page turning
https://github.com/doat/TouchyJS https://github.com/jairajs89/Touchy.js # touch gestures
http://enyojs.com/ # JS framework from WebOS
- CScott likes this, I just wish I could trust that EnjoJS2 will actually happen and be supported
http://ericbidelman.tumblr.com/post/14866798359/introducing-filer-js # filesystem for JS-in-browser
http://fabricjs.com/ # "interactive object model" on top of canvas
http://pomax.nihongoresources.com/pages/Font.js/ # first-class Font objects.
http://lists.w3.org/Archives/Public/public-webapps/2011OctDec/att-1696/speechapi.html # JS Speech API
http://sketch-a-char.kirelabs.org/ https://github.com/kirel/sketch-a-char # JS character recognition!
http://bitterspring.net/blog/ # music toy
http://requirejs.org # module system
- http://requirejs.org/docs/plugins.html # write your own language, translated on the fly to javascript
- https://github.com/cscott/TurtleScript/blob/master/ts.js # an example of this
https://github.com/dannycoates/node-inspector # debug javascript running in node using the webkit debugger (an actual port of the webkit debugger code, rewritten as a standalone web page which communicates with node -- over websockets?)
http://ejohn.org/projects/javascript-diff-algorithm/ # diff algorithm (used by webkit debugger somehow)
http://www.html5rocks.com/en/tutorials/webgl/jsartoolkit_webrtc/ # JSARToolKit is an augmented reality library for JavaScript.
- Do drawing program, that lets you draw on things in the real world. Ie, if you put the QR code on your shirt, I can take a picture of you wearing it and then draw a moustache and funny hair on you. Now when I hold up my camera and take a picture of you, the moustache and funny hair follow you wherever you go!
- rotate after you draw, then draw some more, like http://www.webgl.com/2012/03/webgl-application-html5-sketch/
http://blog.sproutcore.com/changes-to-sproutcore/ # SproutCore, Amber
- http://dl.dropbox.com/u/323974/Future%20of%20SproutCore.pdf # various branches of SproutCore
- https://gist.github.com/83ac249f80f3fbc12855 # Announcing Blossom, one successor to SproutCore
https://github.com/thedjpetersen/subway # JS IRC client
http://knockoutjs.com/ # "you can think of KO as a general way to make UIs for editing JSON data"
- Maybe try to use this for the story editor
CSA wishlist: a 'console' that runs in the browser which lets you execute 'console-mode' javascript tools, with standard unixy stdin/stdout/pipe goodness. ie, "js$ hello-world.js | wc.js > output.txt"
http://gabrielflor.it/water # Implementation of Bret Victor's js talk
http://2012.beercamp.com/ # Popup book turnjs-like; no github, but unobfuscated js
Promises:
- http://wiki.commonjs.org/wiki/Promises/A
- http://api.jquery.com/category/deferred-object/
- https://github.com/kriskowal/q
- http://git.gnome.org/browse/gjs/tree/modules/promise.js
There seems to be momentum behind the "Promises/A" syntax (as opposed to the gjs API which I wrote for litl).
Parsers:
- http://jsshaper.org/ # uses "Narcissus" JS parser
- https://github.com/cscott/jsshaper # CScott's fork of the above, w/ generators and iterators
- https://developer.mozilla.org/en/SpiderMonkey/Parser_API # Parse javascript from browser (Firefox only)
- http://www.esprima.org/demo/parse.html
- http://www.tinlizzie.org/ometa/ # OMeta2/JS thesis github
Misc:
- http://www.jshint.com/options/ # lint tool
- https://github.com/daleharvey/jshint-mode # flymake/emacs integration for the above
- http://blog.lassus.se/files/liveprogramming.pdf # thesis of the JSShaper guy, I haven't really read it yet (CScott)
- http://bob.pythonmac.org/archives/2005/07/06/iteration-in-javascript/ # suggests writing an arrayIterator helper
- http://ejohn.org/blog/ecmascript-5-objects-and-properties/ # good summary of what's new in "standard" javascript (ecmascript 5.1, implemented in webkit and firefox)
- http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf # latest JS spec, if you really must know
- http://i-am-glow.com # nicer low-level API for webgl code?
- http://www.html5rocks.com/en/tutorials/workers/basics # webworkers; check out the blob URLs stuff for creating files which can be downloaded, etc.
- http://zeptojs.com/ # light weight version of jquery (no IE support, etc)
- http://ender.no.de/ # "package manager for browser"... not sure about use case here
- http://documentcloud.github.com/backbone/ # "Models" for web apps. Django in JS?
- http://documentcloud.github.com/underscore/ # Utility library, like prototype
- http://code.google.com/p/es-lab/source/browse/trunk/src/ses/StringMap.js # Simplest-possible map implementation; safer than using object properties blindly
- https://github.com/DomenicDenicola/dict # a bit more-featured version of the above
- https://github.com/paulmillr/es6-shim # other Ecmascript 6 features.
- https://github.com/Proxino/TypedJS # Haskell-style runtime tested type signatures
Not really JS
Move these?
- https://github.com/fogus/potion interesting soda/style language (not really JS)
- http://www.jonobacon.org/2012/03/14/ubuntu-accomplishments-updates-2/ # accomplishments
- http://web.mac.com/nealstephenson/Neal_Stephensons_Site/Home.html # Neal Stephenson
- http://www.xprize.org/prize-development/global-entrepreneurship # Education X prize
- http://coolmath-games.com/
Docs/doctests/Tests:
- http://blog.ianbicking.org/2010/09/12/doctest-js-callbacks/
- http://cscott.net/Projects/JDoctest/ (for Java, using JavaScript to write tests)
- http://jashkenas.github.com/docco/ # literate-programming style
- http://code.google.com/p/jsdoc-toolkit/ # JSDoc
- better templates: http://arandomurl.com/2011/04/02/jquery-couch-js-documentation.html
- http://docs.jquery.com/Qunit JavaScript unit tests
- http://travis-ci.org/ Continuous testing service
- http://about.travis-ci.org/docs/user/gui-and-headless-browsers/ Testing in headless browsers, using http://www.phantomjs.org/