Haftungsausschluss: Ich bin der Autor von tipfy und webapp2.
Ein großer Vorteil des Festhaltens an webapp (oder seiner natürlichen Entwicklung, webapp2) besteht darin, dass Sie keine eigenen Versionen für vorhandene SDK-Handler für das Framework Ihrer Wahl erstellen müssen.
Zum Beispiel latenten verwenden einen Webapp - Handler. Um es in einer reinen Flask-Ansicht mit werkzeug.Request und werkzeug.Response zu verwenden, müssen Sie es verzögert implementieren (wie ich es hier für tipfy getan habe).
Das Gleiche gilt für andere Handler: blobstore (Werkzeug unterstützt immer noch keine Bereichsanforderungen, daher müssen Sie WebOb verwenden, auch wenn Sie einen eigenen Handler erstellen - siehe tipfy.appengine.blobstore ), mail, XMPP usw. oder andere, die in Zukunft im SDK enthalten sind.
Das Gleiche gilt für Bibliotheken, die mit Blick auf App Engine erstellt wurden, wie ProtoRPC , das auf Webapp basiert und einen Port oder Adapter benötigt, um mit anderen Frameworks zu arbeiten, wenn Sie Webapp und Ihr Framework of nicht mischen möchten Auswahlhandler in der gleichen App.
Selbst wenn Sie ein anderes Framework auswählen, beenden Sie a) die Verwendung von Webapp in bestimmten Fällen oder b) müssen Ihre Versionen für bestimmte SDK-Handler oder -Funktionen erstellen und verwalten, wenn Sie diese verwenden.
Ich bevorzuge Werkzeug gegenüber WebOb, aber nach über einem Jahr Portierung und Wartung von Versionen der SDK-Handler, die nativ mit tipfy arbeiten, wurde mir klar, dass dies eine verlorene Sache ist - um GAE langfristig zu unterstützen, ist es am besten, in der Nähe zu bleiben webapp / WebOb. Dies macht die Unterstützung für SDK-Bibliotheken zum Kinderspiel, die Wartung wird viel einfacher, es ist zukunftssicherer, da neue Bibliotheken und SDK-Funktionen sofort einsatzbereit sind und eine große Community die gleichen App Engine-Tools verwendet.
Eine spezifische webapp2-Verteidigung ist hier zusammengefasst . Hinzu kommt, dass webapp2 außerhalb von App Engine verwendet werden kann und einfach so angepasst werden kann, dass es wie beliebte Micro-Frameworks aussieht, und Sie haben eine Reihe überzeugender Gründe dafür. Außerdem hat webapp2 eine große Chance, in eine zukünftige SDK-Version aufgenommen zu werden (dies ist außeroffiziell, zitiere mich nicht :-), was es vorantreiben und neue Entwickler und Beiträge bringen wird.
Trotzdem bin ich ein großer Fan von Werkzeug und den Pocoo-Leuten und habe viel von Flask und anderen (web.py, Tornado) geliehen, aber - und Sie wissen, ich bin voreingenommen - die oben genannten Vorteile von webapp2 sollten berücksichtigt werden.
flask-babel
für die Unterstützung mehrerer Sprachen undflask-seasurf
für die CSRF-Unterstützung, um meine Formulare zu sichern.