# Rook rocks! Example with googleVis

### What is Rook?

Rook is a web server interface for R, written by Jeffrey Horner, the author of rApache and brew. But unlike other web frameworks for R, such as brew, R.rsp (which I have used in the past1), Rserve, gWidgetWWWW or sumo (which I haven’t used yet) Rook appears incredible lightweight.

Rook doesn’t need any configuration. It is an R package, which works out of the box with the R HTTP server (R ≥ 2.13.0 required). That means no configuration files are needed. No files have to be placed in particular folders, and I don’t have to worry about access permissions. Instead, I can run web applications on my local desktop.

 Screen shot of a Rook app running in a browser

Web applications have the big advantage that they run in a browser and hence are somewhat independent of the operating systems and installed software. All I need is R and a web browser. But here is the catch: I have to learn a little bit about the HTTP protocol to develop Rook apps.

Rooks feels like chatting to the HTTP server in its native tongue, while the web frameworks of brew and R.rsp feel more like sending emails in a knitr/Sweave like format to the server, mixing HTML with R code, to which it replies in pure HTML.

Fortunately Rook comes with some great examples to get you started. You find them in the following folder, after you installed Rook: system.file(“exampleApps”, package=“Rook”).

Additionally, the slides Building R Web Applications with Rook presented by Jeffrey Horner at the 2012 useR! conference and the talk about Accelerating Model Deployment with Rook given by Jean-Robert Avettand-Fenoel at LondonR in September 2011 provide some great insight and examples.