Nell/InterestingJavascriptLibraries: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
(revert abuse)
 
(46 intermediate revisions by 14 users not shown)
Line 1: Line 1:
= General =
http://sharejs.org/ # concurrent editing

http://turnjs.com/ # CSS page turning
http://turnjs.com/ # CSS page turning


https://github.com/doat/TouchyJS # touch gestures
https://github.com/doat/TouchyJS https://github.com/jairajs89/Touchy.js # touch gestures

http://eightmedia.github.com/hammer.js/ # more touch gestures


http://enyojs.com/ # JS framework from WebOS
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

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

https://github.com/liuliu/ccv/tree/unstable # Fast js face detection

http://robchadwick.com/TerrainEditor/ # WebGL terrain editor

http://westcoastlogic.com/lawnchair/ # cross-platform wrapper for HTML local storage APIs

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"

= Apps, not libraries: =
* http://www.ethercalc.org/start
* http://danielribeiro.github.com/WebGLCraft/
* http://gabrielflor.it/water # Implementation of Bret Victor's js talk
* http://2012.beercamp.com/ # Popup book turnjs-like; no github, but unobfuscated js
* https://github.com/thedjpetersen/subway # JS IRC client
* http://sharejs.org/ # concurrent editing
* http://www.multiplayerpiano.com/ # multi-player piano with websockets
* http://browserquest.mozilla.org/ https://github.com/mozilla/BrowserQuest # multiplayer RPG
* https://github.com/adobe/brackets
* http://blog.alexmaccaw.com/stylo # stylo web UI designer, open source

= 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/ [https://developer.mozilla.org/en/JavaScript/Guide/Iterators_and_Generators 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 [http://www.vpri.org/pdf/tr2008003_experimenting.pdf thesis] [https://github.com/alexwarth/ometa-js 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; [http://www.2ality.com/2012/01/objects-as-maps.html 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
* http://dailyjs.com/2012/03/26/gazel-nios-heroku-versions/#nios node port for iOS / JavaScript bridge
* http://dailyjs.com/2012/03/23/reified-thingjs-motion-tracking/#tquery_web_audio tquery / web audio / webgl
* http://dailyjs.com/2012/03/21/node-roundup/#sharejs ShareJS -- operational transforms for Node
* http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml -- Google JavaScript style guide

= 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
** recommended by http://intridea.com/blog/2011/8/22/sketch-js-html5-canvas-sketchpads-with-jquery
* 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/

= Articles =
* http://www.scirra.com/blog/76/how-to-write-low-garbage-real-time-javascript
* http://console-to-chrome.appspot.com/#1 # optimizing js tips


[[Category:Programming language]]
http://sketch-a-char.kirelabs.org/ # JS character recognition! No non-minified source release yet though.

Latest revision as of 15:40, 2 November 2012

General

http://turnjs.com/ # CSS page turning

https://github.com/doat/TouchyJS https://github.com/jairajs89/Touchy.js # touch gestures

http://eightmedia.github.com/hammer.js/ # more 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

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://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

https://github.com/liuliu/ccv/tree/unstable # Fast js face detection

http://robchadwick.com/TerrainEditor/ # WebGL terrain editor

http://westcoastlogic.com/lawnchair/ # cross-platform wrapper for HTML local storage APIs

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"

Apps, not libraries:

Promises:

There seems to be momentum behind the "Promises/A" syntax (as opposed to the gjs API which I wrote for litl).

Parsers:

Misc:

Not really JS

Move these?

Docs/doctests/Tests:

Articles