jQuery Boston Conference 2010: Moving up the stack

20 October 2010 by moschel

This weekend, we had a ton of fun attending the annual jQuery Conference in Boston. Brian, Alex and I had a fantastic time hanging out with some of the most well-known members of the community. We learned about the latest releases and trends, and heard a lot of interesting opinions. While there was no officially designated theme for the conference, there was a very noticeable trend amongst most of the talks.

Photo Oct 20 5 20 17
Pm

Everyone has been saying for a long time that applications are moving from the desktop to the web browser. However, people haven’t been talking as much about how we plan to make this migration in an effective way. The approaches we take to making small apps and widgets don’t scale. As application complexity increases exponentially, so must the focus on architecture. In addition to this, there are other things that we need to account for - testability, documentation, and modularity.

Some things came up repeatedly at the conference - publishing and subscribing to events, object oriented patterns, automated testing - everyone had a different implementation, but we were all saying the same thing. What’s interesting is that these concepts are old news to back-end developers. Front-end developers took a different path, but we wound up at the same place. This means that these problems are already solved, JavaScript developers just have to do a little research. We must learn the strategies that people have been using for years on other platforms and integrate them into our workflow. Standardized software development practices are something that JavaScript developers didn’t have to pay attention to in the past. However, the community seems to recognize the relevance of these challenges now.

Another major focus of the conference was the mobile web. During the conference keynote, John Resig announced that jQuery Mobile had gone into the 1.0 Alpha stage. John plans to do for the mobile web space what he’s already done for desktop browsers: Provide a common means of interfacing with the DOM that works the same across all major browsers. As developers, we couldn’t be happier to hear this. However, this means that mobile web development is still several years behind desktop web development, and the coolest browser advancements are still happening on desktop computing platforms.

The talks

A common theme throughout the conference was code organization. You can’t organize a large project like you would a small project, just loading scripts sequentially and calling it a day doesn’t work when you are working with 45 different scripts. At the same time, you can’t just put everything in one script, because you are probably not the only developer who will be working with the code. Several talks addressed this and proposed solutions. In fact, Thomas Reynolds’ talk was focused solely on this challenge. He discussed JavaScriptMVC and StealJS as effective solutions to managing a growing codebase. So many people attended Thomas’ talk that it was moved to the larger of the two conference rooms.

Rebecca Murphey had a very well-received talk on separating application components into very discrete modules, and using a publish-and-subscribe messaging system for events. She’s had a lot of experience in dealing with and deleting code that was poorly organized and poorly thought out. Some of the best advice she had was from a book she read called JavaScript Patterns. Paraphrased: Write code that you expect others to read.

Brian gave a talk on FuncUnit, and the response was really outstanding. The need for a usable, effective functional testing solution was very apparent at the conference. Attendees weren’t satisfied with older solutions, but found FuncUnit quite approachable. The tweets don’t lie.

A lot of questions were raised during the conference about code organization and application scalability, and several solutions were proposed. However, no implementations were actually explored in-depth that solve this problem, except for JavaScriptMVC. The proof of its appeal was in the amount of people who approached Brian, Alex and I. People explained to us that they had either used JavaScriptMVC, or plan to deploy it into future projects.

What it all means

The web is no longer a platform exclusively for content delivery. It is a mature software platform, and that means that web developers need to adopt the software practices and patterns that developers for other platforms already have. Application management concerns will also trickle down to mobile web developers, if it hasn’t already. I think this is a completely doable challenge for the community. With the right tools, it will be a painless and exciting transition.

Photo Oct 20 5 20 50
Pm

John Resig, Leah Silber and Brian relaxing a bit before heading out to a dinner for the speakers.