views:

2873

answers:

5

What I think would be useful for me (and hopefully for other SO readers and Scala fans) is:

  • How to painlessly set up lift on linux (ubuntu) (apt-get install lift #does not work)
  • Is there any free server where I can run lift and Scala?

I have no experience with Java or maven or Eclipse. (but have some experience with functional programming)

I couldn't find any good tutorial on the web. Do you know any?

+8  A: 

Have you tried starting with lift?

Kevin Peterson
+7  A: 

Lift is installed through the "Maven" package manager. Install Maven first, and then just create a new Lift project, like below, and Maven will do the rest for you, downloading all dependencies (up to and including Scala itself, if necessary).

mkdir work
cd work
mvn archetype:generate -U \ 
  -DarchetypeGroupId=net.liftweb \ 
  -DarchetypeArtifactId=lift-archetype-blank \ 
  -DarchetypeVersion=1.0 \ 
  -DremoteRepositories=http://scala-tools.org/repo-releases \ 
  -DgroupId=demo.helloworld \ 
  -DartifactId=helloworld \ 
  -Dversion=1.0-SNAPSHOT

You can hide most of that inside a script, getting just groupId, artifactId and version.

Daniel
+5  A: 

As for your second question, I heard Scala/Lift runs on Google App Engine ;-)

Edited: Here is a link detailing how to get Lift to run on GAE: your first Lift application on GAE/J

Walter Chang
I've heard that there are some limitations to JVM (threads?) that make lift unusable. True or false?
Łukasz Lew
False. GAE's limitations make some parts of Lift not as nice as they could be, but Lift works just fine within the constraints of GAE.
Jorge Ortiz
+10  A: 

I would advise looking at the lift book, you can download the full PDF from that page. It's quite readable. I would suggest that new starters avoid the PocketChange sample application because it uses some magic in the User object that is a bit confusing and distracts from the main snippets framework IMHO.

For development, the Maven set-up uses Jetty server and getting your site running from your local machine in dev mode is automatic. If you want to deploy a hobby project with zero fuss, you can get a cheap VPS (such as Slicehost, $20 a month) and use the Winstone servlet container to host the compiled WAR file.

Joe
+1  A: 

Top rated answer's link no longer works. This is the correct link now.

http://liftweb.net/getting_started

(unfortunately I don't have enough reputation to add a comment yet)

khylo
Thanks, I fixed it.
Łukasz Lew