Impala aims to be consistent with best practices in Spring application development. It encourages test-first development. It is does not impose any programming model requirements, and works well with multi-tiered as well as simpler web-based architectures. It works in a Java-only environment, which means you don't need to give up on tool support, refactoring and compile time type checking offered by Java. Of course, it does not prevent the use of scripting languages.
Impala runs in two modes, a test mode and a web mode.
Test mode provides an interactive environment for running JUnit tests:
Web mode involves starting the application with an embedded Jetty server. It has the same benefits as test mode. Again, there is no build step. Changes are automatically picked up. Here the feel is more "Rails-like", although without any real restrictions in the programming model.
Web applications can also be deployed as wars (with individual modules contained in separate jar files) and run in servers such as Tomcat. There is also a deployment format which takes advantage of the Jetty's "embeddability", allowing for web applications to be deployed without having to pre-install a web servlet container.