Django Web Framework

Hai semuanya 😄 😅

Selamat datang kembali di akun ini. Semoga kita semua menjalani hari dengan indah.

Pekan keempat di dalam program Alpha Tech Academy (ATA), para mentee akan ‘disuguhi’ dengan sebuah kerangka terintegrasi untuk mengembangkan suatu aplikasi website berbasis model-view-controller (MVC). Kerangka yang akan digunakan secara khusus adalah Django framework.

Sebelum memasuki ‘dunia Django’, apa sih sebenarnya MVC itu? Bayangkan ketika kita diminta untuk membuat sebuah aplikasi web sederhana yang hanya memiliki beberapa lembar spesifikasi kebutuhan. Lalu dengan semangat kita langsung mengerjakan aplikasi web tersebut dan mulai membuat code. Ketika aplikasi web yang diminta selesai dikembangkan, ternyata klien meminta beberapa perubahan, lalu kita kembali bekerja untuk membuat perubahan. Hal ini dapat terjadi berulang kali hingga akhirnya code aplikasi yang kita buat tidak dapat dikenali lagi.

Code tidak dapat dikenali dapat terjadi karena banyak faktor. Misalnya, code untuk tampilan web user bercampur dengan code query database karena kita tidak fokus ketika mengerjakannya. Akhirnya, code tercampur dan sulit untuk diubah lagi karena perubahan di suatu tempat merusak code di tempat lain. Bisa juga terjadi code untuk penanganan kesalahan bercampur dengan code untuk user interface karena kita sedang terburu-buru ketika mengerjakannya. Code menjadi buruk dan sulit dikembangkan karena sudah bercampur-aduk.

Untuk menghindari tercampur-aduknya code, kita harus menerapkan pembagian fokus (separation of concern). Separation of concern adalah teknik membagi-bagikan code ke dalam beberapa bagian yang memiliki tanggung jawabnya masing-masing. MVC adalah salah satu implementasi dari separation of concern. Aplikasi web dibagi menjadi tiga bagian utama, yaitu:

  1. Model, yaitu bagian code aplikasi web yang berhubungan dengan database
  2. View, yaitu bagian code aplikasi web yang berhubungan dengan user interface
  3. Controller, yaitu bagian code aplikasi web yang menghubungkan antara model dan view

Arsitektur Sederhana MVC

Alur kerja aplikasi web ketika pengguna mengunjungi salah satu halaman, yaitu:

  1. Browser berhubungan dengan server untuk akses halaman web
  2. Request (permintaan) browser ditangani oleh bagian controller dari kode kita
  3. Controller akan melakukan pemanggilan ke model untuk mendapatkan data yang relevan dan mempersiapkan data tersebut untuk ditampilkan
  4. Controller memberikan data yang diperlukan kepada view
  5. View menampilkan data dan berbagai elemen antarmuka tambahan yang diperlukan

Nah, menyesuaikan dengan judul artikel ini, kita kembali ke pertanyaan “Apa itu Django?”. Django adalah free dan open-source framework full-stack berkonsep MVC untuk membuat aplikasi web dengan bahasa pemrogaman PythonFull-stack berarti Django melingkupi sisi depan (front-end) dan juga sisi belakang (back-end). Front-end adalah bagian aplikasi web yang terlihat oleh pengguna, sedangkan back-end adalah bagian yang berhubungan dengan database dan logika aplikasi web.

Django awalnya dikembangkan pada tahun 2003 dan 2005 oleh beberapa web developers yang bertugas merawat web portal dari newspaper website. Setelah membuat beberapa website, para web developer tersebut mulai membuat ulang kode-kode yang mereka pernah tulis dengan menerapkan beberapa design pattern, lalu disebarkan sebagai proyek open-source dengan nama “Django” pada bulan Juli 2005.

Ketika kita baru mengembangkan sebuah website, kita menghadapi serangkaian masalah yang mirip, yaitu: cara untuk menangani validasi pengguna website (signing up, signing in, signing out), cara pengaturan panel di website, pengisian formulir, upload files, dll. Kabar baiknya, para pionir web developers dahulu kala, menyadari bahwa web developers menghadapi masalah yang sama ketika mulai mengembangkan sebuah website. Lalu, mereka bekerja bersama dan menciptakan frameworks (Django salah satunya) yang memfasilitasi komponen-komponen yang siap digunakan.

Filosofi dari Django sendiri, yaitu “The web framework for perfectionists with deadlines” memungkinkan web developer membangun website secepat mungkin dengan kriteria tertentu. Kelebihan dari Django dibandingkan framework lain diantaranya:

  • Object-Relational Mapper (ORM): Merepresentasikan data model dari basis data yang dimuat dalam bentuk objek, sesuai dengan konsep pemrogaman kekinian yang berbasis object-oriented programming (OOP). Misalkan kita mau mem-fetch atau me-retrieve data, kita tidak perlu menuliskan sintaks SQL.
  • Automatic-Admin Interface: Django memahami situasi ketika kita harus menjaga kerahasiaan dan integritas data, Django menyediakan admin interface secara otomatis, tanpa perlu repot membuatnya. Halaman admin ini tidak boleh diakses oleh sembarang orang dan membutuhkan waktu yang relatif lama jika membuatnya sendiri.
  • Elegant URL Design: Pembuatan URL yang lebih mudah dan fleksibel.
  • Template System: Sistem templat yang powerful dan mudah dipelajari baik itu untuk web developer maupun web design serta mendukung template hierarchy (pewarisan).
  • Cache System: Sistem chace dapat digunakan dengan mudah.
  • Internationalization: Mempermudah web developer dalam membuat web multibahasa.
  • A Lightweight, Standalone Web Server for Development and Testing: Tidak perlu menginstall web server selama proses development, cukup dijalankan saja.

sumber:

Terima kasih telah mampir 😆 😅

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.