Your SlideShare is downloading. ×
Scala and Lift
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Scala and Lift

1,422
views

Published on

Presentation for the Dutch Open University on Lift, the webframework written in Scala. Though the slides are light on content, the sample application that was used throughout the presentation can be …

Presentation for the Dutch Open University on Lift, the webframework written in Scala. Though the slides are light on content, the sample application that was used throughout the presentation can be found at https://github.com/sammy8306/Lift/tree/lift_ou/playground and should give more than enough insight into a working Lift application

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,422
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Scala & LiftSander Mak
    • 2. What should awebframeworkdo?
    • 3. Webframeworks should• Provide templating• Show dynamic content• Handle user input• Abstract from request/response cycle?• Be highly interactive? Preferably concise, performant and secure
    • 4. Webframeworkstemplating Provide should• Lift is view-first • Pure XHTML or HTML5 templates• Embed and surround to compose pages default.html
with: <lift:bind name=”content” /> signup.html
with: <lift:surround with=”default” name=”content”> ... signup form ... <lift:surround />
    • 5. Webframeworks should Show dynamic content• Pure templates: no code in templates Problem?
    • 6. Snippets
    • 7. Webframeworks should Show dynamic content• Snippets transform DOM to DOM NodeSeq => NodeSeq• Well-formed and sanitized transformation• Use {request, session, database} state
    • 8. Webframeworks should Show dynamic content • Snippets transform DOM to DOM NodeSeq => NodeSeq • Well-formed and sanitized transformation • Use {request, session, database} stateNot MVC: menu/index.xhtml date content
    • 9. Webframeworks should Handle user input• Add server-side behavior to DOM nodes ... with snippets• Behavior captured in closures ... which are executed after submit• Lift unifies ajax and traditional request/ response interaction, includes JavaScript DSL
    • 10. Highly interactive
    • 11. Comet• ‘Reverse Ajax’: server push• Realtime webapps
    • 12. Actors
    • 13. Actors• Asynchronous• Mailbox serializes messages Mailbox Internal state• Thread pooling executor Actor actor ! Message
    • 14. The demo Actor ChatServerCometActor CometActor CometActor ChatClient ChatClient ChatClient ... Browser Browser Browser ...
    • 15. Scala + Lift = Abstraction
    • 16. Wiring• Functional/reactive programming
    • 17. What else?• Persistence layer - Mapper & Record• REST support - Expose APIs for webapps• Lift Modules - User contributed