Rabu, 17 Mei 2017

Perbandingan 3 Framework PHP Symfony,Zend dan CodeIgniter

Saya akan membahasa dan membandingkan 3 framework PHP.


                Pertama kita akan membahasa , Apa itu Framework ?

Framework adalah sebuah kerangka kerja, dimana kerangka kerja tersebut dapat memudahkan pekerjaan kita. Terutama untuk para programmer membuat aplikasi atau web yang isinya adalah berbagai fungsi,plugin dan konsep sehingga membentuk suatu system tertentu.

   Apa itu Framework PHP ?

Framework PHP adalah sebagai suatu kerangka kerja yang telah terpola dan memudahkan pengembang web dalam pembuatan web yang menggunakan script PHP.framework PHP sudah mengatur sedemikan efisien pola-pola tertentu dengan class (yang meringankan kita dalam penulisan script dan load halaman web).

PHP framework berbeda jika kita bandingkan dengan CMS, kalau PHP framework kita membuat web dengan menggunakan script atau kode-kode tertentu,sedangkan CMS mebuat web tidak harus menggunakan script atau koe-kode tertentu.

PHP Framework menggunakan metode pengembangan berbasis MVC (Model,View,Controller) ,merupakan suatu metode untuk memisahkan bagian-bagian dari suatu web aplikasi.


Pembahasan dan perbandingan 3 Framework PHP,

1.     Symfony


Symfony adalah salah satu framework php yang bersifat open source (gratis),symfony juga berbasis OOP(object oriented programming).

Beberapa istilah,teknologi dan metodologi yang digunakan oleh symfony:

·   ORM, Object Relational Mapping, Suatu metode dimana anda (diharapkan) tidak “menyentuh” data (database) secara langsung. Namun sebagai gantinya anda akan menggunakan objek-objek yang menjadi interface program anda dengan database.
·    YML, Bagi anda yang sudah familiar dengan XML, seharusnya tidak ada masalah dengan YML. YML, seperti halnya XML, YML adalah file penyimpan data dengan format dan aturan tertentu. YML dibanding XML, lebih simple dalam hal penulisan, karena tidak mengenal tag. Tag dalam XML digantikan dengan spasi di YML.
·   CRUD, Create, read, update and delete. Aplikasi paling bagus, canggih dan unik sekalipun, pasti memiliki dan atau mengkombinasikan empat kemampuan dasar ini. Buat, baca, sunting, hapus. Symfony dapat membuat kemampuan dasar ini jauh lebih mudah dan cepat.Dan masih banyak lagi lainnya.


Kelebihan :

1.       Dukungan terhadap AJAX,ORM.
2.       Kompatibel dengan berbagai macam database.
3.       Cepat,mudah diadaptasikan.
4.       Mudah dikembangkan dan diperluas.

Kekurangan :

1.       Tidak mendukung PHP4.
2.       Relative butuh waktu lama untuk mengerti framework ini.
3.       Instalasi dan konfigurasinya cukup rumit.

2.     ZEND


Zend Framework didasarkan pada kesedrhanaan,berorientasi objek, lisensi ramah perusahaan. Zend Framework difokuskan pada membangun web lebih aman,handal dan modern. Zend juga memiliki karakteristik modular dan lengkap. Framework ini seringkali menjadi sandaran bagi situs-situs besar seperti Ning,Google,Amazon dan Flickr.

           Kelebihan :

1.       Dukungan terhadap AJAX,ORM.
2.       Focus dari Zend framework ini adalah untuk membangun aplikasi berbasis web dan untuk memudahkan dalam mengakses API dari berbagai vendor seperti Google,Amazon, Yahoo dll.
3.       Bersifat open source.
4.       Menggunakan kode berorientasi objek.

Kekurangan :

1.       Tidak mendukung PHP4.
2.       Manual yang ada kurang mengakomodasi kebutuhan.
3.       Performanya relative lambat.
4.       Framework ini cocok untuk programmer dengan kemampuan tinggi.


3.     CodeIgniter


Codeigniter adalah Framework pengembang aplikasi yang digunakan oleh para web developer dalam membangun web. Tujuannya adalah untuk memungkinkan anda untuk mengembangkan proyek-proyek jauh lebih cepat dari yang anda bisa. Codeigniter memungkinkan anda kreatif focus pada proyek dengan meminimalkan jumlah kode yang dibutuhkan untuk tugas yang diberikan.

            Kelebihan :

1.       Mudah digunakan dan tidak memerlukan konfigurasi yang rumit.
2.       Fungsi-fungsi pendukung yang cukup lengkap.
3.       Mendukung PHP4 dan PHP5.
4.       Merupakan Framework MVC popular dan paling banyak digunakan.
5.       Dokumentasi sangat bagus.
6.       Menghemat waktu 2 kali lipat.
7.       Security lebih kuat.
8.       Kode program lebih rapih.

Kekurangan :

1.       Tidak menggunakan AJAX,ORM.
2.   Menyediakan dan memisahkan MVC pattern tapi masih memberikan kebebasan untuk melanggar aturan MVC.

Perbandingannya, kalau Symfony dia cepat namun instalasi konfigurasinya rumit, sedangkan Zend powerfull karena dukungan library banyak,yang membuat rumit pada konfigurasi awalnya yang harus via terminal,untuk load nya juga sedikit berat. Kalau CI (codeigniter) lebih ringan ,walaupun library nya tidak sebanyak Zend, dan CI tidak perlu setting via terminal terlabih dahulu.

Daftar Pustaka

http://www.devaradise.com/id/2013/12/mengenal-pengertian-framework-website.html
http://tutorial.dumbstrack.org/mengenal-framework-php-dan-jenisnya/
https://cepilitok.wordpress.com/2009/03/24/apa-itu-symfony/
https://phphanifa.wordpress.com/2008/04/27/symfony-bab-1-perkenalan/
https://en.wikipedia.org/wiki/Object-relational_mapping
https://en.wikipedia.org/wiki/Create%2C_read%2C_update_and_delete
https://en.wikipedia.org/wiki/YML
http://konangweb.com/read-22-pengertian-framework.html
http://pemrogramanwebframework.blogspot.co.id/2015/03/perbandingan-antara-cms-dan-                   php_4.html
http://tutorial.dumbstrack.org/mengenal-framework-php-dan-jenisnya/