TurboGears - Ikhtisar

Apa itu Kerangka Web?

Kerangka Aplikasi Web atau hanya Kerangka Web mewakili kumpulan pustaka dan modul, yang memungkinkan pengembang aplikasi web untuk menulis aplikasi, tanpa harus memikirkan detail tingkat rendah seperti protokol, manajemen utas, dll.

Apa itu TurboGears?

TurboGears adalah kerangka aplikasi web yang ditulis dengan Python. Awalnya dibuat oleh Kevin Dangoor pada tahun 2005, versi terbaru TurboGears (ver 2.3.7) dikelola oleh sekelompok pengembang yang dipimpin oleh Mark Ramm dan Florent Aide.

TurboGears mengikuti paradigma Model-View-Controller seperti halnya kebanyakan kerangka web modern seperti Rails, Django, Struts, dll.

Model View Controller

MVC adalah pola desain perangkat lunak untuk mengembangkan aplikasi web. Pola Model View Controller terdiri dari tiga bagian -

  • Model - Level terendah dari pola bertanggung jawab untuk memelihara data.

  • View - Ini bertanggung jawab untuk menampilkan semua atau sebagian data kepada pengguna.

  • Controller - Kode Perangkat Lunak yang mengontrol interaksi antara Model dan Tampilan.

MVC populer karena mengisolasi logika aplikasi dari lapisan antarmuka pengguna dan mendukung pemisahan masalah. Di sini, Pengontrol menerima semua permintaan untuk aplikasi dan kemudian bekerja dengan Model untuk menyiapkan data apa pun yang diperlukan oleh Tampilan. Tampilan kemudian menggunakan data yang disiapkan oleh Pengontrol untuk menghasilkan respons akhir yang dapat disajikan. Abstraksi MVC dapat direpresentasikan secara grafis sebagai berikut -

Model

Model bertanggung jawab untuk mengelola data aplikasi. Ini menanggapi permintaan dari tampilan dan juga menanggapi instruksi dari pengontrol untuk memperbarui dirinya sendiri.

Pandangan

Presentasi data dalam format tertentu, dipicu oleh keputusan pengontrol untuk menyajikan data. Mereka adalah sistem templat berbasis skrip yang sangat mudah diintegrasikan dengan teknologi AJAX.

Pengendali

Pengontrol bertanggung jawab untuk menanggapi masukan pengguna dan melakukan interaksi pada objek model data. Kontroler menerima input, memvalidasi input dan kemudian melakukan operasi bisnis yang mengubah status model data.

TurboGears dibangun di atas sejumlah pustaka dan alat. Alat-alat ini telah berubah di antara berbagai versi TurboGears. Komponen versi saat ini (ver 2.3.7) tercantum di bawah ini.

SQLAlchemy

Ini adalah kit SQL open source yang menyediakan pemetaan relasi Objek (ORM) untuk kode Python.

Genshi

Mesin template ini digunakan untuk membangun aplikasi TG front-end. Sistem template web menggabungkan template dengan sumber data tertentu untuk merender halaman web dinamis.

ToscaWidgets

Ini adalah pustaka widget untuk menghasilkan formulir HTML dengan kontrol sisi server. Tosca juga bertindak sebagai middleware untuk terhubung dengan widget dan toolkit JavaScript.

Gearbox

Ini menyediakan sekumpulan perintah untuk mengelola proyek dan aplikasi server TurboGears. Aplikasi TurboGears dapat digunakan di server web yang mendukung WSGI.

Web Server Gateway Interface (WSGI) telah diadopsi sebagai standar untuk pengembangan aplikasi web Python. WSGI adalah spesifikasi untuk antarmuka universal antara web server dan aplikasi web. Paket wsgiref adalah implementasi referensi dari WSGI. Ini digunakan untuk menambahkan dukungan WSGI ke web framework TurboGears web. Modul simple_server dalam paket ini mengimplementasikan server HTTP sederhana yang melayani aplikasi WSGI. Kami akan menggunakannya untuk menguji aplikasi yang dikembangkan selama tutorial ini.