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