Most questions in the group are technical and I apologize if this is
not appropriate, but I I'm curious about how members are justifying
their use of Scala+Lift vs. a traditional Java architecture. I
understand if you are creating applications for your own business or
personal use, but what about employee or consulting work (if any).
I'm currently a one man consultant and would like to do more work with
Scala and Lift but it seems high risk for my client to have an
application built with newer and practically unknown technologies like
I force all my clients to use Lift and Scala. :-)
Lift requires throwing away some assumptions... but so does Rails, TurboGears, etc. But, once you get into the Lift paradigm, you should be very productive.
So... what are the risks to your client?
You get hit by a bus? Arrange with Tyler or me or Viktor or someone else on the list to be your backup. I'm the backup for a number of Scala projects. I get one call saying "If so and so disappears, can you take over the project?" and that's that. In 18 months of saying "I'll be the backup" I've never been called on.
You have to bring other people onto the project? It's not different than any other project with a new framework. There's little risk in choose Ruby or Grails... there's a similar low risk with choosing Lift.
Folks in the SAP community chose Lift for the ESME project. If they're doing Lift and Scala, why should your client worry? The folks at Twitter love Scala and say so publicly. If the hipster Web 2.0 folks are using Scala, you gotta figure there'll be a bunch of Scala lovers popping up in Web 2.0 land.