Простая структура для Google App Engine (например, Sinatra)?

Существует ли простая оболочка-оболочка для appengine? Что-то вроде Синатры или Юноны? Чтобы можно было написать код, подобный следующему:

from juno import *

@route('/')
def index(web):
    return 'Juno says hi'

run()

ОБНОВЛЕНИЕ: я хочу использовать Python API (не Java) в GAE.

6 ответов

Решение

Существует несколько платформ, специально предназначенных для App Engine или хорошо подходящих для него:

Насколько мне известно, в настоящее время такая платформа не была выпущена (большинство людей, похоже, вполне довольны Django;-). Вы можете попробовать использовать Juno с этим патчем - он, кажется, не совсем готов к прайм-тайму, но опять же, это довольно крошечный патч, возможно, немного больше, чтобы Juno полностью работал на GAE!

Я использую web.py. Это действительно просто и не мешает вам.

Вот как это выглядит:

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()

Еще одна концепция, которую я собирался опробовать, - это Bloog. На самом деле это движок блога для GAE, но он также предоставляет основу для разработки других приложений GAE.

Bottle - это фреймворк с одним файлом, поэтому его легко развернуть в GAE.

Бутылка похожа на Синатру, см. Пример "Привет, мир" ниже:

Синатра:

require 'sinatra'
get '/hi' do
  "Hello World!"
end

Бутылка:

from bottle import *
@get('/hi')
    def hi():
        return "Hello World!"

Хотя я должен признать, что Ruby лучше для DSL.

Тебе стоит проверить галык. Это легкий фреймворк поверх appengine, который использует Groovy.

Другие вопросы по тегам