example - API RESTful de Django-django-piston vs. django-tastypie
python api framework (4)
Habiendo implementado API con django Piston, tastypie y django webmachine Django tastypie rocks! Habiendo dicho eso, creo que mientras que tastypie es realmente bueno cuando tu API se modela cerca de tus modelos, es un poco más complicado hacer las cosas una vez que quieres salir de la caja. Existen soluciones para algunos issues , mientras que para otros hay que doblar más que construir. Probablemente cubrirá el 90% de los casos de uso de django.
Afaik Webmachine fue modelado según el popular erlang webmachine, pero últimamente no ha sido muy activo. Así que eso deja al pistón, que está recogiendo algo de actividad, y sabroso, que tiene mucho ímpetu y actividad. Piston es un poco más flexible, pero tastypie se mueve muy rápido y, en mi opinión, tiene una API realmente fácil.
Mi recomendación sería implementar rápidamente un prototipo de API en tastypie, y ver si cubre lo que quieres hacer.
Estamos buscando una solución RESTful API general para nuestro proyecto Django. Primero usaríamos la API para llamadas Ajax en el sitio web y luego para aplicaciones móviles, aplicaciones externas y cosas por el estilo.
Encontré dos módulos que parecen ser ampliamente utilizados. django-piston y django-tastypie
Por lo que leí, ¡el pistón parece ser más viejo y, por lo tanto, más maduro, pero tal vez un poco desactualizado! Mientras que tastypie es relativamente nuevo y está bien documentado.
¿Cuál sería la mejor opción? django-piston o django-tastypie ? Importante para nosotros (ordenados por prioridad): Mantenimiento continuo de la fuente, documentación, estabilidad, facilidad de uso.
EDITAR (2013 16 de julio):
Ahora, más de un año después, tenemos un claro ganador. Al principio fuimos con tastypie. Lo que nos gustó un poco. Pero después de medio año más o menos, pasamos al django-rest-framework y nunca volvimos la vista atrás.
Lo que más nos gusta de él:
Buena documentación
Comunidad activa
Diseño limpio (basado en las vistas basadas en la clase de django)
API navegable para desarrollo y depuración
Confiamos mucho en la API, por lo que el soporte (en el futuro) es una de nuestras principales preocupaciones. Nos encontramos con el responsable, Tom Christie, (on y offline) y parece muy comprometido con el proyecto. Entonces nos sentimos muy cómodos usando el django-rest-framework.
No tengo experiencia con esto, pero confío en Pydanny en esto:
django-piston apenas ha sido compatible durante casi dos años. Eso es una eternidad, y la cantidad de tenedores para abordar múltiples problemas es motivo de alarma. Por eso, en su lugar en este momento, recomiendo django-tastypie. Está actualizado, tiene muy buena documentación, admite OAUTH y obtuvo el segundo lugar en el paquete de Django Packages (¡obtuvo casi el triple de puntos!). Otra herramienta a considerar es Django Rest Framework, que es tan buena como django-tastypie pero carece del soporte de OAUTH.
En el frente django-pistón, Joshua Ginsberg ha tomado las riendas y esperamos ver algún movimiento otra vez. En ese caso, podré eliminar esta sección de la publicación del blog.
del blog de Pydanny.
Un buen recurso para compararlos es http://www.djangopackages.com/grids/g/api/
Django-tastypie seguro es la opción de guardar en este momento.
Personalmente, recomendaría echar un vistazo a django-rest-framework si usa django 1.3, porque usa las nuevas vistas basadas en clases. La página de comparación de djangopackages.com muestra que tiene buena participación y actividad. Y, wow, seguro que tiene una buena interfaz navegable para la API.
django-rest-framework 2.0 se anunció en octubre de 2012 y ahora es compatible con OAuth desde el primer momento. Lo que realmente me gusta es la API navegable de la Web , que es realmente útil al desarrollar su API, pero también cuando alguien implementa su API. Es similar al uso del sitio de administración de Django para inspeccionar la estructura y los datos de sus modelos, pero luego para su API. También la documentación es muy buena.
De su sitio web:
El marco Django REST es un conjunto de herramientas potente y flexible que facilita la creación de API web.
Algunas razones por las que puede querer utilizar el marco REST:
- La API de navegación web es una gran ventaja de usabilidad para sus desarrolladores.
- Políticas de autenticación que incluyen OAuth1a y OAuth2 listas para usar.
- Serialización que admite fuentes de datos ORM y no ORM.
- Personalizable hasta el final: solo use vistas basadas en funciones regulares si no necesita las funciones más potentes.
- Amplia documentación y gran apoyo de la comunidad.
Consulte su guía de Quickstart para tener una idea rápida de cómo funciona.