Zastrzeżenie: jestem autorem tipfy i webapp2.
Dużą zaletą trzymania się aplikacji internetowej (lub jej naturalnej ewolucji, webapp2) jest to, że nie musisz tworzyć własnych wersji dla istniejących programów obsługi SDK dla wybranej platformy.
Na przykład deferred używa programu obsługi aplikacji sieci Web. Aby użyć go w czystym widoku Flask, używając werkzeug.Request i werkzeug.Response, musisz zaimplementować odroczony dla niego (tak jak zrobiłem tutaj dla tipfy).
To samo dzieje się z innymi modułami obsługi: blobstore (Werkzeug nadal nie obsługuje żądań zakresu, więc będziesz musiał użyć WebOb, nawet jeśli utworzysz własny moduł obsługi - patrz tipfy.appengine.blobstore ), mail, XMPP i tak dalej, lub inne, które zostaną uwzględnione w zestawie SDK w przyszłości.
To samo dzieje się z bibliotekami utworzonymi z myślą o App Engine, np ProtoRPC , który jest oparty na aplikacji internetowej i wymagałby portu lub adaptera do współpracy z innymi frameworkami, jeśli nie chcesz mieszać aplikacji internetowej i swojej struktury programy obsługi wyboru w tej samej aplikacji.
Tak więc, nawet jeśli wybierzesz inną platformę, zakończysz a) używanie aplikacji internetowej w niektórych specjalnych przypadkach lub b) konieczność tworzenia i utrzymywania wersji dla określonych programów obsługi SDK lub funkcji, jeśli będziesz ich używać.
Znacznie wolę Werkzeug od WebOb, ale po ponad roku przenoszenia i utrzymywania wersji programów obsługi SDK, które działają natywnie z tipfy, zdałem sobie sprawę, że jest to przegrana sprawa - aby wspierać GAE w dłuższej perspektywie, najlepiej jest pozostać blisko webapp / WebOb. To sprawia, że obsługa bibliotek SDK jest bardzo prosta, konserwacja staje się dużo łatwiejsza, jest bardziej przyszłościowa, ponieważ nowe biblioteki i funkcje SDK będą działać od razu po wyjęciu z pudełka, a duża społeczność pracuje wokół tych samych narzędzi App Engine.
Specyficzną webapp2 obrony podsumowano tutaj . Dodaj do tych, że webapp2 może być używany poza App Engine i jest łatwo dostosować, aby wyglądał jak popularne mikro-frameworki, a masz dobry zestaw ważnych powodów, aby to zrobić. Ponadto, webapp2 ma duże szanse na dołączenie do przyszłej wersji SDK (to jest nieoficjalne, nie cytuj mnie :-), co popchnie ją do przodu i przyniesie nowych programistów i wkład.
To powiedziawszy, jestem wielkim fanem Werkzeug i Pocoo i dużo pożyczyłem od Flaska i innych (web.py, Tornado), ale - i wiesz, jestem stronniczy - powyższe korzyści z webapp2 powinny być branym pod uwagę.
flask-babel
wielu języków iflask-seasurf
obsługa CSRF w celu zabezpieczenia moich formularzy.