views:

2815

answers:

13

Hello!

I've just started learning Scala and the first thing I'm going to implement is a tiny web-application. I've been using Erlang for the last year to implement server-side software, but I've never wrote web-applications before. It will be a great experience.

Here is my question: are there web-frameworks for Scala except for Lift?

Don't get me wrong, Lift looks awesome. I just want to know how many frameworks there are so that I can then choose between them. It's always a good to have a choice, but I the only thing I found was Lift.

+15  A: 

I wrote a blog post about this.

To summarise, some of the options are:

  1. Lift
  2. Sweet
  3. Slinky

I finally found that none were suitable for me, and developed my own little "framework". (It is not open-source yet).

HRJ
+9  A: 

I'm very interested in Scala, but have not used it yet, so with that caveat, the frameworks I am aware of and not mentioned by HRJ are:

bn
Interesting. Lift is by far the most heavily publicized: it's curious that you weren't familiar with it.
mcherm
Note statement "...I am aware of and not mentioned by HRJ..." HRJ already mentioned Lift.Thanks
bn
Step is good fun. Though the source is more complex than it needs to be imho.
Michael
+2  A: 

There's also Pinky, which used to be on bitbucket but got transfered to github.

By the way, github is a great place to search for Scala projects, as there's a lot being put there.

Daniel
+5  A: 

it must be noted that there is also a considerable interest in wicket+scala. wicket fits scala suprisingly well. if you want to take advantage of the very mature wicket project and its ecosystem (extensions) plus the concise syntax and productivity advantage of scala, this one may be for you!

some prosa

presentation

some experience w+s

announcments with reference to the project for the glue code to bind scala closures to models

Andreas Petersson
+2  A: 

There's a new web framework, called Scala Web Pages. From the site:

Target Audience

The Scala Pages web framework is likely to appeal to web programmers who come from a Java background and want to program web applications in Scala. The emphasis is on OOP rather than functional programming.

Characteristics And Features

  • Adheres to model-view-controller paradigm
  • Text-based template engine
  • Simple syntax: $variable and <?scp-instruction?>
  • Encoding/content detection, able to handle international text encodings
  • Snippets instead of custom tags
  • URL Rewriting
Daniel
+5  A: 

have you tried Play!, which also support Scala: http://www.playframework.org/modules/scala-0.6/home

lidaobing
Play with Scala support looks very promising.
abhin4v
+8  A: 

I like Lift ;-)

Play is my second choice for Scala-friendly web frameworks.

Wicket is my third choice.

David Pollak
David, how did you hear about Lift? ;-)
Derek Mahar
+7  A: 

I find it disappointing that for a such an elegant, expressive, concise language, a framework such as lift seems to have the market share at the moment.

It is is possibly one of the more average code bases I have come across. Classes and Traits with in the code base have very confused responsibilities. Clearly it is a framework that has been hacked together organically with very real thought about the design.

I freak out when I see classes in Java exceeding 500 lines of code.....when I seem them in scala I want to run away.

A Code design should be expressive.... classes or traits with bull#$$%^ names such as MetaMapper, BaseMetaMapper, MetaMegaProtoUser .... scrams trouble. If you do not know the responsibility of something well enough that you can not give it an expressive name, you probably shouldn't be writing a framework.

Use lift at your own peril.

Andy
Is that you, Uncle Bob?
Russell Leggett
Is there an answer anywhere here? He didn't ask you to attack anything he just wants a list of frameworks.
Randin
+3  A: 

One very interesting web framework with commercial deployment is Scalatra, inspired by Ruby's Sinatra. Here's an InfoQ article about it.

Daniel
+1  A: 

I find Unfiltered very interesting http://github.com/n8han/unfiltered.

It's mentioned in IttayD's list.

Here is a presentation about it http://unfiltered.lessis.me/#0 and the video http://code.technically.us/post/942531598/doug-tangren-presents-the-unfiltered-toolkit-for

Also here there is an article with more info http://code.technically.us/post/998251172/holding-the-parameter

fedesilva
A: 

I tend to use JAXRS using Jersey (you can write nice resource beans in Scala, Java or Groovy) to write RESTul web applications, then I use Scalate for the rendering the views using one of the various template languages (Jade, Scaml, Ssp, Mustache etc).

James Strachan
+1  A: 

I'd like to add my own efforts to this list. You can find out more information here:

brzy framework

It's in early development and I'm still working on it aggressively. It includes features like:

  • A focus on simplicity and extensibility.
  • Integrated build tool.
  • Modular design; some initial modules includes support for scalate, email, jms, jpa, squeryl, cassandra, cron services and more.
  • Simple RESTful controllers and actions.

Any and all feedback is much appreciated.

Michael Fortin