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