[Twisted-web] Copying Nevow features into Twisted Web (was Re: Status of divmod-dev list?)
werner at thieprojects.ch
Mon Dec 20 10:43:46 EST 2010
On 12/20/10 4:19 PM, Colin Alston wrote:
> On Mon, Dec 20, 2010 at 5:01 PM, Werner Thie <werner at thieprojects.ch
> <mailto:werner at thieprojects.ch>> wrote:
> Hi Colin
> off list just for my information, what version of nevow/athena do
> have you have included in enamel. The latest fixes I sent back to
> the divmod list solved bugs server and client side when detaching
> Live Elements from a page, which I do habitually very often.
> Enamel works on pretty much any version, but doesn't work with
> contextless Page and other stuff.
> The motivator for it's creation was to increase dev speed with people
> who were slightly useless, and to act as a wrapper to make code trees
> that could survive Freeze.
> What do you see as important areas where nevow/athena should be
> Primarily there is a great deal of bootstrapping. Just create a simple
> web-app (without something like Methanal or Mantissa, which I can't even
> understand) that does Athena and see how much code you're rewriting
> every time, it's quite insane.
My boilerplate (me working with guys mostly doing PHP and MySQL) let's me
start up a new project in less than an hour. Doing this for a living I
see the problem not really in starting up projects fast, but in
finishing them fast, because only finished projects are paying...
> Also if you're not using Twisted plugins (which there are many reasons
> not to want to, like using shared state reactors with multiple TCP
> services, or again Freeze) the pain goes up double.
I use only a single plugin in nevow letting me bootstrap easily and
a clean mechanism to switch automagically between source/compressed
deployment version. All the deployment is handled via SVN.
> Essentially boiling Athena down to a page mixin class with standard js
> bootstraps, and/or separate fragment mixin and making all pages derive
> the necessary Athena object triggers or even putting that into flatten.
Might be that there's need for a 'kiddy' version, letting the average
interested user who does not have the time to look into a framework and
its concepts and wants to whip up a page in less than 30 seconds.
> You can see what I do here to try simplify things for the way I work,
> essentially I just stick an elements class dict in and map fragments to
> automatically created renderers and stuff works magically.
I see the basic idea, no objection, but why Fragments and not Elements?
> There's also issues with the current model, like your root resource
> can't be an Athena page very easily.
I don't understand this point, I usually work root only, with not a
standard page change, but doing everything by attaching/detaching live
elements (see http;//www.thieprojects.ch for work in progress for a
simple Desktop like RIA)
More information about the Twisted-web