The DoubleSpring team is playing around with some exciting development tool/platforms and I chanced upon Scala & Lift.
Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application.
Source: www.scala-lang.org
Lift is a free, open source web application development framework for building powerful, interactive, and dynamic applications using the Scala programming language. Scala is purely object-oriented, but, uniquely, it also has support for functional programming, giving you access to features such as anonymous functions, nested functions, curry functions, and higher-order functions. Scala runs in a JVM, making it compatible with Java applications and libraries. These traits mean that web applications powered by Lift can use both Scala and Java class libraries. In addition, Lift applications are packaged as Web Application Archive (WAR) files and can be deployed to any web application server that supports the Servlet 2.4 specification, including Apache Tomcat 5.5 and later.
Details: liftweb.net
We’ve worked on the Spring framework before but there is something very compelling about Lift … possibly because its lightweight and better suited to web development. The only downside with Lift is lack of documentation.
Some very good internet companies have recently moved to using Scala/Lift including the likes of FourSquare, Twitter, LinkedIN, Sony, etc.
Although Django is DoubleSpring’s preferred framework for web application development, we are open to using Scala in projects that are computation & database intensive.