It's a polyglot world after all - Lift adding support for JRuby
groups.google.com
groups.google.com
Can someone a little less involved please comment on the validity of this and the claims that follow it? Is it something I should be checking out?
LiftRules.rewrite.append { case RewriteRequest(ParsePath(List("shopInfo", "view", id), _, _, _), _, _) => RewriteResponse("shopInfo" :: "view" :: Nil, Map("id" -> id))
My opinion is that I don't like. At all! There are better and simpler ways to do things, even the real-time chats they brag about (socket.io, anyone?).
He's doing a round of lift classes, so hopefully some of that material will migrate to the website and make lift more approachable.
- It runs on the JVM, so you get performance and libraries, but you don't need to go through all the Java BS to get something working. (Seriously, performance is overlooked. If performance is not an issue, why did Facebook write HipHop?)
- Comet support (via Actors) is great and really easy to use. Ajax as well. Writing interactive website is very easy.
- The "no plumbing" approach is pretty good. You don't have to setup routes of anything (mostly). You just embed callbacks directly in the page in a lot of cases and things just work.
- Templates are nice.
The bad points:
- The ORM situation isn't great.
- The documentation is terrible (but improving).
Overall Lift is certainly worth looking at for some good ideas. Having a concise language and simple toolkit on the JVM is great.
Energy. Facebook has thousands of servers running PHP code. HipHop allows them to have the same performance with half the servers[1]. 50% less servers at that scale equates to non-trivial energy (and cost) savings.
Pollak has realized, as I begrudgingly did, that Scala, like all the other type-inferencing static FP langs, is just too hard for the programming mainstream. Once you've decided to go polyglot you might as well just use a boring but safe core language like Java or C++ and build as much on top of that as you can in your dynamic language of choice.
https://groups.google.com/forum/#!topic/liftweb/ViklDFsBtPo quote: "Our experience with Lift was the best possible, and an important part of that was having Scala available within the framework. No other language could have allowed us to do what we did within such a short time frame, Ruby included."
Just from looking at Scala, it seems like a superior language, and from looking at Lift it seems like a well done web framework. However, a lot of the benefit of Rails comes from the ecosystem where there is a plugin for your every need. I doubt that Lift can offer enough benefits to offset that.
Maybe they can use this for their pattern matching: https://github.com/waves/functor
I wouldn't say that Ruby or Rails are dying but it also doesn't seem to me that they've achieved escape velocity either.