Opinion

Lagi-Lagi Framework

[Ilustrasi: manchesterlibrary | flickr.com]
Saat ini di dunia pemrograman perangkat lunak banyak sekali bertebaran framework baik itu untuk pengembangan website maupun pengembangan API. Hampir semua bahasa pemrograman populer  memiliki framework, misal :

PHP

  1. CakePHP
  2. Laravel
  3. Slim
  4. Phalcon

Python

  1. Django
  2. Flask
  3. Tornado
  4. Bottle

Ruby

  1. Ruby On Rails
  2. Sinatra

Scala

  1. PlayFramework
  2. Finatra
  3. Scalatra
  4. Lift

Java

  1. SparkJava
  2. Undertow
  3. PlayFramework – Java
  4. Spring MVC

Framework-framework yang saya sebutkan di atas ini, cukup terkenal di masing-masing komunitasnya dan cukup terpelihara dengan baik.

Sebelum lebih masuk ke inti topiknya, mari kita cari tahu dulu apa sebenarnya framework itu?

In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software.

Sumber: Software Framework

Ada 2 poin penting dari definisi di atas:

  1. Abstraction
  2. Generic functionality

Hampir sebagian besar framework-framework besar saat ini pasti akan memberikan dua hal ini. Dengan adanya dua poin ini, maka framework akan memudahkan programmer dalam membangun sebuah aplikasi terutama ketika bekerja dalam sebuah tim.

Ketika bekerja sendirian, seorang programmer tidak perlu membangun semuanya dari awal, karena fungsi-fungsi yang biasanya dibutuhkan dalam proses pembuatan software (web) sudah disiapkan oleh frameworknya, contoh: manajemen database, manajemen session.

Ketika bekerja dalam tim pun, selain kemudahan yang didapat ketika bekerja sendirian, semua programmer dalam tim tersebut otomatis terbantu untuk bekerja dengan cara atau struktur yang (seharusnya) serupa.

Namun, inti dari tulisan ini bukanlah mengajak teman-teman programmer lainnya untuk “Ayo kita bikin sebuah framework baru,” tapi justru kebalikannya, “Framework-framework di luar sana sudah cukup banyak, mari kita gunakan.” Atau, “Ayo kita ikut kontribusi ke framework yang sudah ada.”

Sampai saat ini, saya melihat masih banyak programmer-programmer (rata-rata masih fresh graduate / muda), yang sangat bersemangat untuk membangun frameworknya sendiri, mungkin dengan harapan bisa terkenal seperti DHH atau Taylor Otwell. Tentunya ini tidak salah dan memang merupakan hak masing-masing untuk membangun framework milik mereka sendiri. Namun ada satu hal yang menurut saya penting, yaitu, apakah mereka bisa bertanggung jawab terhadap framework milik mereka ini nantinya?

Banyak framework bermunculan, tetapi banyak juga yang menghilang entah kemana. Yang kadang terjadi adalah, seseorang berusaha untuk “mempromosikan” frameworknya kemana-mana, tetapi kemudian tiba-tiba menghentikan proses support atau bahkan paling ekstrim adalah menghentikan proses pengembangannya.


Jangan lupa ikuti kami di Twitter untuk mendapatkan update terbaru dari @LabanaID