On 2/13/06, Justin Johnson <[EMAIL PROTECTED]> wrote:
> TurboGears seems to be heading the way of supporting lot's of different
> components.  Is this going to fragment the effort?  Would it have been
> better to stick with Kevin's choice of best of breed components and make
> them better still?

Unlike Ruby, Python has a half-million web related frameworks. This
means that the projects TG uses don't exist solely for TG. They will
continue to grow and be used whether TG uses them or not. While not
the sole driver of project demands, TG has generated interest in the
component projects and all have improved as a result. TG is a tide
that raises all boats. ;]

The TG philosophy is that there will be one and only one default for
TurboGears and that is the best of breed components. This cuts down on
the tyranny of choice that makes getting started with web development
in python so difficult. At the same time, there are people who use the
components TG does not choose and the best of breed will change over
time as new projects start and new development priorities take shape.

I, for example, find that SQLObject does not suit my needs. I require
composite primary key support in order to map the legacy databases
that I work with every day. I'm happy that I can swap out for
SQLAlchemy and retain the rest of the stack. That way I still get to
take advantage of identity, error handling, catwalk, i18n, and the
fact that the stack is a thousand times more tested than any I'd
create on my own.

PS: Django tends to be a more CMS oriented solution because of admin.
You are free to ignore the admin interface, however, and you're
basically left with a more tightly integrated version of TG.

Reply via email to