Main Page
From Lift
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 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!
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 as well as a keynote address given by Martin Odersky.
The Scala lift off will happen on Saturday May 10th, 2008 in San Francisco, CA.
Cost of admission will be $50 per person, lunch and snacks will be provided. Free admission for students (and yes, that means a free lunch... see econ 101.)
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
Cheat Sheet (do this to get started)
Check out the Cheat Sheet with the common lift constructs.
Getting Started
- Check out the collection of Lift Tutorials
- Join lift's Google Group
- Take a look at FAQ
- See the lift presentation at SeaJUG
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
If you want to start a new application, see HowTo start a new liftwebapp.
Contributing
Want to get involved? lift is more than a web framework, it is a community of developers. See the Contribute page for suggestions on how to help build the framework of your dreams. Please join the The Google Group.
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.0 -- Getting to 1.0
Links
- The Google Group
- http://scala-tools.org/mvnsites/liftweb/lift-webkit/scaladocs/index.html lift webkit scaladocs (stable)
- http://scala-tools.org/mvnsites-snapshots/liftweb/lift-webkit/scaladocs/index.html lift webkit scaladocs (unstable)
- Dead Link http://scala-tools.org/mvnsites/liftweb/lift-core/scaladocs The lift API (scaladoc)
- Get the Code--FIXME - scm Changelog, 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
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.

