Model/View/Caramba

If there's one thing about MVC, it's that no two implementations completely agree on how the controller should work. MVC implementors seem to all intuitively understand the concept of a model and a view, and why it's a good idea to keep them ...Read More

Event Hub – Pub/Sub in the browser

Today, I'd like to talk about EventHub, our in-browser publish/subscribe system. EventHub does a very similar thing to OpenAjax Hub, but for slightly different reasons. Whereas OpenAjax Hub is designed to allow mash-ups of co-operating components from different sites, EventHub is used ...Read More

Javascript Interfaces: Putting The Java back into Javascript

Object-oriented is mostly about encapsulation, but it's also about interfaces and inheritance. However, years of experience have caused most programmers to realize that class inheritance is mostly a bad idea; it breaks encapsulation while increasing cognitive load by introducing cryptic indirection. This is ...Read More

Why iOS isn't ready for HTML5, yet…

Okay, just teasing! My recent experiences creating an HTML5 based mobile web app for iOS has been, on the whole, very pleasant indeed. However, I recently wrote a similarly tilted article "Why Android isn't ready for HTML5, yet..." which discussed some far more ...Read More

Why Android isn't ready for HTML5, yet…

I recently created an HTML5 based mobile web app, with the aim that it would work on iOS, Android, and all modern desktop browsers. Unfortunately, although the demo was viewed as a success since almost everyone viewing it did so using iPads and ...Read More

Taming the App-Cache

HTML5 App-Cache can be a boon for developers of Web Applications, provided you understand how it's meant to be used, and provided you stick to the happy path. Before we look at App-Cache itself, it's worth first reminding ourselves what ...Read More

Prebake: a recipe for great builds

In his recent post, Java Build Systems: A Sad State of Affairs, Jess Johnson describes the many problems with both Ant and Maven, and how Maven solves none ...Read More