web-dev-qa-db-fra.com

Quel Python pour un service web REST / JSON sans frontal)?

Je dois créer un Python REST/JSON pour une application iOS avec laquelle interagir. Il n'y aura pas de frontal sur le Web.

Quel sera le framework le plus rapide et le plus léger à utiliser pour cela? Courbe d'apprentissage à mettre en œuvre également envisagée?

D'après les recherches que j'ai faites, Django-Tastypie ou Djanjo-Piston ressemblent aux meilleures options, avec Tastypie gagnant parce que la base de code est maintenue activement?

32
Rick

En général, je pense que vous trouverez web2py comme l'un des frameworks les plus faciles à configurer, à apprendre et à utiliser. web2py rend très facile générer JSON (ajoutez simplement une extension .json), et il inclut maintenant de nouvelles fonctionnalités pour créer automatiquement services Web RESTful pour accéder aux modèles de base de données. En particulier, consultez les fonctionnalités parse_as_rest et smart_query .

Si vous avez besoin d'aide, demandez sur liste de diffusion .

13
Anthony

Chez Pycon Australia, Richard Jones a comparé les frameworks web légers les plus populaires. Bouteille est sorti en haut. Voici le présentation complète .

25
Raymond Hettinger

En ce qui concerne la légèreté, CherryPy est plutôt là-haut.

import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())
6
Amber

Si j'étais vous, j'utiliserais web.py qui est vraiment pratique pour faire ce genre de prototypage rapide de léger REST applications . Consultez cet extrait de la page d'accueil:

import web

urls = (
    '/(.*)', 'hello'
)
app = web.application(urls, globals())

class hello:        
    def GET(self, name):
        if not name: 
            name = 'World'
        return 'Hello, ' + name + '!'

if __name__ == "__main__":
    app.run()
2
lc2817

Jetez un oeil à flask et son extension flask-restful

from flask import Flask
from flask.ext import restful

app = Flask(__name__)
api = restful.Api(app)

class HelloWorld(restful.Resource):
    def get(self):
        return {'hello': 'world'}

api.add_resource(HelloWorld, '/')

if __name__ == '__main__':
    app.run(debug=True)
1
user1823890

Vous pouvez également consulter Parse . Ils sont libres d'utiliser dès maintenant, et vous donneront une Nice API REST pour vos applications mobiles.

Cependant, comme le souligne @iksnar, vous n'écrivez rien en Python, ni rien du tout pour le backend. Si vous avez besoin de faire tourner le backend dans Python sur vos propres serveurs, je suis un grand fan de TastyPie si vous utilisez Django déjà et le Django ORM déjà.

0
Gourneau