Falcon est un framework d'application Web dédié à la création de serveurs d'API Web. Si d'autres frameworks sont des voitures populaires regorgeant de fonctionnalités riches telles que le moteur de modèle et le mappeur O / R, Falcon est un cadre de type machine F1 qui concentre et affine uniquement les fonctionnalités nécessaires au serveur API Web. C'est un travail.
Notable est sa conception simple et sa vitesse écrasante. Voici le benchmark publié sur la page officielle (au 26 novembre 2015, résultats de la comparaison avec PyPy 2.5.1).
Il fonctionne à 27 fois la vitesse de ** Flask et 1,5 à 2 fois la vitesse de Bottle **, qui est dit être un cadre simple.
C'est également très facile à mettre en œuvre. Voici un exemple de serveur qui renvoie une réponse JSON simple.
Si vous l'exécutez avec python
, le serveur démarrera sur le port 8000
, et lorsque vous y accédez, une réponse JSON sera retournée.
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()
et ʻon_post
.Il existe une autre fonction appelée Hook qui peut implémenter ce que l'on appelle Filter, mais c'est la seule base.
Étant donné que l'application Falcon est une application WSGI, elle peut être exécutée sur un serveur WSGI. Ce qui précède utilise le simple_server
intégré à Python, mais il peut également être exécuté avec gunicorn ou serveuse (recommande officiellement gunicorn
, mais je ne pense pas que les utilisateurs de Windows puissent l'exécuter, alors utilisez serveuse, etc. Je pense que c'est bien).
Je pense qu'il convient aux situations suivantes.
J'espère que vous allez l'essayer et découvrir sa rapidité et sa facilité d'utilisation.
Recommended Posts