免責事項:私はtipfyとwebapp2の作者です。
webapp(またはその自然な進化、webapp2)を使用する大きな利点は、選択したフレームワークの既存のSDKハンドラー用に独自のバージョンを作成する必要がないことです。
たとえば、deferredはwebappハンドラーを使用します。それをwerkzeug.Requestとwerkzeug.Responseを使用して純粋なFlaskビューで使用するには、そのために据え置きを実装する必要があります(tipfyのためにここで行ったように)。
-ブロブストア(参照あなたがあなた自身のハンドラを作成する場合でも、WebObに関するを使用する必要がありますので、WERKZEUGはまだ、範囲要求をサポートしていません:同じことが他のハンドラのために起こるtipfy.appengine.blobstoreを、メール、XMPPなど、)または将来SDKに含まれるもの。
また、App Engineを使用して作成されたライブラリ(ProtoRPCなど)でも同じことが起こります。これは、webappに基づいており、webappとyour-framework-of-を混在させたくない場合は、他のフレームワークと連携するためにポートまたはアダプターが必要になります。同じアプリ内の選択ハンドラ。
したがって、別のフレームワークを選択した場合でも、a)特別な場合にwebappを使用するか、b)特定のSDKハンドラーまたは機能のバージョンを作成して維持する必要があります(使用する場合)。
私はWebObよりもWerkzeugを非常に好みますが、tipfyでネイティブに動作するSDKハンドラーのバージョンを1年以上移植して維持した後、これが失われた原因であることに気付きました-長期にわたってGAEをサポートするには、近くにとどまることが最善ですwebapp / WebOb。これにより、SDKライブラリのサポートが簡単になり、メンテナンスが非常に簡単になり、新しいライブラリとSDK機能がそのまま動作し、同じApp Engineツールを取り巻く大規模なコミュニティのメリットがあるため、将来性が高まります。
特定のwebapp2防御をここにまとめます。これらに加えて、webapp2はApp Engineの外部で使用でき、人気のあるマイクロフレームワークのようにカスタマイズするのが簡単であり、それには説得力のある理由がいくつかあります。また、webapp2は将来のSDKリリースに含まれる大きなチャンスがあります(これは公式ではありませんが、私を引用しないでください:-)。これにより、それが推進され、新しい開発者と貢献がもたらされます。
とは言っても、私はWerkzeugとPocooの連中の大ファンであり、Flaskやその他(web.py、Tornado)から多くを借りましたが、-そして、ご存知のように-上記のwebapp2の利点は考慮されます。
flask-babel
多言語サポートやflask-seasurf
、フォームを保護するためのCSRFサポートなど、本当に役立つフラスコプラグインを見つけました。