Nell/InterestingJavascriptLibraries: Difference between revisions

From OLPC
Jump to navigation Jump to search
(More JS links (I can finally close those browser tabs!))
(revert abuse)
 
(41 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 https://github.com/jairajs89/Touchy.js # 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://ericbidelman.tumblr.com/post/14866798359/introducing-filer-js # filesystem for JS-in-browser
Line 28: Line 30:


http://ejohn.org/projects/javascript-diff-algorithm/ # diff algorithm (used by webkit debugger somehow)
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"
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:
* 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://wiki.commonjs.org/wiki/Promises/A
* http://api.jquery.com/category/deferred-object/
* http://api.jquery.com/category/deferred-object/
Line 38: Line 69:
There seems to be momentum behind the "Promises/A" syntax (as opposed to the gjs API which I wrote for litl).
There seems to be momentum behind the "Promises/A" syntax (as opposed to the gjs API which I wrote for litl).


Parsers:
= Parsers: =
* http://jsshaper.org/ # uses "Narcissus" JS parser
* 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://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)
* https://developer.mozilla.org/en/SpiderMonkey/Parser_API # Parse javascript from browser (Firefox only)
* http://www.esprima.org/demo/parse.html
* 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:
= Misc: =
* http://www.jshint.com/options/ # lint tool
* http://www.jshint.com/options/ # lint tool
* https://github.com/daleharvey/jshint-mode # flymake/emacs integration for the above
* https://github.com/daleharvey/jshint-mode # flymake/emacs integration for the above
Line 53: Line 85:
* http://i-am-glow.com # nicer low-level API for webgl code?
* 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://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 =
Docs/doctests:
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://blog.ianbicking.org/2010/09/12/doctest-js-callbacks/
* http://cscott.net/Projects/JDoctest/ (for Java, using JavaScript to write tests)
* http://cscott.net/Projects/JDoctest/ (for Java, using JavaScript to write tests)
* http://jashkenas.github.com/docco/ # literate-programming style
* 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
* 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]]

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