Disclaimer:ฉันเป็นผู้เขียน tipfy และ webapp2
ข้อได้เปรียบอย่างมากของการใช้ webapp (หรือวิวัฒนาการตามธรรมชาติ webapp2) คือคุณไม่จำเป็นต้องสร้างเวอร์ชันของคุณเองสำหรับตัวจัดการ SDK ที่มีอยู่สำหรับกรอบงานที่คุณเลือก
ตัวอย่างเช่นการเลื่อนเวลาใช้ตัวจัดการเว็บแอป ในการใช้งานในมุมมองขวดที่บริสุทธิ์โดยใช้ werkzeug.Request และ werkzeug การตอบสนองคุณจะต้องดำเนินการรอการตัดบัญชี (เช่นที่ฉันทำที่นี่เพื่อ tipfy)
สิ่งเดียวกันนี้เกิดขึ้นกับตัวจัดการอื่น ๆ : blobstore (Werkzeug ยังไม่รองรับคำขอช่วงดังนั้นคุณจะต้องใช้ WebOb แม้ว่าคุณจะสร้างตัวจัดการของคุณเองก็ตาม - ดูtipfy.appengine.blobstore ), เมล, XMPP และอื่น ๆ หรืออื่น ๆ ที่รวมอยู่ใน SDK ในอนาคต
และสิ่งเดียวกันนี้จะเกิดขึ้นกับไลบรารีที่สร้างด้วย App Engine เช่นProtoRPCซึ่งใช้เว็บแอพและต้องการพอร์ตหรืออะแดปเตอร์เพื่อทำงานร่วมกับเฟรมเวิร์กอื่น ๆ หากคุณไม่ต้องการผสมเว็บแอปและเฟรมเวิร์กของคุณ ตัวจัดการทางเลือกในแอพเดียวกัน
ดังนั้นแม้ว่าคุณจะเลือกเฟรมเวิร์กที่แตกต่างกันคุณจะต้อง a) การใช้ webapp ในกรณีพิเศษบางอย่างหรือ b) ต้องสร้างและดูแลเวอร์ชันของคุณสำหรับตัวจัดการ SDK หรือคุณสมบัติเฉพาะหากคุณจะใช้
ฉันชอบ Werkzeug มากกว่า WebOb แต่หลังจากผ่านไปกว่าหนึ่งปีในการย้ายและบำรุงรักษาเวอร์ชันของตัวจัดการ SDK ที่ทำงานได้ดีโดยกำเนิดฉันตระหนักว่านี่เป็นสาเหตุที่หายไป - เพื่อรองรับ 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 เพื่อรักษาความปลอดภัยแบบฟอร์มของฉัน