면책 조항 : 저는 tipfy 및 webapp2의 저자입니다.
webapp (또는 자연스러운 진화, webapp2)를 고수 할 때의 큰 장점은 선택한 프레임 워크에 대해 기존 SDK 핸들러에 대한 자체 버전을 만들 필요가 없다는 것입니다.
예를 들어, deferred 는 webapp 핸들러를 사용합니다. 순수한 Flask 뷰에서 werkzeug.Request 및 werkzeug.Response를 사용하여 사용하려면 deferred를 구현해야합니다 ( 여기 에서 tipfy를 위해했던 것처럼).
다른 핸들러에서도 마찬가지입니다 : blobstore (Werkzeug는 여전히 범위 요청을 지원하지 않으므로 자체 핸들러를 생성하더라도 WebOb를 사용해야합니다 -tipfy.appengine.blobstore 참조 ), 메일, XMPP 등, 또는 향후 SDK에 포함될 기타.
웹앱을 기반으로하며 웹앱 과 프레임 워크를 혼합하지 않으려면 다른 프레임 워크와 작동하기 위해 포트 또는 어댑터가 필요한 ProtoRPC 와 같이 App Engine을 염두에두고 만든 라이브러리에서도 마찬가지 입니다. 같은 앱의 선택 핸들러.
따라서 다른 프레임 워크를 선택하더라도 a) 특별한 경우에 웹앱을 사용하거나 b) 특정 SDK 처리기 또는 기능을 사용할 경우 버전을 만들고 유지 관리해야합니다.
WebOb보다 Werkzeug를 훨씬 더 선호하지만, tipfy와 기본적으로 작동하는 SDK 핸들러 버전을 1 년 넘게 이식하고 유지 관리 한 후 이것이 손실 된 원인이라는 것을 깨달았습니다. 장기적으로 GAE를 지원하는 것이 가장 좋습니다. webapp / WebOb. SDK 라이브러리를 쉽게 지원하고 유지 관리가 훨씬 쉬워지며 새로운 라이브러리 및 SDK 기능이 즉시 작동하고 동일한 App Engine 도구를 중심으로 작업하는 대규모 커뮤니티의 이점이 있기 때문에 미래에 대비할 수 있습니다.
특정 webapp2 방어가 여기 에 요약되어 있습니다 . 그들에 추가 webapp2이 앱 엔진의 외부 사용할 수 있습니다 이며 인기있는 마이크로 프레임 워크처럼 보이도록 사용자 정의 할 쉽게 당신이 그것을 위해가는 특별한 이유의 좋은 세트를 가지고있다. 또한 webapp2는 향후 SDK 릴리스에 포함될 수있는 큰 기회가 있습니다 (이것은 비공식적이며 저를 인용하지 마십시오. :-). 앞으로 나아가고 새로운 개발자와 기여를 가져올 것입니다.
즉, 저는 Werkzeug와 Pocoo 사람들의 열렬한 팬이고 Flask 및 기타 (web.py, Tornado)에서 많은 것을 빌 렸지만-그리고 저는 편견입니다-위의 webapp2 혜택은 고려됩니다.
flask-babel
다국어 지원 및flask-seasurf
양식 보안을위한 CSRF 지원 과 같이 정말 도움이되는 플라스크 플러그인을 찾았습니다 .