Live data from Hacker News

The best Web Framework - what makes Lift different

seventhings.liftweb.net

31–40 of 79 posts

Re: The best Web Framework - what makes Lift different

#31

Looks like it's great for building the things the authors thought you might want to build. Just like every other "SuperMagic" framework, I suspect there's a lot of pain to be had once you step just a little outside of what it expects you to do with it. We've all re-written Django inside of Django at least once, and thus have been burned by this sort of thing before. Personally, I think I'll wait to see some big proje…

I've been using Django for a lot of projects, but have recently converted to Rails 3 for a personal project. What I like about Rails is that plugins are mostly pieces of infrastructure, not ready-to-use mini-applications that are hard to customize. And Rack plugins (pieces of middleware, done in a standard/reusable way, contrary to Django's middleware) are just awesome. I also like about Rails that authentication and…

And Rake plugins (pieces of middleware, done in a standard/reusable way, contrary to Django's middleware) are just awesome.

I think you're talking about rack middlewares. Rake is the Ruby make.

Re: The best Web Framework - what makes Lift different

#32
post #3

Just out of curiosity can you highlight the advantages lift has over other modern frameworks such as rails or django (and maybe some of the php frameworks). Most (or all) of the 7 things ship with rails 3. Stacking them up against one another might yield a better comparison.

I think that the author is coming from the Java world, in which case the comparison he likely had in mind is not Rails or django, but the plethora of Java web frameworks. Personally, for Java Web Frameworks there are two I like, for quite different reasons. The first is Spring MVC. the rest of Spring can go die in a fire for all I care, but the Spring MVC part is quite nice. Used properly it allows you to very quickl…

Dave Pollak has worked in Rails for a long time. JRuby support is on the way for lift too. shrug

If Java is a necessity, Play! is a breath of fresh air.

Re: The best Web Framework - what makes Lift different

#33
Lift is good, and if you're doing webapps in scala, you're probably going to use a lift package _somewhere_.

My impression of Lift is that the API aren't self-explanatory at first glance. import SHtml and S, hmmm, I know they do different things but I have to be reminded of what exactly from those packages I need.

I'm surprised no one has mentioned stateful vs stateless and horizontal scaling, yet. These are concerns dpp have addressed in the past but its worth reviving discussion. 4sq seems to be doing fine.

What is neat about lift and the foursquare story are the improvements to lift and scala web dev that come from that camp. Most recently, using MongoDB, devs now have a choice between java interop, casbah, and 4sq's rogue. Lift is an an integral and primary contributor to the scala web dev ecosystem.

Re: The best Web Framework - what makes Lift different

#34

Is supergluing your framework to the dom really a feature?

If you want to have your dom events be handled server-side, then it is. It also lets you do things like have a dom node be bound to the state of a server-side object so the dom contents are updated when the server-side object's contents are changed -- it just takes care of the plumbing for you.

Re: The best Web Framework - what makes Lift different

#35

Earlier quoted context omitted.

I've been using Django for a lot of projects, but have recently converted to Rails 3 for a personal project. What I like about Rails is that plugins are mostly pieces of infrastructure, not ready-to-use mini-applications that are hard to customize. And Rack plugins (pieces of middleware, done in a standard/reusable way, contrary to Django's middleware) are just awesome. I also like about Rails that authentication and…

>And Rake plugins (pieces of middleware, done in a standard/reusable way, contrary to Django's middleware) are just awesome. I think you mean Rack plugins (noted b/c Rake is something entirely different in Ruby parlance).

Yes, thanks: it's a common misspelling that I make.

Re: The best Web Framework - what makes Lift different

#36
post #20

It's somewhat frustrating to me when they continuously say "something that's hard or impossible in other web frameworks is trivial in Lift" . As one of the co-founders and developers of the NOLOH PHP Framework ( http://www.noloh.com ), I know that we've had many of these features for quite some time, including Comet (we support all protocols including streaming, short-polling and long-polling) with little to no effor…

What methods are you using to make Comet functionality scalable "without any effort" ?

Re: The best Web Framework - what makes Lift different

#37

Looks like it's great for building the things the authors thought you might want to build. Just like every other "SuperMagic" framework, I suspect there's a lot of pain to be had once you step just a little outside of what it expects you to do with it. We've all re-written Django inside of Django at least once, and thus have been burned by this sort of thing before. Personally, I think I'll wait to see some big proje…

I've been using Django for a lot of projects, but have recently converted to Rails 3 for a personal project. What I like about Rails is that plugins are mostly pieces of infrastructure, not ready-to-use mini-applications that are hard to customize. And Rack plugins (pieces of middleware, done in a standard/reusable way, contrary to Django's middleware) are just awesome. I also like about Rails that authentication and…

> But it completely got in my way so many times that I actually thought about writing my own Python web framework; which I shouldn't because people have been working on web-related stuff for the past 20 years.

You could always try Flask or Pylons.

Re: The best Web Framework - what makes Lift different

#38

1. Fetching content with AJAX and placing it into the DOM is "supported" by every web framework in existence. 2. Proxying ads through your own backend that threads itself? Yawn. 3. AJAX and COMET have pretty standard support. Again, this is left up to you with your Javascript library of choice. 4. Again, this is Javascript work. It might save me a little bit of development time, but I'd much rather be in complete con…

1. Lift goes further in enabling convention over configuration for common AJAX tasks that are part of normal workflows, so there is less boilerplate to write.

2. Parallel rendering means you can move to a SOA where different components on the UI are served by different backend services. This can be great if you have a recommendation service, a shopping cart and main content areas that are all served by different systems that may have different performance characteristics.. It also parallelizes the loading of the different parts of the page, which should decrease page load time.

3. Is there good comet support in existing frameworks out of the box? How would you easily update a partial in a rendered page when an object changes in rails or django? With Lift, you can hook up the rendered page (and its events) to server-side Actors... without any boilerplate code. This helps the productivity of development and (AFAIK) is still a rare feature.

4. You do have complete control, it is merely a matter of style. Lift does more things server-side.

5. One of the differences is that you don't need to have "partials", which could be more designer-friendly. I agree that this isn't a huge win.

6. yep.

7. I don't think the "No Direct Object Reference" security principle is taken care of by any other major web framework. It is a pretty big win for security -- because all of your exposed ids are session-specific, whole classes of problems just "go away".

I'm not saying that Lift is to Rails/Django what Rails/Django was to PHP, but it does have some interesting features that set it apart.

Note: I have a bias.

Re: The best Web Framework - what makes Lift different

#39
post #33

Lift is good, and if you're doing webapps in scala, you're probably going to use a lift package _somewhere_. My impression of Lift is that the API aren't self-explanatory at first glance. import SHtml and S, hmmm, I know they do different things but I have to be reminded of what exactly from those packages I need. I'm surprised no one has mentioned stateful vs stateless and horizontal scaling, yet. These are concerns…

Yea, we're working on the docs.

Session affinity using the session id works pretty well. Many of the features come from the ability to have actors that propagate their state up to clients.

Post reply on HN