Hi all,

For the last two years whenever an API has been required for a project, we
have just used our own API wrapper that consists of about 50 lines, then
added in the bits we needed as we go along.

So today, I decided to spread my wings a little and give TastyPie a try...
here is a bit of feedback for anyone considering TastyPie;

It works quite nicely out of the box, ties directly into the Django user
models, has fairly good URL path structures, and within 30 minutes you can
have it spitting out data from your models with as much control as you
wish.

However, like the django-admin system, this is where the fun ends. As soon
as you want to do anything bespoke or actions that involve not fetching
data (whether it be ORM or not), things start to get touchy. Attempting to
get tastypie to work without a queryset/qs is damn near impossible, the
uglyness of override_urls/prepend_urls() alone was enough to make me say
"eww", and the general feel was overly complex.

In theory tastypie is perfect, but in practise it seems to overcomplicate
things in an attempt to keep everything organized, and to quote a colleague
"it has a bit too much magic". Sure, it claims to give you plenty of
control to customize it for your specific use case, but the complexity of
this makes actual time and sanity saved debatable.

This isn't to say that tastypie should be avoided, as it will work
beautifully for simple requirements, but I personally feel that it should
be kept in the same box as django-admin. It's also worth mentioning that
(imo) anyone thinking about tastypie should still give it a try and see how
they feel about it. It'd be interesting to hear other thoughts on it.

There are obviously some others to compare this against, the most notable
being piston and Django REST framework. Although there's some bad press
about piston (and I haven't tried it myself), it would probably be next in
my list to try. Unlike tastypie, it treats resources as completely
arbitrary objects and lets you create the magic for yourself.. so although
it doesn't work out of the box quite as easily, it offers so much more
benefits in the long run.

Any thoughts?

Cal

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" 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/django-users?hl=en.

Reply via email to