On Saturday I went along to JQueryCamp, since it was in Boston. It was the first conference specifically about this JavaScript library. I don’t do very much Javascript work, but I pick up what there is in my company because I find it interesting, and I have started using JQuery because it makes it so much easier.

The first talk was the creator of JQuery, John Resig, who talked a bit about its history, and led into his plans for future development. Some of the background helped to explain why certain things are the way they are, for example the .css method is called that to avoid clashing with the .style property of a standard DOMElement object. The JQuery core is intended to be minimal, and does what it is supposed to, so future plans are unlikely to affect it much (although it may be able to take advantage of new browser features when they appear). The future focus seems to be on improving the testing tools to help the core team and plugin developers; work on the new UI functions; internationalization; and an online forum to ease discussion.

Next we had Paul Bakaus to tell us about JQuery UI. This is a newly released project to provide a set of good quality UI components under the JQuery banner. It includes simple components that can be dropped into a page, like the Datepicker, containers like a Tab pane or Accordion, and interaction behaviour like Drag & Drop. Paul then went on to describe his vision for the future of UI, where ‘desktop’ ideas like ‘copy and paste’ can be made to work between web sites in the browser – his example was copying a photo from Facebook and pasting it into Flickr. He has some ideas about how this could work, which should be interesting to see how it turns out. The UI library will also be expanded, and needs bug fixes because it is new!

After some lunch, there were a series of shorter presentations.

Marc Grabanski talked about his Datepicker plugin, which is a component of the kind that can easily be dropped into a page and used. It is flexible with a large number of options, and themable, so should be useful for many sites that need date selection. Apparently a ‘large travel website’ paid him to add some of the features, so it is clearly being used by some pretty big sites.

Yehuda Katz presented on using jQuery with Ruby web frameworks. In a lot of ways this was similar to the Unobtrusive Javascript presentation I have seen before, apart from the focus on jQuery for the javascript side. The interesting part of the talk for me was learning about Merb which is a framework similar to Rails.

Karl Swedberg talked about his experience of writing first a blog and then a book about learning jQuery while not being an ‘expert’ himself. He gave some suggestions on how to present documentation for plugins, and about the impression created by using different styles of writing. Unfortunately he ran out of time, but he did comment on the effect of writing a popular blog – that the time taken to write the entries was much less than the time taken answering questions afterwards, and this sometimes led him to wonder whether he should publish.

Marc Grabanski came back to give a brief introduction to the Form and Taconite plugins. The Form plugin attaches to a form in a web page and makes it submit by Ajax rather than by a full page request. Taconite allows a server to specify multiple DOM alterations in a page in a XML format, which may be easier for some people to deal with than writing Javascript. He combined the two to show a form which submitted and then updated a couple of areas of the page with the result.

Dossy Shiobara talked about his attempts to implement server-side Javascript processing on the AOLServer. This was a bit of a disappointing talk, because he hadn’t got very far with his implementation and so didn’t have a lot to show. He also seemed to have ignored all the previous server side javascript work, talking about it as if it were a new idea, which seemed a bit weird.

Jörn Zaefferer made a presentation called The Onion, which was about how to avoid feature bloat (given that this is client side stuff, keeping file sizes small is still regarded as a good thing). In summary, his idea was to avoid putting every conceivable feature in a plugin, and instead ensure it used callbacks as extension points. Then new features could be added by ‘wrapper’ plugins, without having to be in the original. His example was a ‘treeview’ plugin, to which he added a wrapper which allowed nodes to be loaded lazily by Ajax.

Bradley Sepos gave a quick introduction to using the <canvas> element from Javascript for drawing. This looks like something I should have a play with, since it is reasonably cross-platform now. John Resig then showed off his demos of porting Processing to Javascript, which was pretty insane.

Next, Felix Geisendörfer did a talk on what he called ‘ActiveDOM’. I’m afraid I pretty much switched off for this one, because it looked quite scary. The idea was something to do with mapping database fields to DOM elements in the page, and introducing some helper methods to make it easy to use selected DOM elements in an object oriented way.

The (almost) final presentation was by Sean Catchpole on ‘Growing jQuery’. He gave a few examples of how plugins don’t have to be big to be useful, as even little functions can be made reusable with a bit of thought. My own opinion is that this kind of thing should come out of natural refactoring and you shouldn’t necessarily be looking for them on the first use.

SInce there were a few minutes left, Jonathan Chaffer took the stage to talk about the jQuery bundle for Textmate. I switched off again, since I don’t use it.

Overall it was a good day – I got some new ideas of things to look at, and felt invigorated about the state of Javascript today.

Post a Comment

Your email is never published nor shared. Required fields are marked *