On Thu, Jun 16, 2011 at 3:37 PM, Duncan Bayne <[email protected]> wrote: > I've been warned off Weblocks by this post on StackOverflow: > >> Weblocks is a continuations-based web framework - it is a very old approach, >> it should not be >> used for developing modern web-applications. > > One person's comment isn't enough to make me switch frameworks; I've > asked him for clarification & recommendations, & otherwise left it at > that.
Indeed; a one-sentence pot shot on SO shouldn't be considered an adequate basis for any decision. > However I thought I'd ask here: at a high level, what are the > _disadvantages_ of continuation-passing? I presume the poster had > some reservations or he wouldn't have posted what he did ... unless > it's a fashion thing, in which case I certainly don't care. There are certain kinds of things some web apps do that are made easier, I think, by using firstclass continuations. When the app needs to take the user through a sequence of pages -- in order to complete a purchase, say -- where they need to be able to back up to any point, that structure is elegantly expressed in a continuation-based framework. That said, most web sites consist primarily of pages that don't form sequences like that. The complexity of both the framework and the app is thus driven primarily by other considerations. In short, I don't think having continuations available is a disadvantage, since you don't have to use them. But they arguably don't solve a particularly important problem. The Weblocks widget tree architecture, by way of contrast, is a much bigger deal; everything in a Weblocks app deals with that. > My real concern is that I'm hoping the app I'm building will be in > service for many years, but it will probably have no more than 100K > users with ~ 100 concurrent. So I'm in for the long haul rather than > massive scalability or performance. But if he's right & Weblocks is > an 'on the out' technology then maybe I _should_ change. I think that in order for something to be on the way out, it has to have been in at some point :-) The issues I've had with Weblocks revolve primarily around the paucity of documentation. This shows up in two ways. First, often to figure out exactly how something works, I've had to read the code. Second, there aren't a lot of examples to follow to figure out how to do things "the Weblocks way". And since Weblocks is not being used by a lot of people, the situation isn't likely to change. I can live with both of these problems. I'm already expert in CL, so reading the code is not too difficult (and sometimes even pretty interesting). I don't mind having to invent my own ways to do things. It's worth all this to me to be able to work in Lisp. I think the questions you should ask yourself are: () How interested are you in getting really good at CL? Do you want to get to be a wizard, or are you content with just writing your app? () How interested are you in puzzling out how to get Weblocks to do what you want? () Do you have the time and inclination to help grow the Weblocks ecosystem, to attract more users? I am somewhat handicapped in this discussion because, in fact, Weblocks is the only web app framework I have attempted to use. I really don't know how it compares to Rails, Django, Spring, etc. etc. etc. So I can't answer your question about how the technologies compare. As I'm trying to say, though, that may not be the most important question anyway. -- Scott -- You received this message because you are subscribed to the Google Groups "weblocks" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/weblocks?hl=en.
