I wrote a friggin book:
Tagged: lift RSS
-
Tyler
-
Tyler
Exploring Lift: Scala-based Web Framework
Lift is an exciting new framework that leverages the Scala programming language to offer an innovative approach to creating web applications. Lift provides enormous flexibility and functionality while keeping your code simple.
Exploring Lift is brought to you by Derek Chen-Becker, Marius Danciu, and Tyler Weir, three committers on the Lift project. The book not only covers the fundamentals of building a comprehensive Lift-based application, but contains multiple chapters on advanced functionality such as AJAX, Comet and custom URL rewriting. Extensive code samples are given throughout the book to demonstrate practical application, and a complete demo app is built from the ground up to reinforce the information presented.
What you’ll learn:- How to get a basic Lift application up and running quickly using Maven’s archetypes
- How to generate and process forms, including file uploads
- How to use the SiteMap framework to provide a custom site menu and programmatic access control to your application’s pages
- Database access using Lift’s Mapper framework as well as how to integrate the Java Persistence Architecture
- How to use custom URL rewriting and request dispatch to easily provide user-friendly URLs and powerful servlet-like functionality
- How to easily internationalized (I18N) your application
- And much more!
Who this book is for?
Anyone interested in getting the most out of their web applications and who appreciates the power and flexibility of the Scala programming language. A basic understanding of Scala is assumed, so if you’re not familiar with it we would suggest reading David Pollak’s excellent book, Beginning Scala.
Reviews
Lift was created by David Pollak, an industry veteran who has repeatedly pushed the boundaries of what is possible with programming. Here is what people are saying about Lift:
“Lift is the only new framework in the last four years to offer fresh and innovative approaches to web development. It’s not just some incremental improvements over the status quo, it redefines the state of the art. If you are a web developer, you should learn Lift. Even if you don’t wind up using it everyday, it will change the way you approach web applications.”
—Michael Galpin, Developer, eBay
“Lift is an expressive and elegant framework for writing web applications. Lift stresses the importance of security, maintainability, scalability and performance, while allowing for high levels of developer productivity.”
—Lee Mighdoll, CTO, Digiting, Inc.
-
Tyler
Lift 1.0 has been released!
Read Dave’s announcement and check out the site.
Lift is an expressive elegant web framework based on the Scala programming language and released under an an Apache 2.0 license. Lift provides developers the best way to build interactive, high performance web applications. Lift based applications are deployed as WAR files into J2EE containers such as Jetty, Tomcat, and WebLogic. Lift based applications are high performance and can make use of your existing Java libraries.
-
Tyler
Lift Book

