## Welcome to the lift Web Framework

lift is yet another web development framework. lift runs inside a Java web container and uses the Scala programming language for coding. lift stresses security, developer productivity, ease of deployment, ease of maintainability, performance, and compatibility with existing systems.

lift borrows from the best of existing frameworks including Seaside's highly granular sessions and security, Rails fast flash-to-bang, Django's "more than just CRUD is included", and Erlyweb's scalability for Comet-style applications.

lift is built on Scala, a hybrid Functional and O-O language that compiles code down to the Java Virtual Machine. Scala code can call any Java code and make use of all Java classes. Java code can call some Scala code. lift applications are packaged as WAR files and can be deployed on any Servlet 2.4 engine (e.g., Tomcat 5.5.xx, Jetty 6.0, etc.)

lift code is as clean and brief as Rails, yet performs 6 times faster and is multithreaded. Additionally, because Scala is strongly typed, the compiler catches type errors. For example:
``

    User.find(By(User.email, "foo@bar.com")) // legal
    User.find(By(User.birthday, new Date("Jan 4, 1975"))) // legal
    User.find(By(User.birthday, "foo@bar.com")) // compiler error

And lift has lots of helper methods to make things clean and simple:
`

    User.find(20) // find the user with primary key 20
    // find all the users that registered 4 days ago
    User.findAll(By(User.registered, 4.days.ago))
    // activate the account or suspend it after 4 days
    State(NewAcct, On({case Activate =>}, Activated),After(4 days, Suspended))
    State(Suspended) entry {sendSuspendedEmail}

` But the LoC and total character count for lift and Rails substantive code is similar, however, the LoC for lift tests is about 60% compared to Rails because there's no need to write tests for type-related issues.

lift is currently in 'early alpha' state. Use at your own risk. Things might break. APIs might change. You know the drill.

lift is an open source project distributed under an Apache License V2.0