Main Page
From LiftWiki
The official wiki of lift, the Scala web framework.
Contents |
Welcome to Lift
Lift is an expressive and elegant framework for writing web applications. Lift stresses the importance of security, maintainability, scalability and performance, while allowing for high levels of developer productivity. Lift open source software licensed under an Apache 2.0 license.
Lift borrows from the best of existing frameworks, providing
- Seaside's highly granular sessions and security
- Rails fast flash-to-bang
- Django's "more than just CRUD is included"
- Wicket's designer-friendly templating style (see Lift View First)
And because Lift applications are written in Scala, an elegant new JVM language, you can still use your favorite Java libraries and deploy to your favorite Servlet Container. Use the code you've already written and deploy to the container you've already configured!
Familiar Java Environment
Lift application development is a lot like Java development. Lift applications are packaged as WAR files and deployed on any Servlet 2.4 engine (e.g., Tomcat 5.5.xx, Jetty 6.0, etc.) Lift programmers use standard Java environments like Eclipse and IDEA. Dynamic content can be authored using standard xhtml editors. Lift applications benefit from the performance and portability of the JVM, the Java development toolchain, and the extensive collection of available Java libraries.
Scala
Scala is an elegant modern relative of Java and Haskell that is rapidly growing in popularity. Scala programs run on the JVM and can freely intermix with existing Java code and libraries. Scala also adds powerful new features such as:
- mixin inheritance
- lightweight actors
- first class functions
- a uniform object model
Scala programs are typically about one quarter the size of equivalent Java programs and contain significantly fewer defects. Scala's improved syntax and type inferencing eliminate unnecessary repetition and Scala's advanced abstraction features enable writing simpler programs.
Advanced Framework
Lift has a number of great features for web developers. Many inspired from existing frameworks like Seaside, Rails, Django, TurboGears, and Wicket:
- Comet support is easy to add and scalable
- Mapping between databases and code is easy (Rails)
- Content and code are well separated (Wicket, TurboGears)
- Forms are secure by default (Seaside)
- Convention over configuration is emphasized, no xml hell (Rails)
- Component model makes pages elements easier to create and maintain (Wicket)
- Prebuilt classes are provided for standard functions, e.g. User (Django)
- Semantic information carries from model to enable smart display. e.g. postal code, social security number, email address
- State machine support for model objects, including timeouts. e.g. after 3 days w/o confirmation, delete this new account
- Site Map provides site wide navigation and access control support
Getting Started
- Start a new application.
- Check out the collection of Lift Tutorials
- Refer to the Cheat Sheet of common lift constructs.
- Join lift's Google Group
- Take a look at FAQ
- See the lift presentation at SeaJUG
- Checkout the Source code using Git
- Get involved! Join the The Google Group and help build the framework.
Do you want a download? That's so last millennium. (It appears the main way to get things going is to use Maven a la HowTo start a new liftwebapp.)
You can check out the lift source or browse different releases
Links
- The Google Group
- Source Code on GitHub
- Source Code mirror on BitBucket.org
- http://scala-tools.org/mvnsites/liftweb/lift-webkit/scaladocs/index.html lift webkit API scaladocs (stable)
- http://scala-tools.org/mvnsites-snapshots/liftweb/lift-webkit/scaladocs/index.html lift webkit scaladocs (unstable)
- To get the code, see Source code
- Git changes Git changelog
- Changes report changes report
- The Maven generated lift' sites : last release(stable), last snapshots(unstable).
Some moderately useful information (test coverage,...) for those interested in the development of lift. Automatically generated by maven from the lift sources. - 0.3.0 Release Champagne
- Maven Scala Plugin useful for development with lift.
- Scala-centric (google) search
- Google Custom Search for Lift documentation
- Lift documentation search plugin for Firefox/IE
Community
Lift is an open source community effort and therefore would not be possible without help from people like you. Join the liftweb google group and help contribute to the Lift community.
Scala Lift Off Unconference
Scala lift off is a great place for members of the Scala and lift communities to get together, learn about Scala, learn about lift and get to know each other face to face. There will be Scala tracks going all day long and lift tracks to suits everyone's interests.
You can find out more information at the lift-built website, http://scalaliftoff.com.
Feature Requests
Need a feature, want something added to lift? Put it on Feature Requests
Unified (client & server side) Validation -- Unified Validation
What we need for lift 1.1 -- The Lift 1.1 Google Group discussion
Special Thanks
Folks who have contributed software to the lift project:
- Install4J
- Your Kit is kindly supporting open source projects with its full-featured Java Profiler. Your Kit, LLC is creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at Your Kit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.

