Falcon ist ein Webanwendungsframework zum Erstellen von Web-API-Servern. Wenn andere Frameworks beliebte Autos sind, die mit umfangreichen Funktionen wie Template Engine und O / R Mapper ausgestattet sind, ist Falcon ein maschinenähnlicher F1-Frame, der nur die für den Web-API-Server erforderlichen Funktionen fokussiert und schärft. Es ist eine Arbeit.
Bemerkenswert ist das einfache Design und die überwältigende Geschwindigkeit. Das Folgende ist der auf der offiziellen Seite veröffentlichte Benchmark (Stand 26. November 2015, Vergleichsergebnisse mit PyPy 2.5.1).
Es läuft mit der 27-fachen Geschwindigkeit von ** Flask und der 1,5- bis 2-fachen Geschwindigkeit von Bottle **, was als einfacher Rahmen bezeichnet wird.
Es ist auch sehr einfach zu implementieren. Das folgende Beispiel zeigt einen Server, der eine einfache JSON-Antwort zurückgibt. Wenn Sie es mit "Python" ausführen, wird der Server auf Port "8000" gestartet, und wenn Sie darauf zugreifen, wird eine JSON-Antwort zurückgegeben.
example.py
import json
import falcon
class HelloResource(object):
def on_get(self, req, resp):
msg = {
"message": "Welcome to the Falcon"
}
resp.body = json.dumps(msg)
app = falcon.API()
app.add_route("/", HelloResource())
if __name__ == "__main__":
from wsgiref import simple_server
httpd = simple_server.make_server("127.0.0.1", 8000, app)
httpd.serve_forever()
Es gibt eine andere Funktion namens Hook, die den sogenannten Filter implementieren kann, aber dies ist die einzige Grundfunktion.
Da die Falcon-Anwendung eine WSGI-Anwendung ist, kann sie auf einem WSGI-Server ausgeführt werden. Das obige verwendet den in Python integrierten simple_server
, kann aber auch mit Gunicorn oder Kellnerin ausgeführt werden (empfiehlt offiziell gunicorn
, aber ich glaube nicht, dass Windows-Leute es ausführen können, also verwenden Sie Kellnerin usw. Ich denke es ist gut).
Ich denke, dass es für die folgenden Situationen geeignet ist.
Wir hoffen, dass Sie es ausprobieren und seine Geschwindigkeit und Benutzerfreundlichkeit erleben.
Recommended Posts