Book for the Lift Web FrameworkDerek, Marius and I, with the help of the community, will be putting together a comprehensive book for using Lift.
We have set up a Google Group for topic discussion here: http://groups.google.com/group/the-lift-book
The work will be licensed under the Creative Commons Attribution-No Derivatives found here: http://creativecommons.org/license/results-one?licensecode=by-nd Works 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
-
Tyler
Ubiquity command to search the Lift API.
Ubiquity 0.1.3 came out, so I bashed together a command to search the
Snapshot API.
http://gist.github.com/42049It performs a site-specific Google search of
http://scala-tools.org/mvnsites-snapshots/liftweb/lift-webkit/scaladocs/
And you can learn about Ubiquity here: https://wiki.mozilla.org/Labs/Ubiquity
And I jacked the code from http://jonhnny-weslley.blogspot.com/2008/09/scala-api-lookup-with-ubiquity.html
Happy New Year :)
Here’s the code inline:
-
Tyler
-
Tyler
Lift and Configgy
Robey wrote Configgy, and summarizes it as:
Configgy is a library for handling config files and logging for a scala daemon. The idea is that it should be simple and straightforward, allowing you to plug it in and get started quickly, writing small useful daemons without entering the shadowy world of java frameworks.
Simple and straight forward indeed. To add it to my Lift app I did the following:
1. Added this to my pom.xml
<repository>
<id>http://www.lag.net/repo/</id>
<name>http://www.lag.net/repo/</name>
<url>http://www.lag.net/repo/</url>
</repository>
And
<dependency>
<groupid>net.lag</groupid>
<artifactid>configgy</artifactid>
<version>1.2</version>
</dependency>
2. Wrote this conf file (it’s in the same dir as the pom.xml file and so is the log directory which you’ll need permissions on)
<log>
filename = "log/pca.log"
roll = "daily"
level = "debug"
</log>
hostname = "localhost"
port = 8080
3. Added this to Boot.scala
...
import net.lag.configgy.Configgy
import net.lag.logging.Logger
...
Configgy.configure("pca.conf")
val log = Logger.get
log.info("Configgy up")
log.info("Bootstrap up")
4. And a quick test, in one of my snippets I added:
...
import net.lag.logging.Logger
...
log.info("Super Awesome Form rendered")
5. The output is:
INF [20081119-14:11:15.085] liftweb: Configgy up
INF [20081119-14:11:15.088] liftweb: Bootstrap up
INF [20081119-14:11:22.144] snippet: Super Awesome Form rendered
Make with the nice nice.
-
Tyler
Logo Contest for Lift
We kicked off a logo contest for lift.
You can find it here: http://99designs.com/contests/10209
-
Tyler
Liftweb + ctags + vim
[Updated: 2008/12/10]
This is how I set up /Lift/, ctags, and vim (on OS X and Ubuntu):
Add some scala definition to ctags:
ty@Astra:~$ cat /home/ty/.ctags --langdef=scala --langmap=scala:.scala --regex-scala=/^[ \t]*class[ \t]+([a-zA-Z0-9_]+)/\1/c,classes/ --regex-scala=/^[ \t]*trait[ \t]+([a-zA-Z0-9_]+)/\1/t,traits/ --regex-scala=/^[ \t]*type[ \t]+([a-zA-Z0-9_]+)/\1/T,types/ --regex-scala=/^[ \t]*def[ \t]+([a-zA-Z0-9_\?]+)/\1/m,methods/ --regex-scala=/^[ \t]*val[ \t]+([a-zA-Z0-9_]+)/\1/C,constants/ --regex-scala=/^[ \t]*var[ \t]+([a-zA-Z0-9_]+)/\1/l,local variables/ --regex-scala=/^[ \t]*package[ \t]+([a-zA-Z0-9_.]+)/\1/p,packages/ --regex-scala=/^[ \t]*case class[ \t]+([a-zA-Z0-9_]+)/\1/c,case classes/ --regex-scala=/^[ \t]*final case class[ \t]+([a-zA-Z0-9_]+)/\1/c,case classes/ --regex-scala=/^[ \t]*object[ \t]+([a-zA-Z0-9_]+)/\1/o,objects/ --regex-scala=/^[ \t]*private def[ \t]+([a-zA-Z0-9_]+)/\1/pd,defs/
Build the tags file:
ty@Astra:~$ /opt/local/bin/ctags -h ".scala" -R --exclude=*.js -f liftags /Users/tjweir/g/clean/liftweb/
I prefer to keep the tags file, in this case liftags, in the root of home. Put it where you want.
Add the tags location to ~/.vimrc
set tags=/home/ty/liftags
Now you can open a file and execute
:tag LiftSession
and jump to the file.
-
Tyler
Getting my nerd on.
I will be attending ScalaLiftOff on Saturday May 10th, 2008 from 9am to 5pm.
What’s ScalaLiftOff?
The Scala lift off is a great place for members of the Scala and lift communities to get together, learn about Scala, learn about lift and get to know each other face to face. There will be Scala tracks going all day long and lift tracks to suits everyones interests.


J 9:56 pm on July 6, 2009 Permalink
very nice! beat me to it!
drew 8:38 pm on July 13, 2009 Permalink
Dude, that’s pretty much the coolest thing I’ve ever seen. I’ve always wanted to write a book. Congrats!