Just to expand upon my last point a bit, here's a quote from an
introduction I wrote:

"Pylons provides a sane environment for setting up, configuring,
developing, and deploying WSGI-based web applications and it brings
structure to the HTTP request life cycle. It also gives you the tools
to keep things DRY, simplify common web development tasks, and get
your code organized. It doesn't take a configuration-heavy approach,
opting instead to hand you sane setup code and letting you to modify
to your liking. Beyond that, it helps different components, such as
templating, caching, and dispatching, interface with each other and
the application in a straightforward manner."

For me, structure is the key component in any framework. It lets you
use tools in a managed, thought-out environment that's easy to
customize but works well on its own terms. It's like having a pile of
unlabeled boxes in the middle of a floor compared to having clearly
labeled boxes neatly organized on a shelf. Having developed apps with
little more than Paste and a dispatcher, I can attest to the
difference, personally. Pylons is that shelf and labeling system.

On Jun 5, 1:36 pm, "[EMAIL PROTECTED]"
<[EMAIL PROTECTED]> wrote:
> Glad to hear my thinking lines up with the general consensus... A lot
> of frameworks try to market themselves in the same terms as Rails
> (speed of development, code "elegance") and fail to really
> differentiate themselves as a result, in my opinion. It's time to
> start moving into more enterprise-oriented territory and emphasize
> customization and power over the baseline MVC features.
>
> "Pylons: Power to the developer"
>
> I like it. To the point and a decent pun, to boot. Puts a priority on
> what you can do with the system instead of what the system does for
> you.
>
> Todd, that's a good point on the issue with giving it a "generation"--
> eventually next gen will be the new last gen. In the end, it's really
> about being explicit about the fact that it's taking a different path
> than the current popular frameworks, one that's more future-proof and
> adaptable to change and customization. For me, calling it next gen
> felt like a clean way to make that distinction. Are there any other
> good, simple ways to say "this one is different than what's come
> before"?
>
> I don't really think of it as a toolkit, personally. It's the
> difference between a project-oriented and a task-oriented library...
> Paste, for instance, is a collection of tools designed to help with
> specific tasks. If you want to build an app with it you have to
> provide all the project structure and organization yourself. Pylons,
> on the other hand, is precisely about structuring and organizing a
> project so it can use different toolkits in a clean and efficient
> manner.
>
> On Jun 5, 9:17 am, "Mike Orr" <[EMAIL PROTECTED]> wrote:
>
> > On 6/5/07, James Gardner <[EMAIL PROTECTED]> wrote:
>
> > > > do it without the cruft of Java, the chaos of PHP,
>
> > "chaos of PHP", that's a good description.
>
> > > > 1.b. A second generation modern web frameworks, building on ideas from
> > > > Rails, Django, etc, and learning from their flaws
> > > > 2. Designed for customization; modular, configurable at any level
> > > > 3. Leverages the experience and power of more specialized libraries:
> > > > Paste for low-level WSGI/HTTP, Mason->Myghty->Mako, SQLAlchemy
> > > > 4. Good tools for testing and debugging
>
> > > I like the idea of calling it a "second generation framework" in
> > > particular but all your points are valid.
>
> > Rails/Django are clearly second generation compared to the frameworks
> > before them, so if you want to argue Pylons is more advanced than
> > that, you'd have to call it third.
>
> > Pylons is also more advanded in its Routes-based dispatching
> > mechanism.  There are several ways to count generations in Python web
> > frameworks.  Zope was the first framework.  Webware/Quixote/CherryPy
> > appeared as reactions against Zope.  If you consider Zope a special
> > case because it's more of a whole environment than a framework, that
> > makes Webware/Quixote/CherryPy generation 1.
>
> > Generation 2 was the "megaframeworks": TG and Django which bundled a
> > Javascript library, templating system, ORM, authenticator, form
> > builder, etc.  Previously the user had to integrate those himself, and
> > if he didn't have the expertise he did a shoddy job or avoided it.
> > (Quixote does have a small template system and form builder, but
> > they're much less ambitions than Buffet and ToscaWidgets.)  In some
> > sense that means they're adding features that Zope had all along, but
> > in a more modular way.  The megaframworks coincided with the rise of
> > WSGI and the desire to compete with Rails.
>
> > Pylons takes the modularity a step further with its Routes-based
> > dispatching, and by being "Paste"-ed up from the core.  So that makes
> > it third generation.
>
> > (Inside generation 1 there was also a distinction between
> > servlet-style dispatching (the controller action is in a Python module
> > in the URL filesystem, a la Webware/Java/PHP/PSP), and programmatic
> > dispatching (Quixote's attribute/subattribute, CherryPy's
> > package/subpackage).  For a couple years the two lived side by side,
> > then programmatic took over completely when TurboGears adopted
> > CherryPy's dispatching.  So this could be considered another
> > generation level.)
>
> > But also remember that CherryPy 3 has Routes dispatcing as an option,
> > and sooner or later that will appear in TurboGears.  So saying Pylons
> > is more advanced because it has Routes will probably sound lame by the
> > time Pylons 1.0 comes out.
>
> > --
> > Mike Orr <[EMAIL PROTECTED]>


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" 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/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to