Motivasi Pembuatan Phalcon

Ada banyak sekali framework PHP sekarang ini, tapi tak ada satupun yg seperti Phalcon (Sungguh, percaya saja yg satu ini).

Hampir semua progammer lebih suka menggunakan framework. Terutama karena menyediakan banyak fungsionalitas yg telah teruji dan siap digunakan, oleh karena itu, menjaga kode DRY (Don’t Repeat Yourself = mengulang pekerjaan yg sama). Bagaimanapun jg framework itu sendiri membutuhkan banyak sekali file include dan ratusan baris kode untuk diinterpretasikan dan dieksekusi pada tiap request dari (kode) aplikasi yg sesungguhnya. Object-Oriented framework juga menambah banyak beban kerja eksekusi membuat aplikasi kompleks lambat. Semua operasi ini memperlambat aplikasi dan berdampak pada end user experience.

Pertanyaannya

Mengapa kita tak bisa memiliki framework yg kuat dgn semua kelebihannya tanpa atau dgn sedikit sekali kekurangan?

Inilah mengapa Phalcon dilahirkan!

Selama beberapa bulan, tim pengembang secara mendetail meneliti perilaku PHP, menginvestigasi area untuk optimalisasi yg signifikan (kecil maupun besar). Melalui pemahaman ini, pengembang berhasil untuk menghilangkan validasi yg tak perlu, meringkas kode, optimalisasi performa dan generate solusi low-level, tingkat-dasar, sehingga mendapatkan performa maksimum dari Phalcon.

Mengapa?

  • Penggunaan framework sudah menjadi keharusan dalam pengembangan PHP professional.
  • Framework menawarkan filosofi terstruktur untuk menjaga penulisan kode projek lebih pendek dan bekerja lebih menyenangkan.
  • Kecintaan thd PHP dan ide bahwa PHP dapat digunakan untuk membuat proyek yg lebih besar dan ambisius.

Proses kerja dalam PHP?

  • PHP punya tipe variabel dinamis & lemah. Tiap kali operasi biner (misal: 2 + “2”), PHP mengecek tipe operand untuk melakukan konversi yg harus dilakukan
  • PHP adalah bahasa interpreted dan bukan compiled. Kekurangan utamanya adalah performa yg buruk.
  • Tiap kali operasi skrip diminta, request, skrip tsb harus diinterpretasikan/dikonversi terlebih dahulu (interpreted)
  • Bila bytecode cache (seperti APC) tidak digunakan, pengecekan sintaks dilakukan setiap saat menerima request

Bagaimana framework PHP tradisional bekerja?

  • Banyak file dgn classclass dan banyak fungsi dibaca pada tiap proses request. Pembacaan Disk sangat memberatkan dalam konteks performa, terutama ketika struktur file folder yg dalam.
  • Framework modern menggunakan lazy loading (autoload) untuk meningkatkan performa (untuk me-load & eksekusi kode yg dibutuhkan saja)
  • Beberapa class mengandung perintah yg tidak digunakan pada tiap request tapi selalu di-load, mengkonsumsi banyak memory.
  • Terus menerus loading (file) atau interpreting sangat memberatkan & berpengaruh pada performa
  • Kode framework tidak sering diubah, akan tetapi aplikasi harus melalui proses load & interpret setiap menerima request

Bagaimana PHP C-extension bekerja?

  • C-extension di-load bersama dgn PHP sekali saat daemon webserver memulai proses
  • Class & Function yg disediakan oleh ekstensi siap digunakan untuk semua aplikasi
  • Kode tidak melalui proses interpret karena telah di-compile ke platform & prosesor tertentu
  • The code isn’t interpreted because is already compiled to a specific platform and processor

Bagaimana Phalcon bekerja?

  • Komponen fleksibel, tidak saling bergantung. Dengan Phalcon, tak memaksa Anda: Anda bebas menggunakan framwork seutuhnya atau hanya sebagian sebagai perekat antar komponen
  • Optimalisasi low-level menyediakan beban teringan untuk aplikasi berbasis MVC
  • Interaksi dgn database dgn performa maksimum dgn menggunakan ORM berbahasa C untuk PHP
  • Phalcon secara langsung mengakses struktur PHP internal cara tersebut juga akan mengoptimalkan eksekusi

Mengapa Phalcon dibutuhkan?

Kebutuhan & tugas tiap aplikasi berbeda. Beberapa di-desain untuk melakukan serangkaian tugas dan generate konten yg jarang berubah. Aplikasi ini dapat dibuat dgn berbagai bahasa pemrograman atau framework. Menggunakan cache front-end biasanya cukup untuk aplikasi semacam itu, tak perduli seberapa buruk desainnya atau lambat, akan tampil sangat cepat.

Aplikasi lainnya generate konten hampir seketika berubah dr request ke request. Pada kasus ini, PHP digunakan untuk mengarahkan semua request dan generate konten.  Aplikasi ini bisa berupa API, forum diskusi dgn traffic yg tinggi, blog dgn jumlah komentar & kontributor yg tinggi, aplikasi statistik, dashboard admin, enterprise resource planners (ERP), software business-intelligence yg menghadapi data realtime dan lain sebagainya.

Aplikasi akan melambat sebagaimana lambatnya proses/komponen. Phalcon menawarkan kecepatan namun tetap kaya fitur yg menjadikan developer untuk konsentrasi pada pembuatan aplikasi/membuat kode secara cepat. Mengikuti proses coding yg tepat, Phalcon dapat memberikan banyak fungsionalitas/request dgn konsumsi memory & lingkaran proses yg lebih sedikit.

Kesimpulan

Phalcon adalah sebuah usaha untuk membangun framework PHP yg tercepat. Sekarang Anda memiliki cara yg lebih mudah & kuat untuk mengembangkan aplikasi dgn sebuah framework dgn implementasi filosofi “Performance Really Matters”! Nikmatilah!

Terjemah dari Motivasi Pembuatan Phalcon
http://docs.phalconphp.com/en/latest/reference/motivation.html