A quick word from our curators, Chris and Laura Williams, along with staff introductions and other updates about the day.
For seven years, the Dojo Toolkit has been helping engineers and companies deliver amazing web applications. With the revolution taking place in today's modern desktop and mobile web browsers, Dojo has once again reinvented itself through a series of improvements in modularity, performance, and simplification, through defacto standards, to provide a rich, powerful, and easy platform for building current and next generation applications.
by Rawld Gill
"[Rails] has become the framework of choice for implementation [...] of Web 2.0 applications" --Agile Web Development with Rails 2006
Really? Then why isn't everybody using Rails in 2011? Did something else replace it? Yes. The 100 other frameworks that were around before it, or came after it, and make the same claims. Isn't it obvious with so many competing frameworks that none of them are solving the problem?
"Machiavellian" is usually pejorative, a term laced with disdain and subtle contempt. However, to actually read Machiavelli is to study applied Realism in the context of meeting goals. As a community, we (Dojo) have certain goals; how can we reach them effectively? How can we best position ourselves in the toolkit/library ecosystem in order to reach our goals? How can we survive in a world more and more infatuated with tiny individual libraries, when the perception is that Dojo is heavy? Machiavelli provides us with keen insights into human nature—insights that still serve us well nearly 500 years later.
by Dan Lee
You're probably using Widgets, but are you really using Widgets? Do you know about Attribute Maps? Are your widgets leaking memory? Are you sure? Join enterprisedojo.com Editor and all-around good guy Dan Lee as he leads a discussion on the finer points of custom Dojo widgets, some best practices on the subject, and important anti-patters to avoid. A nerdy good time will be had by all.
by Chris Barber
Dojo's flagship widget system, dijit, is packed full of features and packed full of bytes that result in longer download, parse, and execution times. Sometimes you just need a lightweight widget that doesn't have all the extra stuff dijit provides.
This talk describes the basic principals for designing non-dijit widgets that are small and fast containing only the functionality you need. We'll take dijit widgets such as the AccordionContainer, then hack it down to a fraction of the functionality and size.
Peter Higgins - the man, the legend, and all that is great about JS and JSConf. Live and in the flesh. He was specifically placed at this point in the day to occur before dojo.beer is started.
I'm going to walk through the lessons we've learned over the past 2+ years about how to use DataGrid to render extremely wide, extremely large data sets without thrashing your browser (or your users' will to live).
by Kris Zyp
In this presentation we will look at the new d-list grid component combined with the object store API. The legacy DataGrid has grown very large and complicated over the years, and the new d-list component gives us a clean, lightweight architecture. The d-list is highly modular, with numerous plugins, making it simple and easy to extend. It is highly suited for mobile applications with a small footprint and touch scrolling capabilities. The d-list is also built around the Dojo Object Store architecture. The new store API also simplifies our design as well with clean minimal data providers. In this presentation we will look at the new architectural approaches to widget composition, event dispatching, hierarchy, CSS utilization, and more.
Much of the hype about AMD modules centers around performance and code size (and it's well-deserved). But modules are as important to software architecture as dojo.declare()!
In this session, we'll take a look at some classic, general-purpose patterns re-spun as AMD modules as well as a few advanced, implementation-specific patterns.
Specifically, we'll cover:
- Singletons, Decorators, Adapters
- Inversion of Control / Dependency Injection
- Mediators and inter-module coordination
- Model-View-Controller patterns
- Self-contained Widgets (js, css, and html)
- Strategies for sharing code on the server
Powering the world’s most demanding enterprise applications, Uniface uses DOJO to bring the rich web experience to Uniface-powered applications. This presentation will look at how Uniface makes connecting a back-end to your Dojo applications a snap, and how Dojo is used to add a great web user experience to Uniface applications.
by Mark Wubben
At State we're building a platform and website for people to share opinions. We've developed a new template system named Eyebrow, based on Mustache and DTL. It has template inheritance, filters, template variables custom tags and if/else logic. It's also DOM-aware. In Node, we parse the template syntax and run the markup through JSDOM. This gives us an AST for both template tags and the DOM nodes. We can use this to compile a Node module for server-side rendering and a JSON definition for the browser runtime. In the browser, this gives us reactive templates where model changes are automatically reflected in the DOM, down to the text node level.
The purpose of this presentation is to illustrate how the dojo graphic API (gfx) can be leveraged to build advanced features needed by rich graphical application. In particular, we will demontrate how to build gfx extensions enabling advanced symbology : a layout mechanism to arrange shapes automatically and dynamically, a simple templating engine and gfx data binding. These extensions will be demonstrated in action taking as an example a diagramming web application.
Closing out day 1 with Chris and Laura Williams and helping to ensure you get to this evening's party.
by Alex Russell
Dojo provides a stable, dependable, best-you-can-get solution for designers and developers who want flexibility, performance, reach, and fewer headaches down the road. Mobile is starting to challenge some of the assumptions that makes it possible for to deliver these attributes in a single codebase, and new frameworks are emerging to fill the gaps created by new constraints -- better standards support on average, different network latencies, different form factors, etc.
This talk explores how language, platform, and market evolution will change the dynamic further and faster, allowing the Dojo community to consider new approaches...if we can muster the will to get out in front of it.
by James Thomas
Dojo's build system has long been one of the the toolkit's greatest, but least understood, features. Using the build system properly dramatically improves the performance of your application!
However.... Fiddling about with shell scripts? Needing to download the full source distribution? Understanding long READMEs and cryptic profile files? Manually categorising your application dependencies?
Pffft, not any more! Using the newly launched Dojo Web Builder you can ignore all of the above and just your web browser.
This session will provide you with an in-depth account of building a mobile web game for the BlackBerry PlayBook using the WebKit web browser and the BlackBerry Webworks platform. I will recount the lessons learnt while developing such an app, why mobile is truly different and how you can adapt your desktop Dojo skills for the job at hand. I will lay down a few best practices that are emerging, and then cap it all with a description of how you can submit your own app on BlackBerry AppWorld.
by Mike Wilcox
HTML5 is all the rage these days and Dojo can help keep you from falling behind. HTML5 Audio? Check. Video? Naturally! Canvas? Of course! This presentation will show you how you can get the most of your HTML5 apps and not have to worry about that "other browser" because Dojo is there to make it all work.
by Luis Montes
HTML5 game development is the hawtness. There might not be an official dojox.game package, but there are dojo libraries that can help. This will be a survey of the amazing utilities you can use to create HTML5 games.
by Becky Gibson
Let's face it, not everyone has the same abilities. Folks with vision or mobility impairments want to use Web applications, too! The core widget set of Dojo is fully accessible to people who rely on the keyboard or assistive technologies like a screen reader to interact with the Web. Your mission is to learn how to make your Dojo apps accessible. Your assigned agent will decode the mysteries of ARIA and will demo a fully accessible Dojo app! Accept the challenge to make the Web inclusive for all!
by Brian Arnold
The Dojo Deferred is something that a lot of people use, due to its inclusion as part of the XHR system, but it's not something that a lot of people really understand. In this talk, we'll cover the distinctions between a Deferred and a promise, as well as ways to use them for so much more than simple XHR work.
Special focus sessions with details to be announced during the morning introductions, this will provide you with unprecedented 1-on-1 discussions and tutorials.
Final remarks about Dojo, DojoConf, and JS at large, the DojoConf staff would like to thank you and express our deepest appreciation for attending this amazing event. Be sure to be here for the family picture, a JSConf tradition!
16th–17th September 2011