North Carolina jQuery Camp Recap

This Saturday Viget South hosted NC jQuery Camp ‘09 which was organized by Rebecca Murphey. The day started off at 10AM with the group making a list of possible presentation topics in typical BarCamp style.

Since some of the attendees were new to jQuery Rebecca did a little jQuery 101 with them while Scott Gonzalez went over creating stateful plugins.

Scott explained that all the jQuery UI widgets and interactions are based off of a widget module. Using $.widget you can easily create your own stateful jQuery plugin. Given that there are a number of use-cases for this style of plugin I’m making sure to keep this in mind for the next time I need to whip up a jQuery plugin.

Next, I took the floor and did an overview of jMapping, how it came to be and the code behind it. I transitioned from that into giving an overview of using Screw.Unit and Smoke to unit test your jQuery code.

Following me, our own David Eisinger captivated everyone with his talk on Perceived Performance. He’s given this a couple of times before but he added something special this time by showing us the jQuery code that runs his whole presentation, jQuinote. There’s a decent amount of JS wizardry going on there and it was interesting to see how it all works.

After lunch we were treated to Rebecca’s talk on organizing your code with object literals. This lead into a group discussion on code organization and the possibility of using jQuery custom events to also organize your code. While I’m not sold on using custom events for code organization, you should definitely look at them if you’re developing a plugin because they make it very easy to add hooks into your code.

Rounding out the afternoon a number of people came up for a “Show & Tell” session where they presented some code and/or functionality they’d written for a recent project. This included our own Clinton Nixon along with Sean Cribbs of Radiant and Lowdown.

Finally, Scott came back up to give us a little jQuery UI 101. He went over all of the various effects, widgets and interactions. He educated us on all the “easings” available for the effects. Previously, I didn’t know so many were bundled with jQuery UI. He then treated us to a preview of the positioning plugin that's going to be released in conjunction with the new jQuery plugin repository that’s in the works.

The positioning plugin is very impressive and I can’t wait for it to be released. It allows you to position an element in relation to another element via a very easy to use API:

$("#some-element").position({ my: "left top", at: "left center", of: "#target-element" }); 

While still a work in progress source code for the position plugin, an initial example, and some documentation are all available.

Throughout the day everyone had great conversations with other jQuery/JS developers about best-practices, favorite plugins, and new solutions to tough problems. It was a great event and we’re encouraged to hear that Rebecca is considering organizing another event sometime early next year. Hope to see some of you next time!

Brian is a developer in our Boulder, CO, office. He loves making code readable and maintainable for clients such as Time Life and Shure.

More posts by Brian