I wanted to start a new web application project and I am confused between two frameworks that is GWT(Java) or Lift(Scala). So I want your opinion which one I choose? Both are good according to my project requirement. So on the basis of frameworks comparison please tell me which is good?
Share
I have found GWT to be an extremely effective technology for the client side, and use a combination of Java and Scala on the server-side.
GWT is attractive because it allows you to write your web application in Java from front to back; you code in Java; and you debug your program in Eclipse, seamlessly stepping from client code to server-side code and back again. It truly is a wonderful thing.
Scala is a beautiful language, and I’m in love with it like everyone else. If only there was a GWT variant based on Scala! Some work has been done in that direction already. Gradually, I’ve migrated most of my server-side code to Scala, to my great satisfaction.
If you were to use Lift, how much JavaScript coding would you need to do? Are you comfortable with JavaScript? How complex is the client-side behaviour of your application to be? For fairly straight-forward client-side logic, I’m sure that Lift will prove satisfactory. If you want to build a very desktop-like application, and/or you are particularly concerned to squeeze the last drop of speed from your app, go with GWT. Either way, you’ll not be disappointed; they are great technologies to invest in.
Consider too that IDE support for Scala is still very nascent. Frankly, I think that any productivity gains that I might have seen from using Scala have been lost on various time-wasting struggles with Scala IDE for Eclipse. The story may be marginally better in IDEA, but not by much.
Perhaps you might allocate yourself a fixed amount of time to exploring Lift and GWT, and make your own decision based on what you are able to conclude in that time. Be disciplined and stick to the time box you’ve set aside.