Kesan Pertama kenal Python/Django

Bismillahirahmanirahim…

Ini adalah postingan pertama di tahun 2016, semoga bisa lebih rajin posting lagi di tahun ini. Sebenarnya banyak ide ide segar yang siap untuk di bagikan, tapi sayang sekali untuk menuangkanya dalam postingan blog agak lumayan susah menemukan moodnya.

Di akhir tahun 2015 rasa penasaran saya menuntun untuk mempelajari web framework Django. Salah satu framework berbasis python yang digunakan untuk mempermudah pembuatan sebuah halaman web. Sebelum sebelumnya konsentrasi saya terpusat pada beberapa framework php, yakni laravel dan Yii. Karena saya ini newbie yang masih belum menemukan jati diri, makanya saya masih bingung menentukan jalan hidup saya dalam memilih untuk fokus ke bahasa / framework yang mana, halah.

Suka dengan fitur Django

Berikut ini beberapa fitur yang paling saya sukai di django.

  1. Django ORM - akhir akhir ini saya lebih suka dengan ORM karena memudahkan kita dalam mengakses ke database tanpa mengetik query secara manual, dengan orm data yang kita miliki akan lebih mudah di gunakan karena akan berbentuk Objek.
  2. Migration - Pertama kenal dengan database migration sebelumnya di laravel, salah satu framework php yang pernah saya pelajari beberapa waktu yang lalu. Migration akan memudahkan kita dalam manajemen perubahan skema database, perubahan ini juga dapat di rekam oleh SVN (Git, dll) karena dia berada pada sebuah function pada file migration. Database migration juga sangat berguna sekali apabila dalam suatu project dikerjakan oleh beberapa orang pada lokasi yang berjauhan (Menggunakan Git tentunya).
  3. Template - Pertama kenal template engine juga di laravel (Blade) saya rasa ini tidak jauh berbeda dengan template engine di laravel.
  4. Python - Yay, lama kelamaan saya suka dengan bahasa python. PHP lama kelamaan di ikuti semakin membuatku bingung, atau mungkin otak saya sudah lelah memperlajari php, halah.
  5. App - Di django, kita bisa mengelompokkan beberapa app dalam suatu project, hal ini akan sangat berguna apabila kita mengerjakan proyek yang besar, karena file code kita akan tersusun dengan rapih.
  6. Banyak Plugin / Library - Kalau di php ada namanya composer, kalau di python ada namanya pip. Sebuah depedency manager milik python yang bekerja seperti composer, gunanya ya untuk menentukan depedensi library suatu project. Di python sendiri juga ada repository untuk mencari beberapa library yang kita butuhkan yaitu pypi.python.org.
  7. Forms - di django kalau kita mau buat form juga sudah di permudah
  8. Autentikasi Lebih mudah - Membuat form login di django hanya butuh beberapa baris kode saja (dibanding dengan framework lain)
  9. Django Admin - di Django sudah tersedia halaman administrator, kita tinggal melakukan kustomisasi saja. Disana kita sudah di sediakan CRUD.
  10. Secure - Di django juga sudah terdapat beberapa fitur build in yang menangani security. Jadi tidak usah khawatir mengurusi soal security, kita fokus koding saja.

Django VS Framwork Lain

Berikut ini opini saya saja (mengandalkan perasaan, halah), jadi hanya bersifat personal. Pendapat orang beda beda, silahkan nilai menurut hati nuraini masing masing :)

  1. VS Laravel Sebelum kenal django, saya mempelajari laravel, sampai sampai membeli ebook juga yang harganya lumayan mahal untuk kantong saya. Tapi apa daya, ebook yang saya beli menggunakan laravel versi 4.x sedangkan pada saat itu laravel sudah ada versi 5.0. Dan yang membuat saya sakit hati, ternyata antara versi 4.x dan versi 5.0 susunan kodenya sudah beda. Bahkan versi 5.0 dan versi 5.1 juga sudah berbeda, disitu kadang saya merasa sedih jika setiap ada update harus mempelajari ulang. Walaupun secara garis besar fitur laravel juga hampir sama yang dimiliki oleh Django (ORM,Tempate, dll)
  2. VS Yii2 Yii2 juga salah satu framework yang pernah saya lirik, gara gara sakit hati sama laravel akhirnya saya mengincar Yii2. tapi apa daya yii2 juga tidak kalah ribetnya. Hal pertama yang saya soroti adalah soal prety url, secara default yii tidak menerapkan hal ini. Walaupun sempat suka dengan yii, tapi akhirnya saya pindah ke Django.
  3. Codeigniter - Salah satu framework yang fiturnya kalah dibanding 2 framework php diatas, apalagi django. Di codeigniter setahu saya belum menggunakan ORM, masih menggunakan active record dan tidak ada database migrations. Biarpun begitu, code igniter adalah framework php pertama yang saya pelajari, berkat dia saya jadi belajar OOP lebih mendalam. haha
  4. Ruby on Rails - Nah ini, saya baru liha saja sudah pusing duluan, tapi katanya RoR ini lebih efisien daripada django, tapi katanya juga banyak magicnya sehingga kita tidak tahu apa yang sedang terjadi pada alur kode kita. pernah melirik sebentar, tapi merinding duluan. Mungkin lain kali di coba Sementara itu dulu, mungkin next post akan posting tutorial dasarnya Django, untuk mengasah skill saya sendiri dan sekalian berbagi dengan teman teman yang saya cintai :*.