Robert Važan

Server-side RIA framework

Web page reloads are so retro, so 90s. While acceptable for content, they are serious hindrance for apps. Especially when you are trying to migrate users from desktop apps or compete with new smartphone apps. RIA (rich internet application) comes to the rescue. Partially so. It can indeed deliver interactivity of native apps, but it comes at the cost of low productivity and all the javascript results in poor performance on low-end devices.

There's another concept that I believe to be the future of the web: server-side RIAs. The trick is that websocket allows server-side scripts to remotely control the client. Javascript is no longer needed for interactivity, at least not much of it. I've asked on StackOverflow for state-of-the-art implementations of server-side RIA and, after a week of weeding out irrelevant answers, someone mentioned Vaadin. I will get back to that one in a moment, but let me first restate why I am looking for something server-side.

5 promises of server-side RIA

Although frequently dismissed as a crutch for former desktop developers, server-side RIA has some serious advantages:

Dispelling misconceptions and worries

There is some existing criticism of the server-side RIA concept and some of it is actually true for Vaadin. We better learn from the soft feedback before we crash into hard feedback. Let me take the issues on one by one:

Vaadin

Vaadin is nice, but...

7 principles of server-side RIA design

I don't want to give up on the idea, but I cannot use Vaadin as is. I guess I will have to come up with something of my own. Here's my plan:

Nice theory, but where's the code?

When I originally wrote this article, this was all just in my head. There was no actual implementation. I have since developed PushMode that incorporates most of the ideas mentioned in this article. It is still experimental, but I have developed several sites with it already. including the one you are reading now. You can give it a try. It might very well be that breath of fresh air you have been looking for.