"I don't see why one should try to reproduce the event driven style of browser based development on the server. Instead, it's far more practical to build apps in an "API at the core" fashion, that is by first designing a RESTful API (perhaps with streaming support) that implements the business logic. This could then be accessed by any API client, be it a server side component for turning the one or more API responses into static HTML, a client based solution that generates the HTML within the browser or a native mobile app. As a result, your business logic would be written in a sync manner, and be easy to maintain, while making it easy to offer new functionality in some clients, without breaking others. This is our preferred approach at http://www.akshell.com - which is a server side JavaScript platform running V8 with synchronous I/O." - Oleg Podsechin