= Engines = * [WikiPedia:ECMAScript] * http://es6-features.org * http://www.ecma-international.org/ecma-262/5.1/ == Node Versions == * [https://nodejs.org/ nodejs.org] (also shipped as LTS binary) * io.js was a fork, included in Node 4 * https://iojs.org * [http://stackoverflow.com/questions/27309412/what-is-the-difference-between-node-js-and-io-js What is the difference between node.js and io.js?] = Dependencies management = == AMD == * [WikiPedia:Asynchronous_module_definition] * http://requirejs.org/docs/whyamd.html * http://wiki.commonjs.org/wiki/Modules/AsynchronousDefinition * RequireJS [DebianPackage:node-requirejs] [DebianPackage:node-requirejs-text] [DebianPackage:libjs-requirejs] [DebianPackage:libjs-requirejs-text] * [DebianPackage:node-almond] = Javascript Programming (Client Side) = == Frameworks == * [WikiPedia:JQuery], [DebianPackage:libjs-jquery], ..., [DebianPackage:node-jquery] * [WikiPedia:Ext_JS] * [WikiPedia:Prototype_JavaScript_Framework] * [WikiPedia:Dojo_Toolkit] * [https://vuejs.org/guide/overview.html Vue.js] === Comparisons === * https://vuejs.org/guide/comparison.html == Tree viewing == * https://vuejs.org/examples/tree-view.html = Javascript Programming (Server Side) = * [DebianPackage:node-express], [DebianPackage:node-], https://qa.debian.org/developer.php?login=pkg-javascript-devel@lists.alioth.debian.org == Web Framework == * [WikiPedia:Meteor_(web_framework)] [https://fr.wikipedia.org/wiki/Meteor_(framework) fr] (server initiated communication following publish-subscribe pattern) * [DebianPackage:node-express], [https://www.npmjs.com/package/express npm] * Connect [DebianPackage:node-connect], [https://www.npmjs.com/package/connect npm] https://www.npmjs.com/search?q=connect = Javascript Programming (Desktop) = * keywords: node js gui * [http://stackoverflow.com/questions/25897951/is-there-any-standlone-gui-module-for-node-application Is there any standlone gui module for node application] == Javascript Programming (Desktop traditional GUI application) == * keywords: node js gui * https://github.com/WebReflection/node-gtk * https://github.com/arturadib/node-qt * https://github.com/zcbenz/node-gui/ == Javascript Programming (Desktop standalone application bundling framework) == * https://github.com/rogerwang/node-webkit * https://github.com/sihorton/appjs-deskshell/ * [DebianPackage:node-topcube]? == Javascript Programming (Browser application) == * keywords: browser native javascript desktop application * [http://stackoverflow.com/questions/19925486/best-way-to-build-native-applications-with-javascript Best way to build native applications with javascript?] * [http://chimera.labs.oreilly.com/books/1234000001655/ch01.html Chapter 1. The Problem with Native JavaScript APIs] * [https://developer.chrome.com/native-client Welcome to Native Client ((Chrome))] == Javascript Programming (Browser extension) == == Javascript Programming (Locally run Single-page or unhosted application) == * [WikiPedia:Single-page_application#Running_locally] * [https://unhosted.org/ unhosted.org]/[https://unhosted.org/apps/ apps] unhosted web apps [Google:unhosted+web+apps] = [wiki:members/GRIP-UQAM/Bower Javascript packages: Bower] = = Asynchronous IO Programming = == General libraries == == Event == == Event loop == == Promise (concurrent.futures in python) == * [DebianPackage:promise] * [DebianPackage:node-promise] * [DebianPackage:node-es6-promise] * [DebianPackage:node-q] * when.js [https://www.npmjs.com/package/when npm] [DebianPackage:node-when] A lightweight Promises/A+ and when() implementation, plus other async goodies. * Bluebird [https://www.npmjs.com/package/bluebird npm] [DebianPackage:node-bluebird] Full featured Promises/A+ implementation with exceptionally good performance = Functional or acceptance testing = * keywords: node js WWW::Mechanize * [http://stackoverflow.com/questions/16200729/is-there-a-node-js-equivalent-of-perls-wwwmechanize Is there a Node.js equivalent of Perl's WWW::Mechanize?] > What you're looking for is a scriptable browser. In decreasing order of popularity, the options are: > * [https://github.com/ariya/phantomjs PhantomJS] - head & shoulders above all. A headless WebKit. > * [https://github.com/assaf/zombie Zombie] - more lightweight > * [https://github.com/laurentj/slimerjs slimerjs] - like PhantomJS but runs Gecko > * [https://github.com/deanmao/node-chimera chimera] - like PhantomJS but doesn't need to run an external process > * [https://github.com/srveit/mechanize-js/issues/4 mechanize-js], which lacks documentation and has far less traction than any of the above alternatives * [DebianPackage:phantomjs] https://en.wikipedia.org/wiki/PhantomJS [https://gist.github.com/julionc/7476620 How to install PhantomJS on Ubuntu] http://packages.ubuntu.com/xenial/phantomjs * Zombie 4.x is tested to work with io.js 1.6 or later. If you need to use Node 0.12 or earlier, consider using Zombie 2.x. ((Should work with Node 4)) keyword: zombie headless browser ; Zombie node site:debian.org {{{#!sh $ npm install zombie --save-dev }}} * [https://www.quora.com/What-is-the-main-difference-between-phantom-js-and-zombie-headless-website-testing-framework What is the main difference between phantom js and zombie (headless website testing framework)?] * [https://www.slant.co/versus/2763/2764/~zombie-js_vs_phantomjs Zombie.js vs PhantomJS] * [https://www.slant.co/topics/5168/~javascript-libraries-for-testing-common-browser-behavior What are the best JavaScript libraries for testing common browser behavior?] = Libraries = == Event Dispatcher (Mediator Pattern) == * [https://www.npmjs.com/package/event-dispatcher event-dispatcher] This library is partially modeled after symfony/EventDispatcher. * [Google:Mediator+site:npmjs.com] * mediator [https://nodejsmodules.org/tags/mediator NODE.JS MODULES] * [https://www.npmjs.com/package/mediator-js mediator-js] [[Image(https://img.shields.io/npm/dm/mediator-js.svg, link=https://www.npmjs.com/package/mediator-js, title=mediator-js,)]] Flexible event management. Implementation of the mediator pattern. * [https://www.npmjs.com/package/mediator mediator] [[Image(https://img.shields.io/npm/dm/mediator.svg, link=https://www.npmjs.com/package/mediator, title=mediator,)]] [https://github.com/henriknorberg/mediator henriknorberg/mediator] === About === * //[https://addyosmani.com/largescalejavascript/#mediatorpattern Patterns For Large-Scale JavaScript Application Architecture]// Written by: Addy Osmani. Technical Review: Andrée Hansson == jQuery libraries == * ​http://www.sitepoint.com/11-best-jquery-charting-libraries == Modernizr == * https://github.com/Modernizr/Modernizr * https://github.com/components/modernizr * https://en.wikipedia.org/wiki/Modernizr [https://fr.wikipedia.org/wiki/Modernizr fr] * https://www.drupal.org/project/modernizr * https://libraries.io/bower/modernizr * [https://github.com/Modernizr/Modernizr/issues/1664 Modernizr removed from Bower?] * [http://stackoverflow.com/questions/17799099/bower-and-modernizr Bower and Modernizr] * [http://stackoverflow.com/questions/32875506/how-to-build-modernizr-with-bower-and-brunch-missing-main-in-bower-json How to build Modernizr with bower and brunch - missing main in bower.json]