Tuesday, October 24th, 2006

Hands on DWR

Category: Conferences, DWR, Framework, Presentation, The Ajax Experience

Joe Walker (GetaheadDWR) and Bram Smeets (Interface 21Spring) took a novel approach to their “Hands on DWR” talk at The Ajax Experience: Creating a game – “Multi Player Battleships” live in the session.

The concept was very well received – many smiles around the room when the idea was introduced. With Joe talking and Bram typing they took a pre-created boilerplate (configuration and some of the simpler tasks completed beforehand due to the time constraint) and turned it into a simple, but fully functional, multiplayer game.

I’m happy to report that I don’t have an awful lot to report regarding the complex inner workings of the application. Those familiar with DWR will find that the code contains few things unfamiliar or even ‘advanced’. As someone with only an intermediate DWR skillset – I had no trouble following the code Joe and Bram were creating. The final product was simple but functional – intentionally avoiding features that would improve the game but cloud the demo. Joe and Bram were able to hide from each other, fire, and even chat as they played. The code for the demo can be found here (near the bottom at the time of this post).

The most contested point was the use of “reverse ajax” to sync with the current server status at timed intervals. Reverse Ajax was introduced in v2.0 m1 (current stable release is v1.1.3) Concerns centered on potential security issues – Joe explained that they do as much as reasonably possible to stop malicious users, but in the end if you are a malicious user: there are many ways that you can bring the server down without DWR.

image stolen from this post on Joe’s blog where he also talks about the concept of developing the game live in a session

Posted by Jim Halberg at 3:00 pm

3.9 rating from 28 votes


Comments feed TrackBack URI

very good

Comment by ty — November 7, 2006

DWR has opened new directions for ajax…


Comment by dojo — April 23, 2007

Leave a comment

You must be logged in to post a comment.