ABOUT THIS BOOK
xviii
Chapter 3, 4, and 5 walk you through the construction of a real-time auction appli-
cation to cover as many different parts of Lift as possible. This includes creating tem-
plates, connecting to a database, and implementing basic AJAX and Comet.
Chapter 6 takes a dive into the practical aspects of Lift WebKit, showing you how to
work with the sophisticated templating system, snippets, and form building through
LiftScreen
and
Wizard
. Additionally, this chapter introduces Lift’s own abstraction
for handling application state in the form of
RequestVar
and
SessionVar
. This chap-
ter concludes with an overview of some useful extension modules, known as widgets,
that ship with the Lift distribution.
Chapters 7 focuses on Lift’s SiteMap feature, which allows you to control access
and security for particular resources.
Chapter 8 covers the internal working of Lift’s HTTP pipeline, detailing the various
hooks that are available and demonstrating several techniques for implementing
HTTP services.
Chapter 9 explores Lift’s sophisticated AJAX and Comet support, demonstrating
these technologies in practice by assembling a rock-paper-scissors game. This chapter
also covers Lift’s AJAX abstraction called wiring, which allows you to build chains of
AJAX interaction with ease.
Chapters 10 and 11 cover Lift’s persistence systems, Mapper and Record. Mapper
is an active-record style object-relational mapper (ORM) for interacting with SQL data
stores, whereas Record is store-agnostic and can be used with any backend system
from MySQL to modern NoSQL stores such as MongoDB.
Chapter 12 demonstrates Lift’s localization toolkit for building applications that
can work seamlessly in any language. This includes the various ways in which you can
hook in your
ResourceBundle
s to store localized content.
Chapter 13 is all about the enterprise aspects often associated with web application
development. Technologies such as JPA are prevalent within the enterprise space, and
companies often want to reuse them, so this chapter shows you how to implement JPA
with Lift. Additionally, this chapter covers messaging using the Akka framework.
Chapter 14 covers testing with Lift and shows you some different strategies for test-
ing snippets. More broadly, it demonstrates how to design code that has a higher
degree of decoupling, so your general coding lends itself to testing.
Finally, chapter 15 consolidates all that you’ve read in the book and shows you how
to take your application into production. This includes an overview of various servlet
containers, a demonstration of implementing distributed state handling, and a guide
to monitoring with Twitter Ostrich.
Who should read this book?
Primarily, this book is intended to demonstrate how to get things done using Lift.
With this in mind, the book is largely slanted toward users who are new to Lift, but
who have experience with other web development frameworks. Lift has its own unique
way of doing things, so some of the concepts may seem foreign, but I make conceptual