Wednesday, June 19, 2019

Migrasi Aplikasi dengan Python


Masih banyak yang masih menganggap pemrograman python adalah pemrogaraman untuk pengerjaan hal-hal analisis data, dan belum banyak yang mau move on untuk menggunakan pemrograman python yang imut imut ini, kecil dan powerful seperti halnya framework  Flask dan Django. 

Saya coba racuni penggunaan pemrograman python di beberapa institusi yang sudah saya kenal , tapi ya memang nampaknya memang sulit, programmer di Indonesia yang lebih banyak menggunakan Pemrograman PHP dengan Framework CI, Laravel , YI yang mau move on dan mengenal python. Makanya saya coba kerjakan beberapa aplikasi yang gak berbayar dengan menggunkan Flask Python dan membandingkannya dengan aplikasi yang dibangun oleh mereka yang menggunakan bahasa pemrograman yang biasa mereka pergunakan.

Dari templates front end semuanya sama , dan mereka membandingkan hasil kerja dari web yang menggunakan python dengan web yang bukan menggunakan python ( non python ) dan hasilnya mereka tetap saja diam. Mungkin karena nanyanya sama pengguna sehingga mereka tidak mengerti apa bedanya pakai python ataupun yang lain yang penting mereka bisa menggunakan aplikasi tersebut.

Nah inilah yang menjadi tambahan pengalaman  karena ternyata pengguna itu tidak melihat pakai python atau bukan yang penting cepat dan mudah dipakai . Akahirnya kalau mengerjakan aplikasi saya tidak pernah menyebutkan menggunakan python , yang penting mereka para pengguna enjoy menggunakan aplikasi tersebut . dan saya tidak diribetkan dengan bugs yang terkadang membuat celah aplikasi di retas. Kecuali ada orang yang ngerti pemrograman dan nanya pakai apa , baru saya jawab pakai "Python".

Sejak awal mengenali python pada waktu membangun layanan Streaming di tahun 1999 , dan uji coba dibeberapa mesin cloud python . Perkembangan python sangatlah cepat hal ini terjadi karena kebutuhan bahasa pemrograman yang dapat dengan mudah beradaptasi dengan IoT, AI, Cloud, Big Data ataupun data analisis , dan alternatif pemrograman open source yang mampu berikan seluruh proses itu adalah pemrograman python.

Saat ini saya telah buatkan sebuah aplikasi tidak berbayar untuk layanan event , yang secara otomatis aplikasi mambuat layanan qrcode untuk peserta event dan seluruh kontrol event dilakukan oleh aplikasi tersebut dengan cukup menggunakan Qrcode yang di push melalui Json . Semua ini hanya bekerja dengan menggunakan satu database .

So... anda mau migrasi dan outofthebox dari pemrograman biasanya ?

Forum Diskusi Pythonesia menggunakan Flask Microframework

Beberapa kali ujicoba pembuatan aplikasi menggunakan Google Appspot Engine ( yang gratisan ) banyak pembatasannya terutama tidak bisa digunakan untuk membuat database Sqlite , dan untuk untuk upload file harus menggunakan Storage yang terpisah dan harus menggunakan API Storage google . Alternatifnya pakai Pythonanywhere namun itu pun ada batas waktu dan harus direload oleh kita sendiri dalam beberapa waktu yang ditentukan ( catatan ini yang grentongan ya...).

Alternatif percobaan menggunakan openshift , ini lebih full tappi tetap aja grentongannya hanya 3 bulan, beda banget saat masih menggunakan openshift pertama kali yaitu openshift v2 . Jadi akhirnya aku coba cari hosting python yang sedikit miring harganya dan bisa run pyhon , soalnya banyak hostingan cpanel yang tidak menyediakan untuk  python .

Akhirnya dapat juga sebuah hosting yang lumayan miring harganya, saya coba hosting selama 6 bulan dulu. Adaptasi untuk penggunaan cpanel python ini hanya beberapa jam karena sistem kerjanya sama seperti dengan virtenv python. Namanya phusion passenger untuk server webnya.

Selanjutnya satu minggu ini coba saya buatkan aplikasi Forum Diskusi dengan menggunakan Microframework Flask saat ini versi beta sudah aktif , walau masih dalam proses tambahan pemberian komentar diskusi .

Untuk melihat dan mencoba forum diskusi tersebut silahkeun meluncur di https://pythonesia.org . Secara umum aplikasi ini dibuat dengan menggunakan Flask Microframework module yang digunakan adalah :
  1. Flask Mail untuk pengiriman email otomatis ( send mail ).
  2. Module Sqlite3
  3. Module Random string
  4. Module Hash untuk enkripsi
  5. Template menggunakan free template bootstrap yang sederhana
  6. Page halaman template yang digunakan 12 halaman dengan menggunakan teknik Jinja2.
kekurangan dari aplikasi yang saya buat ini adalah saat send mail , maka prosesnya sedikit lama . mungkin dikarenakan pengiriman emailnya yang terkadang butuh bandwidth di server yang cukup lumayan . Tapi mungkin hanya 4 detik saat registrasi dan email sudah terkirim.