Main Page

From Lift

Jump to: navigation, search

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.

See a Demo

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.)

Find out more

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

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


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.
Personal tools