Lift (web framework)
Encyclopedia
Lift is a free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 web application framework
Web application framework
A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web development...

 that is designed for the Scala programming language. It was originally created by David Pollak who was dissatisfied with certain aspects of the Ruby on Rails
Ruby on Rails
Ruby on Rails, often shortened to Rails or RoR, is an open source web application framework for the Ruby programming language.-History:...

 framework. Lift was launched as an open-source project on February 26, 2007 under the Apache 2.0 license
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....

. A commercially popular web platform often cited as being developed using Lift is Foursquare
Foursquare (service)
Foursquare, stylized as foursquare, is a location-based social networking website for mobile devices, such as smartphones. Users "check-in" at venues using a mobile website, text messaging or a device-specific application by selecting from a list of venues the application locates nearby...

.

Design goals and overview

Lift draws upon concepts from peer frameworks such as Ruby on Rails, Seaside, Wicket and Django. It favors convention over configuration
Convention over Configuration
Convention over configuration is a software design paradigm which seeks to decrease the number of decisions that developers need to make, gaining simplicity, but not necessarily losing flexibility....

 in the style of Ruby on Rails, although it does not prescribe the model-view-controller
Model-view-controller
Model–view–controller is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" from the user interface , permitting independent development, testing and maintenance of each .Model View Controller...

 architectural pattern
Architectural pattern (computer science)
An architectural pattern in software is a standard design in the field of software architecture. The concept of a software architectural pattern has a broader scope than the concept of a software design pattern...

. Rather Lift is chiefly modeled upon the so-called "View First" (designer friendly) approach to web page development inspired by the Wicket framework. Lift is also designed to be a high-performance, scalable web framework by leveraging Scala actors to support more concurrent requests than is possible with a thread-per-request server.

As Scala program code executes within the Java Virtual Machine
Java Virtual Machine
A Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...

, any existing Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 library and Web container
Web container
Web container is the component of a web server that interacts with the servlets. A web container is responsible for managing the lifecycle of servlets, mapping a URL to a particular servlet and ensuring that the URL requester has the correct access rights...

 can be used in running Lift applications. Lift web applications are thus packaged as WAR files and deployed on any Servlet 2.4 engine (e.g., Tomcat
Apache Tomcat
Apache Tomcat is an open source web server and servlet container developed by the Apache Software Foundation...

 5.5.xx, Jetty
Jetty (web server)
Jetty is a pure Java-based HTTP client/server, WebSocket client/server and servlet container developed as a free and open source project as part of the Eclipse Foundation...

 6.0, etc.) Lift programmers may use the standard Scala/Java development toolchain including IDEs
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 such as Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

, NetBeans
NetBeans
NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment for developing with Java, JavaScript, PHP, Python, Groovy, C, C++, Scala, Clojure, and others...

 and IDEA
IntelliJ IDEA
IntelliJ IDEA is a commercial Java IDE by JetBrains. It is often simply referred to as "IDEA" or "IntelliJ."-History:The first version of IntelliJ IDEA was released in January 2001, and at the time was the only available Java IDE with advanced code navigation and code refactoring capabilities...

. Dynamic web content is authored via templates using standard HTML5 or XHTML
XHTML
XHTML is a family of XML markup languages that mirror or extend versions of the widely-used Hypertext Markup Language , the language in which web pages are written....

 editors. Lift applications also benefit from native support for advanced web development techniques such as Comet
Comet (programming)
Comet is a web application model in which a long-held HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it. Comet is an umbrella term, encompassing multiple techniques for achieving this interaction. All these methods rely on features included by...

 and Ajax
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...

.

History

The stable version 1.0 of Lift was released on February 26, 2009 (two years after initiation of the project). Lift 2.0 was released in June 2010. David Pollak, the original creator of Lift, discussed the release of Lift 2.0 on the popular FLOSS weekly
FLOSS Weekly
FLOSS Weekly is a free software / open source themed podcast from the TWiT Network. The show premiered on April 7, 2006, and features prominent guests from the free software/open source community. It was originally hosted by Leo Laporte; his cohost for the first seventeen episodes was Chris DiBona...

 podcast.

External links

  • Lift project metrics on Ohloh
    Ohloh
    Ohloh is a website which provides a web services suite and online community platform that aims to map the landscape of open source software development. It was founded by former Microsoft managers Jason Allen and Scott Collison in 2004 and joined by the developer Robin Luckey...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK