TurboGears - ภาพรวม

Web Framework คืออะไร?

Web Application Framework หรือเพียงแค่ Web Framework แสดงถึงชุดของไลบรารีและโมดูลซึ่งช่วยให้นักพัฒนาเว็บแอปพลิเคชันสามารถเขียนแอปพลิเคชันโดยไม่ต้องกังวลกับรายละเอียดระดับต่ำเช่นโปรโตคอลการจัดการเธรด

TurboGears คืออะไร?

TurboGears เป็นเฟรมเวิร์กเว็บแอปพลิเคชันที่เขียนด้วยภาษา Python สร้างขึ้นโดย Kevin Dangoor ในปี 2548 TurboGears เวอร์ชันล่าสุด (เวอร์ชัน 2.3.7) ได้รับการจัดการโดยกลุ่มนักพัฒนาที่นำโดย Mark Ramm และ Florent Aide

TurboGears เป็นไปตามกระบวนทัศน์ Model-View-Controller เช่นเดียวกับเว็บเฟรมเวิร์กที่ทันสมัยที่สุดเช่น Rails, Django, Struts เป็นต้น

Model View Controller

MVC เป็นรูปแบบการออกแบบซอฟต์แวร์สำหรับการพัฒนาเว็บแอปพลิเคชัน รูปแบบ Model View Controller ประกอบด้วยสามส่วน -

  • Model - ระดับต่ำสุดของรูปแบบมีหน้าที่ในการรักษาข้อมูล

  • View - มีหน้าที่แสดงข้อมูลทั้งหมดหรือบางส่วนให้กับผู้ใช้

  • Controller - รหัสซอฟต์แวร์ที่ควบคุมการโต้ตอบระหว่าง Model และ View

MVC ได้รับความนิยมเนื่องจากแยกตรรกะของแอปพลิเคชันออกจากเลเยอร์อินเทอร์เฟซผู้ใช้และสนับสนุนการแยกข้อกังวล ที่นี่ Controller จะรับคำขอทั้งหมดสำหรับแอปพลิเคชันจากนั้นจะทำงานร่วมกับ Model เพื่อเตรียมข้อมูลที่จำเป็นสำหรับ View จากนั้น View จะใช้ข้อมูลที่เตรียมโดย Controller เพื่อสร้างคำตอบสุดท้ายที่สามารถนำเสนอได้ นามธรรม MVC สามารถแสดงเป็นกราฟิกได้ดังนี้ -

นางแบบ

Model มีหน้าที่จัดการข้อมูลของแอปพลิเคชัน มันตอบสนองต่อคำขอจากมุมมองและยังตอบสนองต่อคำสั่งจากคอนโทรลเลอร์เพื่ออัปเดตตัวเอง

มุมมอง

การนำเสนอข้อมูลในรูปแบบเฉพาะที่เกิดจากการตัดสินใจของผู้ควบคุมในการนำเสนอข้อมูล เป็นระบบเทมเพลตตามสคริปต์ที่ง่ายต่อการรวมเข้ากับเทคโนโลยี AJAX

ตัวควบคุม

คอนโทรลเลอร์มีหน้าที่ตอบสนองต่ออินพุตของผู้ใช้และดำเนินการโต้ตอบกับอ็อบเจ็กต์โมเดลข้อมูล คอนโทรลเลอร์ได้รับอินพุตตรวจสอบความถูกต้องของอินพุตจากนั้นดำเนินการทางธุรกิจที่ปรับเปลี่ยนสถานะของโมเดลข้อมูล

TurboGears สร้างขึ้นจากไลบรารีและเครื่องมือต่างๆ เครื่องมือเหล่านี้มีการเปลี่ยนแปลงระหว่าง TurboGears เวอร์ชันต่างๆ ส่วนประกอบของเวอร์ชันปัจจุบัน (เวอร์ชัน 2.3.7) แสดงอยู่ด้านล่าง

SQLAlchemy

เป็นชุด SQL โอเพ่นซอร์สที่จัดเตรียม Object Relation mapping (ORM) สำหรับโค้ด Python

เกนชิ

เครื่องมือสร้างเทมเพลตนี้ใช้เพื่อสร้างส่วนหน้าของแอปพลิเคชัน TG ระบบเทมเพลตของเว็บจะรวมเทมเพลตเข้ากับแหล่งข้อมูลบางแหล่งเพื่อแสดงผลเว็บเพจแบบไดนามิก

ToscaWidgets

เป็นวิดเจ็ตไลบรารีสำหรับสร้างฟอร์ม HTML พร้อมตัวควบคุมฝั่งเซิร์ฟเวอร์ Tosca ยังทำหน้าที่เป็นมิดเดิลแวร์เพื่อเชื่อมต่อกับวิดเจ็ต JavaScript และชุดเครื่องมือ

กระปุกเกียร์

มีชุดคำสั่งสำหรับจัดการโครงการและแอปพลิเคชัน TurboGears ของเซิร์ฟเวอร์ แอปพลิเคชัน TurboGears สามารถปรับใช้บนเว็บเซิร์ฟเวอร์ที่รองรับ WSGI

Web Server Gateway Interface (WSGI) ถูกนำมาใช้เป็นมาตรฐานสำหรับการพัฒนาโปรแกรมประยุกต์บนเว็บ Python WSGI เป็นข้อกำหนดสำหรับอินเทอร์เฟซสากลระหว่างเว็บเซิร์ฟเวอร์และเว็บแอปพลิเคชัน แพคเกจ wsgiref เป็นการใช้งานอ้างอิงของ WSGI ใช้เพื่อเพิ่มการสนับสนุน WSGI ให้กับเว็บเฟรมเวิร์กเว็บ TurboGears โมดูล simple_server ในแพ็กเกจนี้ใช้เซิร์ฟเวอร์ HTTP แบบง่ายที่ให้บริการแอ็พพลิเคชัน WSGI เราจะใช้มันเพื่อทดสอบแอปพลิเคชันที่พัฒนาในระหว่างการสอนนี้