-2

I am planning to develop a web application in scala. I am new to scala and confused in frameworks available. whether i should go for play or wicket. I have some experience of working with MVC architecture. Please explain me the advantages and disadvantages of using them. Can I use them in combination with each other.

Thanks in advance.

Sumit Deshpande
  • 105
  • 3
  • 11
  • 1
    If you plan to program in Scala, you would find more support (I guess) in the play community or Lift. see also http://stackoverflow.com/questions/2104724/your-experience-with-scalawicket – oluies Feb 28 '13 at 08:17
  • 1
    I don't know if Wicket supports Scala - what I do know from my experience with both frameworks (play 1.2.x) is that you can develop much faster with the play framework, because there are hardly any restrictions in html/javascript/ajax functionality where ajax calls can be hard/a lot of work to implement in wicket – evandongen Feb 28 '13 at 09:04

1 Answers1

1

Play and Wicket are both frameworks with a solid design and a great, active and responsive community. I used Wicket in a medium-sized project and whenever I asked a question on the Wicket mailing list, I got almost instant feedback.

One of the main differences between the two frameworks is the way they handle state: Wicket stores state on the server while Play follows the REST "state-less" principle very closely, favouring state on the client (or in the URL).

Consider for example a simple AJAX counter:

  • In a typical Wicket implementation (see the Wicket Ajax Counter example), you would store the counter on the server (in a Model[Integer]). When you click the link, an AJAX call is made to the server, where the model is updated (i.e., the counter incremented) and the HTML markup for the updated counter sent back and displayed.
  • A Play implementation would most likely store the counter on the client's web page and use something like jQuery to update the counter.

Storing state on the server has its advantages (e.g., easy of use for the programmer) and disadvantages (state loss on session timeout) so depending on your business requirements, one framework may be more suitable than the other.

Hbf
  • 3,074
  • 3
  • 23
  • 32