notes from the jQueryTO 2013 conference

Justin Obara obara.justin at gmail.com
Mon Mar 4 12:38:08 EST 2013


This past weekend several of us from the IDRC attended the jQueryTO (http://jqueryto.com) conference. Aside from it just being awesome to hangout with javascript and jQuery folks, there were a lot of good talks and information that we were able to gather. We've compiled a list of the interesting topics and some details about them below. Please feel free to ask us more about any of these. Also, if there is enough interest, we could do community meeting(s) to cover some of the topics.

Thanks
Justin


Build and Dependency Management Stack

	Grunt: http://gruntjs.com

Grunt is a flexible JavaScript task runner. It supports a vast plugin ecosystem and allows for efficient automation.
Grunt lets you automate tasks like jsLint, jsHint, minification, concatenation, obfuscation, test run/deployement etc.
Grunt also lets you dynamically keep track (watch) changes to the codebase and run specific tasks when they happens (re-linting for example)
Grunt is written in JavaScript so it does not require learning new syntax to extend or write a new plugin.

	Bower: http://twitter.github.com/bower/

Bower is a package manager for the web. Bower lets you easily install assets such as images, CSS and JavaScript, and manages dependencies for you.
You can point it at git repos (e.g. bower packages, local repos, github and etc.)
You can specify versions to pull down. For example a specific tag from a git repo

	RequireJS: http://requirejs.org

RequireJS is a JavaScript file and module loader aimed to improve speed and quality of the code.
RequireJS utilizes an asynchronous module definition (AMD) for defining modules such that module and their dependencies can be asynchronously loaded.
AMD:
Lets you create clear declarations of dependencies and avoid the use of globals
Allows for swapping modules easily for unit testing as well as map modules to different paths depending on the context
Encapsulates the module definitions
Makes a clear and easy dependency references

Documentation

	Automated CSS Documentation Generators

KSS: http://warpspire.com/kss/
DSS (in development): https://github.com/darcyclarke/DSS

	Sites and API Documentation

jQuery has moved to using a combination of Wordpress and github for their sites
The content is all contained in github as html, markdown, or xml. 
Updates are managed through git with pull requests
The sites are setup with wordpress using a custom "distro" jquery-wp-content
Pulls in all necessary plugins and etc. so all their various sites work the same
Grunt is used to pull content from github and pushes it to the wordpress site
All automated through github with webhooks
Staging site updates on every commit
Production site updates when a "release" tag is added
All this means that they rarely, if ever, need to use the wordpress admin panels.

Promises

$.deferred - http://api.jquery.com/jQuery.Deferred/
.promise - http://api.jquery.com/promise/
$.when - http://api.jquery.com/jQuery.when/

jQuery Interaction

Scheduled for jQuery UI 1.13
http://wiki.jqueryui.com/w/page/50166448/Interaction
This will replace the current mouse interaction library and provides an api for defining any interaction. Meaning that touch will now be supported. Additionaly you can create your own. A demo was given using the the upcoming browser support fo the gamepad api. They used an xbox 360 controller to interact with elements on screen: drag, resize, and etc.

Other Cool Stuff
 
	3D

Three.js: a lightweight cross-browser JavaScript library to create and display animated 3D computer graphics on a Web Browser http://mrdoob.github.com/three.js/  https://github.com/mrdoob/three.js/
Demos:
http://labs.verold.com/falling-in-circles/
http://studio.verold.com/

	Hardware Device API

HTML5 provides APIs that allows javascript to access hardware and devices, for instance, getUserMedia() to grab access on the camera, microphone etc.
JavaScript APIs to enable real-time communications on a web-browser http://www.webrtc.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.idrc.ocad.ca/pipermail/fluid-work/attachments/20130304/be7228dd/attachment.html>


More information about the fluid-work mailing list