Introduction to Flask — oleh Ikhsan N. Rosyidin

Mahrus Khomaini
NgalamBackend
Published in
3 min readMay 31, 2021

Februari 2021, Ngalam Backend Community (NBC) kembali mengadakan meetup berupa special webinar dengan menghadirkan pemateri yang sangat menarik yakni Ikhsan N. Rosyidin, DevOps Engineer at Traveloka.

Meetup kali ini sangat spesial karena bertepatan dengan anniversary NBC yang ke-2 sebagai komunitas IT yang aktif di Malang. Semoga NBC menjadi lebih baik dan terus berpartisipasi dalam perkembangan dunia IT khususnya bidang backend technology, sehingga dapat memberikan dampak positif bagi pegiat IT setidaknya yang berada di Malang.

Source: https://id.wikipedia.org/wiki/Flask (with custom background)

What is Flask?

Flask merupakan web framework yang sangat populer untuk membangun web menggunakan bahasa pemprograman python. Flask memiliki kerangka kerja yang relatif mudah digunakan dengan menyediakan kelas dan fungsi dasar siap pakai.

Banyak perusahan besar menggunakan flask diantaranya: Uber, Airbnb, Netflix, Reddit, selengkapnya di stackshare.io/flask, membuktikan bahwa flask merupakan framework yang powerfull untuk membuat web.

Why use Flask?

Banyak keunggulan ketika menggunakan flask, yaitu sebagai berikut.

  1. Small, Simple and Lightweight. Memiliki size yang relatif kecil dan cara penggunaan yang sederhana, sehingga web yang dibuat menjadi ringan dan lebih cepat. Cukup dalam sebuah file.py kemudian siapkan fungsi untuk meng-handle http request dan menentukan routing url nya, maka satu halaman web sudah bisa diakses. Selain itu, dari segi penggunaan resource seperti memory, relatif lebih kecil dibandingkan dengan python web framework lainnya.
  2. Extensible. Ada banyak python packages yang dapat diintegrasikan dengan flask untuk melengkapi, memudahkan, maupun menambahkan fitur extra sesuai dengan kebutuhan. Misal: SQLAlchemy, Flask-Login, Flask-User, dan lain sebagainya. See some awesome flask resource and plugins: Awesome Flask (humiaozuzu), Awesome Flask (mjhea0), Top Flask Open Source.
  3. Freedom, Flexible, and Full Control. Developer bebas untuk menggunakan suatu plugin ataupun tidak menggunakannya. Flask tidak mewajibkan untuk mengunakan plugin tertentu selain dari kode flask itu sendiri. Flask tentu tetap memiliki kerangka kerja ataupun prosedur yang biasanya diterapkan oleh developer, tetapi juga bisa jika tidak mau mengikutinya. Artinya developer dapat mengontrol penuh kerangka kerja saat menuliskan kode-kode permograman.
  4. Fast Start. Relatif lebih cepat ketika memulai membuat web, cukup install kemudian tentukan path url dan sebuah fungsi, tidak perlu setup maupun tambahan plugins khusus lainnya.
  5. Beginner Friendly. Relatif mudah untuk dipahami oleh pemula karena kerangka kerja dan cara penggunaan yang sederhana.
  6. Scalable. Meskipun ringan dan sederhana, web yang dibuat menggunakan flask tetap dapat dikembangkan menjadi lebih besar dan kompleks.

When to Not use Flask?

Berikut kekurangan yang perlu dipertimbangkan berupa alasan kapan sebaiknya tidak menggunakan flask.

  1. Too Many Choices. Banyaknya pilihan plugins menyebabkan developer terkadang kesulitan untuk memilih mana yang terbaik sesuai kebutuhan dari sekian banyak plugins untuk satu fitur.
  2. Decision is Made. Jika dari awal fitur yang akan dibuat telah disepakati dan kompleks, maka sebaiknya menggunakan framework lain yang sudah siap dengan fitur tersebut. Misalkan fitur dasar user yang kompleks membutuhkan group dan permissions (hak akses), maka dapat menggunakan Django karena telah menyediakan fitur tersebut. Jika tetap ingin menggunakan flask, maka perlu menentukan mana plugin yang sesuai, ataupun juga perlu membuat sistem user sendiri.
  3. Too Many Unstandardized Code. Karena flask bersifat bebas, terkadang antar developer dalam satu tim memiliki standar kerangka pengerjaan yang berbeda, sehingga kualitas kode yang dihasilkan kurang baik. Oleh karena itu perlu ditentukan standar sendir, tentu itu relatif sulit dan membutuhkan waktu. Sebaiknya menggunakan framework lain dengan kerangka kerja yang bersifat mengikat, tidak sebebas seperti flask.
  4. The Project is Too Big. Jika aplikasi terlalu besar dan kompleks maka sebaiknya menggunakan python web framework lain yang sudah siap dengan segudang fitur kompleksnya, sehingga pengembangan menjadi lebih cepat, konsisten, dan stabil.

How to Make Flask App ?

Install Flask

Pastikan telah ter-install bahasa pemograman python dengan asumsi telah menggunakan virual environment, maka install flask menggunakan pip:

pip install Flask

A Minimum Application

Buat sebuah file app.py berisi:

from flask import Flaskapp = Flask(__name__)@app.route("/")
def welcome():
return "Hi, Welcome to Flask. Enjoy learning."
@app.route("/hello")
def hello_world():
return "<h1>Hello World!</h1>"
@app.route("/user/<username>")
def user_detail(username):
return "Hello %s" % username

Kemudian jalankan:

flask run

Maka akan jalan pada http://127.0.0.1:5000/ dan menghasilkan url:

http://127.0.0.1:5000/ ==> fungsi `welcome`
http://127.0.0.1:5000/hello ==> fungsi `hello_world`
http://127.0.0.1:5000/user/mahruskh/ ==> fungsi `user_detail`

Lebih jelasnya lihat pada doc flask dan video youtube berikut.

Semua materi oleh Ikhsan N. Rosyidin.

Keep in touch with Ngalam Backend Community on: Instagram NBC, Telegram NBC Group, Whatsapp NBC Group, Twitter NBC, Facebook NBC.

--

--