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/
_______________________________________________________
fluid-work mailing list - [email protected]
To unsubscribe, change settings or access archives,
see http://lists.idrc.ocad.ca/mailman/listinfo/fluid-work

Reply via email to