Jaki Framework w Pythonie dla usługi internetowej REST / JSON bez front endu?
Muszę utworzyć Python REST / JSON web service dla aplikacji iOS do interakcji z. W sieci nie będzie żadnego front endu.
Jaki będzie najszybszy i najlżejszy framework do tego celu? Krzywa uczenia się do wdrożenia również rozważane?
Z badań, które zrobiłem Django-Tastypie lub Djanjo-tłok wyglądają jak najlepsze opcje, z Tastypie wygrywa, ponieważ baza kodowa jest utrzymywana aktywnie?
6 answers
Ogólnie rzecz biorąc, myślę, że znajdziesz web2py jako jeden z najłatwiejszych frameworków do skonfigurowania, nauczenia się i użycia. web2py ułatwia generowanie JSON (wystarczy dodać a .rozszerzenie json), a teraz zawiera nową funkcjonalność do automatycznego tworzenia RESTful web services , aby uzyskać dostęp do modeli baz danych. W szczególności sprawdź parse_as_rest i smart_query.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-30 22:57:46
W Pycon Australia Richard Jones porównał najpopularniejsze lekkie frameworki internetowe. butelka wyszła na wierzch. Oto pełna prezentacja .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-30 06:01:48
Jeśli chodzi o lightweight, CherryPy jest tam całkiem nieźle.
import cherrypy
class HelloWorld(object):
def index(self):
return "Hello World!"
index.exposed = True
cherrypy.quickstart(HelloWorld())
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-30 05:01:31
Na Twoim miejscu użyłbym web.py jest to naprawdę wygodne do tego rodzaju szybkiego prototypowania lekkich aplikacji spoczynkowych . Zobacz ten fragment ze strony głównej:
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()
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-30 05:04:41
Spójrz na kolbę i jej rozszerzenie kolbę-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)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-04 16:45:46
Możesz również sprawdzić Parse. Z nich można korzystać za darmo już teraz i udostępni Ci ładne REST API {[2] } dla aplikacji mobilnych.
Jednak, jak podkreśla @iksnar, nie piszesz nic w Pythonie, ani niczego w ogóle dla backendu. Jeśli potrzebujesz, aby backend działał w Pythonie na własnych serwerach, jestem wielkim fanem TastyPie, jeśli używasz już Django i Django ORM.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-21 01:17:43