I am in the process of learning Gears after having already done two
small commercial projects in Django. I would love to hear feedback on
some of my own ( possible way off base ) observations. I am also trying
to figure out which to use for my upcoming large project. Problem is the
first phase ( simple small cms brochure ware thingy ) will be a lot
easier if I have the Django Admin. But phase two ( the custom gift
certificate making cart and redemption app ) might be easier with Gears,
and by the looks of it phase three ( complete online reservation/booking
system with employee web app ) will no doubt be easier with gears
because there will be a LOT of ajaxy stuff.

Some thoughts of mine in response, as someone with more Django
experience:

> 1. Turbogears is easier(general overview)

I does look like getting simple minimal infrastructure will be much
easier in gears. I feel more like I have to buy into a whole system with
Django. It also looks like gears config is easier. The bash script I
wrote to migrate Django blank apps to new ones on ubuntu is way more
complicated than it needs to be. A bare bones gears app has no extra
table dependencies that I don't understand.

> 2. Some stuff that should be easy in DJango are not.

Like forms. Egads, simple use of forms is so complicated! Sometimes you
only need to do something really dumb and easy with a form. It should
stay dumb and easy to implement.

> 3. Turbogears is easier to work with Ajax.

Yes, I'm very excited about how easy sending JSON to mochikit is,
because a damn lot of my stuff is now moving over to being implemented
in Mochikit with Dom manipulation. Client expectations are changing,
whether or not they need all that bling.

> 4. Both their model systems are equaly easy(SQLObject is a little more
> buggie though)

I find many aspect of the Django model API very unintuitive however. The
documention is very good. But man I sure have to go back to it a lot.
That SQLlike syntax looks like a breath of fresh air. On the other hand,
it is well documented so getting up and running was very easy.

> 5. Django template system is more...robust, and it is very simple(i
> loved that pipe thing)

Yes, it is very robust. On the other hand, there is a whole lot of
unnecessary typing for those weird tags, and a Django template is
useless without Django. It seems from the tutorials that a genshi or kid
template can just be used as is in the browser. Very nice for template
dev. Also in Django doing complex logic in the template is hideous. As a
two man operation, I like the idea that I can use python in the
templates in the normal way ( again less looking in the docs for how to
make loops, etc ). Can anyone tell me if we will be able  to add python
in genshi soon in the manner of kid?

> 6. Django is faster(for now...)

Also true. But maybe a bit of a red herring. CGI scripts in C are really
really fast. Isn't coder convenience over performance the point of "very
high level" languages? 

> 7. Turbogears likes decorators as it should be...Django doesn't

I like the way gears passes to templates way better than Django.

Some thoughts of my own, open for comment:

- I will miss the Django admin. On the other hand, extending the Django
admin is a real pain and significantly more "magic" goes on there then
in other cases. But for clients with simple admin needs, I will probably
still use Django, giving clients bare bones update abilities with their
logo at the top is so easy. 
- the Django url mapping is cool. The dependency on it is not. An
optional url mapping layer that sits before the gears controller passing
through the ones you want and mapping others would be the best of both
worlds IMHO.
- Django docs are very good, better right now than gears. I had some
inexcusable problems with the gears tutorials because things are out of
sync. I know Kevin said that is a major concern and is being addressed.
At the moment, I think the initial experience of trying both out is
going to favour Django. Of course the initial experience of linux vs mac
( a comparison Adrian made ) favours macs, but now that I have put in
the time to really learn linux, I much prefer the *nix interoperability
approach.
- I don't feel as optimistic about the future of Django as of TurboGears
because I personally do not get the impression that they are properly
handling the difficult task of attracting and keeping new developers. I
feel like they are more interested in being #1 with their team than
setting up a road to the future. Maybe I'm wrong, maybe this will
change. And I really really dislike their PR style and constantly
telling everyone why their way is the only way. I don't think that
attitude will attract the most talented future developers. Most of the
smart programmers I know recognize that there are many sides to every
approach and all computing is a compromise.

If there were a url mapper on CherryPy and even some decent scaffolding
aimed at the end user for both SQLObject and SQLAlchemy admin
interfaces, I think I would do all my work in gears. Anyone know if
these are in the works?

Comments?
Thanks
Iain



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

Reply via email to