2. Lift Web: Introduction
Lift is a web application framework written in
Scala and Created by David Pollak (@dpp on
twitter).
To me it is expressive and elegant also caters
for maintainability, scalability and performance.
Design goals are security, conciseness and
performance.
It is an abtraction of the HTTP request cycle.
Continually bringing the best of other web
frameworks and conceptsunder on umbrella.
3. Lift Web: ”View First” Approach
Lift's approach is coined the “View First” design
”You can think of Lift as having a modified
Model View Presenter (MVP) that for the
purpose of this discussion we shall refer to as
ViewViewModelModel (VVMM)” (Perrett,
2011, Lift in Action)
4. Lift Web : ”View First” Approach
Allows Invalid States.
VIEW TEMPLATES
<<STATEFUL>>
VIEW/MODEL
SNIPPET
MODEL
Change
Notification Error
Notices
Execute Commands Apply / Commit
ADAPTED FROM LIFT IN ACTION MEAP EDITION
FOUND AT: http://bit.ly/c5B919
5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>ljcexample</head>
<body>
<h1>Hello World</h1>
The Time is:
<lift:HelloWorldSnippet>
date is rendered here
</lift:HelloWorldSnippet>
</body>
</html>
Lift Web: Hello World
VIEW
6. package ljcexample.snippet
import _root_.scala.xml.NodeSeq
import _root_.java.util.{Date}
case class myModel(mydate: Date)
class HelloWorldSnippet {
val today = myModel(new Date)
def render(in: NodeSeq): NodeSeq =
<span> {today.mydate.toString} </span>
}
Lift Web: Hello World
VIEW/MODEL
7. Why Lift ?
More powerful HTTP request / response control
Functional conciseness
Pattern macthing
Hign order functions
case classes (for modelling and data tranfer or VO)
Better OO modeling with Scala (using traits
etc..)
Easier and friendly use of XML.
Leveraging Scala Actors library
Great community, fast responses.
8. Lift Web: Getting Started
Lift's Home @ www.liftweb.net and
demo.liftweb.net
SBT and Lifty.. www.lifty.org
Getting started chat example from
www.liftweb.net
Scala Lift Off Videos On Skills Matter Website
at this address: http://bit.ly/bhIAaw
Join the London Scala User Group and Lift's
mailing list
Lift in Action by Tim Perrett due Feb. 2011,
MEAP version found here: http://bit.ly/c5B919