Tuyên bố từ chối trách nhiệm: Tôi là tác giả của tipfy và webapp2.
Một lợi thế lớn của việc gắn bó với webapp (hoặc sự phát triển tự nhiên của nó, webapp2) là bạn không phải tạo các phiên bản của riêng mình cho các trình xử lý SDK hiện có cho khuôn khổ mà bạn chọn.
Ví dụ: hoãn lại sử dụng trình xử lý ứng dụng web. Để sử dụng nó trong chế độ xem Flask thuần túy, bằng cách sử dụng werkzeug.Request và werkzeug.Response, bạn sẽ cần phải triển khai hoãn lại cho nó (giống như tôi đã làm ở đây cho tipfy).
Điều tương tự cũng xảy ra đối với các trình xử lý khác: blobstore (Werkzeug vẫn không hỗ trợ các yêu cầu phạm vi, vì vậy bạn sẽ cần sử dụng WebOb ngay cả khi bạn tạo trình xử lý của riêng mình - xem tipfy.appengine.blobstore ), mail, XMPP, v.v. hoặc những thứ khác được đưa vào SDK trong tương lai.
Và điều tương tự cũng xảy ra đối với các thư viện được tạo bằng App Engine, như ProtoRPC , dựa trên ứng dụng web và sẽ cần một cổng hoặc bộ điều hợp để hoạt động với các khung công tác khác, nếu bạn không muốn kết hợp ứng dụng web và khuôn khổ-của- trình xử lý lựa chọn trong cùng một ứng dụng.
Vì vậy, ngay cả khi bạn chọn một khung công tác khác, bạn sẽ kết thúc việc a) sử dụng ứng dụng web trong một số trường hợp đặc biệt hoặc b) phải tạo và duy trì các phiên bản của mình cho các trình xử lý hoặc tính năng SDK cụ thể, nếu bạn sẽ sử dụng chúng.
Tôi thích Werkzeug hơn WebOb, nhưng sau hơn một năm chuyển và duy trì các phiên bản của trình xử lý SDK hoạt động nguyên bản với tipfy, tôi nhận ra rằng đây là một nguyên nhân mất tích - để hỗ trợ GAE về lâu dài, tốt nhất là bạn nên tiếp cận với webapp / WebOb. Nó giúp cho việc hỗ trợ các thư viện SDK trở nên dễ dàng hơn rất nhiều, việc bảo trì trở nên dễ dàng hơn rất nhiều, nó dễ chứng minh hơn trong tương lai vì các thư viện và tính năng SDK mới sẽ hoạt động hiệu quả và có lợi ích của một cộng đồng lớn làm việc trên cùng các công cụ App Engine.
Một biện pháp bảo vệ webapp2 cụ thể được tóm tắt ở đây . Thêm vào đó, webapp2 có thể được sử dụng bên ngoài App Engine và dễ dàng được tùy chỉnh để trông giống như các khuôn khổ vi mô phổ biến và bạn có một loạt lý do thuyết phục để sử dụng nó. Ngoài ra, webapp2 có cơ hội lớn được đưa vào bản phát hành SDK trong tương lai (đây là bản phát hành bổ sung chính thức, đừng trích dẫn tôi :-). Điều này sẽ thúc đẩy nó về phía trước và mang lại cho các nhà phát triển và đóng góp mới.
Điều đó nói rằng, tôi là một người hâm mộ lớn của Werkzeug và những người Pocoo và đã vay mượn rất nhiều từ Flask và những người khác (web.py, Tornado), nhưng - và, bạn biết đấy, tôi thiên vị - những lợi ích webapp2 trên nên được tính đến.
flask-babel
hỗ trợ nhiều ngôn ngữ vàflask-seasurf
hỗ trợ CSRF để bảo mật các biểu mẫu của tôi.