Какая структура Python для веб-службы REST/JSON без интерфейса?
Мне нужно создать веб-службу REST/JSON Python для приложения iOS для взаимодействия. В Интернете не будет интерфейса.
Какая будет самая быстрая, самая легкая структура, которая будет использоваться для этого? Кривая обучения для реализации также рассмотрена?
Из исследования, которое я сделал, Django-Tastypie или Djanjo-Piston выглядят как лучшие варианты с победой Tastypie, потому что кодовая база активно поддерживается?
Ответы
Ответ 1
В общем, я думаю, вы найдете web2py, чтобы быть одной из самых простых фреймворков для настройки, изучения и использования. web2py упрощает генерировать JSON (просто добавьте расширение .json), и теперь он включает новые функции для автоматического создания веб-службы RESTful для доступа к моделям баз данных. В частности, проверьте parse_as_rest и smart_query.
Если вам нужна помощь, спросите в список рассылки.
Ответ 2
В Pycon Australia Ричард Джонс сравнивал самые популярные легкие веб-фреймворки. Bottle вышел на первое место. Ниже представлена полная презентация .
Ответ 3
Когда дело доходит до легкого веса, CherryPy довольно там.
import cherrypy
class HelloWorld(object):
def index(self):
return "Hello World!"
index.exposed = True
cherrypy.quickstart(HelloWorld())
Ответ 4
Если бы я был вами, я бы использовал web.py, что очень удобно для такого быстрого прототипирования легких приложений REST.
Проверьте этот фрагмент на главной странице:
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()
Ответ 5
Взгляните на flask и его расширение 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)
Ответ 6
Вы также можете проверить Parse. Они могут свободно использовать прямо сейчас и предоставят вам приятный REST API для мобильных приложений.
Однако, как указывает @iksnar, вы ничего не пишете на Python или вообще ничего для бэкэнд. Если вам нужно, чтобы бэкэнд работал на Python на ваших собственных серверах, я большой поклонник TastyPie, если вы уже используете Django и Django ORM.