• Save


Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!




Lightening talk on Scala's Lift web framework..

Lightening talk on Scala's Lift web framework..



Total Views
Views on SlideShare
Embed Views



7 Embeds 1,512

http://ikennaokpala.wordpress.com 1499
http://webcache.googleusercontent.com 5
url_unknown 2
http://translate.googleusercontent.com 2
http://www.linkedin.com 2
http://www.slideshare.net 1
https://www.linkedin.com 1


Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Lift Lift Presentation Transcript

  • Ikenna Okpala Twitter:@kengimel 3 rd November 2010 Lightening Talk on Scala's Lift Web Framework
  • 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. View slide
    • Design goals are security, conciseness and performance. View slide
    • It is an abtraction of the HTTP request cycle.
    • Continually bringing the best of other web frameworks and conceptsunder on umbrella.
  • Lift Web: ”View First” Approach
    • Lift's approach is coined the “View First” design
    • ” Y ou can think of Lift as having a modified Model View Presenter (MVP) that for the purpose of this discussion we shall refer to as View-ViewModel-Model (V-VM-M)” (Perrett, 2011, Lift in Action)
  • Lift Web : ”View First” Approach ADAPTED FROM LIFT IN ACTION MEAP EDITION FOUND AT: http://bit.ly/c5B919 Allows Invalid States. VIEW TEMPLATES <<STATEFUL>> VIEW/MODEL SNIPPET MODEL Change Notification Error Notices Execute Commands Apply / Commit
  • <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;> <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <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
  • 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
  • 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.
  • 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