Monday, February 28, 2011

Beda Penerapan Django di App Engine

Saya pernah menulis bahwa penggunaan web framework akan mempermudah kita dalam pengembangan aplikasi web yang sedang kita buat karena semua modul dan library yang kita butuhkan sudah tersedia dan untuk modul-modul standard Python tertentu juga sudah 'didevelop' sedemikian rupa hingga kita dapat mudah menggunakannya sesuai kebutuhan kita.

Begitu juga dengan Django di App Engine, karena sudah terintegrasi dengan sistem server App Engine ada beberapa fitur dan ability Django yang memang sengaja ditiadakan terutama modul model standar Django hingga perintah yang berhubungan dengan model seperti, 'manage.py sql', 'manage.py syncdb', 'manage.py validate' dan lain-lain tidak dapat digunakan bahkan App Engine juga memblok import modul yang berhubungan dengan model Django seperti untuk mermbuat dan menghapus database test.

Di App Engine hampir sebagian besar fungsi yang berhubungan dengan model Django tidak digunakan karena App Engine menggunakan model sendiri yang khusus dirancang untuk database default miliknya yang sering disebut 'Datastore' dengan tipe data yang sedikit berbeda dengan model Django.

Begitu juga dengan perintah 'django-admin.py startproject' tidak dibutuhkan karena saat kita menginstal/mengekstrak Google App Engine Helper for Django dan Django ke dalam folder aplikasi App Engine secara otomatis folder project yang kita buat akan menjadi project Django yang akan kita buat aplikasinya, bila setting dan instalasi sudah berhasil (untuk test jalankan perintah 'manage.py runserver'), kita hanya tinggal menjalankan perintah 'manage.py startapp' dan bisa mulai mendevelop aplikasi kita dalam folder yang sudah terbentuk setelah kita jalankan perintah manage.py startapp.

Hal ini tentu cukup 'aneh' bagi orang yang telah familiar dengan Django standar. Bagi Anda yang mau belajar Django dan ingin langsung mengupload aplikasi Django tersebut ke server untuk dicoba dengan gratis saya rasa tidak ada salahnya untuk belajar dengan memanfaatkan App Engine tapi walau begitu saya tetap menganjurkan untuk tetap mempelajari Django standar (lewat dokumentasinya di website Django).

No comments: