Tuesday, April 15, 2008

Why CI ?


Lagi nyari bahan untuk nulis, dapat beberapa pernyataan menarik dari Rick Ellis tentang sejarah mengapa CI dibuat. Berikut kutipannya :

"… I spent a couple weeks researching and installing PHP frameworks, really banging on quite a few of them, and I was absolutely dismayed. I discovered that most frameworks suffer from these problems:
  • They have horrid, terrible documentation, if it exists at all.
  • They make an endless number of assumptions regarding your knowledge and skill level, and generally expect you to figure it all out.
  • They are written for people who have root server privileges and can change system settings.
  • They assume that you have access to the command line. In fact, many do not work if you can't bash out commands.
  • They tend to require lots of dependencies, like the PEAR libraries or various open source ones.
  • They tend to be needlessly complex to use, with obtuse syntax, XML based templates, and other features that are simply not necessary for most web applications.
  • They are either ponderously big, or too minimalist to be useful.
  • The most current frameworks only run on PHP 5, which at present only has a 5% adoption rate.
I have yet to find a single PHP framework that is truly, really, actually simple to use, is thoroughly documented from top to bottom, natively includes all the tools needed to build robust applications, has a browser-based interface, and is designed for your average PHP coder, without admin privileges, who uses a standard hosting account. Not one. Which leads me to think there's a market for just such a product. …"

Sumber : www.ellislab.com


Ayo kita bahas ..

They have horrid, terrible documentation, if it exists at all.
Ini kerasa banget awal-awal gw belajar framework, ngeselin banget... Dokumentasinya dikit banget dan bahkan ada yang ga ada dokumentasi sama sekali. Framework kayak apa yang ga ada dokumentasi! Ada yang ngasih dokumentasi formatnya file .txt doank. Bilang dosen HCI (Human and Computer Interaction) gw, "User experience-nya nihil!". Bilang "they" sich, kalo mau yang ada user interfacenya beli bukunya di Amazon.Com ! Ada juga framework yang hanya menyediakan dokumentasi di situsnya sendiri. Kalo mau ada permasalahan apa-apa harus akses internet dulu.

* Ga sadar ya , kalo gw tinggal di Indonesia *.

Intinya jarang ada framework yang menyertakan dokumentasinya dalam satu paket saat unduhan.

They make an endless number of assumptions regarding your knowledge and skill level, and generally expect you to figure it all out.
Ahhh, status gw masih beginner, mungkin ga akan masalah bagi yang udah advance atau expert. Tapi ingat, yang udah jago PHP sekalipun bisa bingung juga dengan framework yang mereka pelajari dengan asumsi-asumsi "they" tentang pengetahuan pemakai. Ini biasa terkait dengan algoritma, penamaan variable, penamaan class, penamaan dan lain-lain, serta dokumentasi pastinya. Coba kalo asumsi "they" adalah "Yang pemakai framework ini adalah orang yang semangat belajarnya tinggi, jadi dengan ataupun tanpa dokumentasi mereka akan tetap mempelajari framework ini". Plis, dech ...

They are written for people who have root server privileges and can change system settings.
Ini kayaknya udah umum, untuk mengaktifkan framework "they" maka ada beberapa yang harus dikonfigurasi terlebih dahulu dari PHP atau servernya. Bayangin, kalo pakai hosting luar (ataupun gratisan) yang tidak mengizinkan penyetingan konfigurasi server oleh customer. Berabe dech ... Biasanya ini terkait dengan alasan keamanaan dari penyedia hosting.

They assume that you have access to the command line. In fact, many do not work if you can't bash out commands.
Inilah alasan mengapa gw kapok belajar Symfony , ... * ;p *

They tend to require lots of dependencies, like the PEAR libraries or various open source ones.
Umumnya terkait ke akses database, seperti PEAR dan AdoDB. Intinya gw malas berhubungan ama depedency. (Walau Linux selalu dekat dengan kata depedency.. hihi2x). Jangan dech, repot ... Setiap orang pasti ingin sesuatu yang sifatnya independent , ga tergantung ama yang lain, tetapi fleksibel bisa dihubungkan ama yang lain. Dan lain-lain....

They tend to be needlessly complex to use, with obtuse syntax, XML based templates, and other features that are simply not necessary for most web applications.
Seringkali sesuatu yang terlalu kompleks, berakhir dengan kata membingungkan. Banyak fitur-fitur yang tersedia menjadi terbuang percuma, karena emang ga kepakai. Terlalu memaketkan semua fitur menjadi satu, yang imbasnya menghabiskan space oleh fitur-fitur yang seharusnya tidak perlu. Dan satu hal yang sering terjadi, saat menambah fitur baru, struktur pemrograman menjadi rancu, koding khususnya.

They are either ponderously big, or too minimalist to be useful.
Idem ama yang di atas. Dan untuk yang minimalis, ya.. usaha sendiri memaksimalkan framework, usaha no. 1 !

The most current frameworks only run on PHP 5, which at present only has a 5% adoption rate.
Umumnya Only Run On PHP 5.1.2 or later . * Hayoo, ngutip framework yang mana nich ... *. CI disusun dengan PHP 4. ??? (lupa versi berapa :D ) . Secara pribadi gw biasanya mencampurkan PHP 4 dan PHP 5 dalam satu server. Program yang gw tulis PHP 5 tapi basisnya PHP 4. Ini karena basic gw PHP 5. Tapi dari itu semua ternyata CI kompatibel juga dengan sistem yang gw pakai tersebut. Di dokumentasinya udah dijelaskan juga secara rinci tentang pencampuran dua versi PHP tersebut. * Mana ada framework lain yang membahas tentang itu .. ^(^0^)^ .*

Kalo bicara sudut pandang si pemakai, rata-rata "they" mengasumsikan pemakai framework adalah mereka wajah-wajah baru generasi saat ini. Maklum, framework PHP umurnya masih muda banget (sejak akhir 2006 kalo ga salah.) Artinya sejak PHP 5 dirilis. Untuk programmer-programmer tua , yang udah familiar banget ama PHP 3 dan PHP 4. Kayaknya kalo mo belajar framework, udah "lelet" gitu. Jika itu asumsi "they" lho ... * Jangan tersinggung ya * ... Alasan lain (yang lebih masuk akal) adalah prediksi jangka pemakaian yang relatif lama jika memakai PHP 5.


Nah, karena alasan-alasan yang dikemukan Rick Ellis tersebutlah, dibangunlah CodeIgniter. Yang menjadi solusi dari semua permasalah di atas.

Saat anda membuka situs CI, akan anda jumpai pertama kali pernyataan berikut :

CodeIgniter is right for you if:
  1. You need exceptional performance.
  2. You need broad compatibility with standard hosting accounts that run a variety of PHP versions and configurations.
  3. You want a framework that requires nearly zero configuration.
  4. You want a framework that does not require you to use the command line.
  5. You want a framework that does not require you to adhere to restrictive coding rules.
  6. You are not interested in large-scale monolithic libraries like PEAR.
  7. You do not want to be forced to learn a templating language (although a template parser is optionally available if you desire one).
  8. You eschew complexity, favoring simple solutions.
  9. You need clear, thorough documentation.

Perkembangan CI di Indonesia

Komunitas CI di Indonesia secara fisik baru terbentuk awal-awal tahun 2008 kemarin. Diprakasai oleh ... Chandra Mulyana terbentuklah milis CodeIgniter, kemudian secara bertahap terbentuk situs Komunitas CodeIgniter Indonesia yang dibangun oleh Sauvarna.

Saat ini jumlah anggotanya lebih dari 88 orang.

Pengen berkenalan lebih jauh dengan komunitas CI-id , monggo mampir di milis dan situsnya.


Situs-situs portal Indonesia yang memakai CI


So... , Why CI ?

If you already know some PHP and are writing intelligent websites, the CodeIgniter framework is all about making your life easier. It helps you

  • Save time
  • Make your site more robust
  • Achieve more sophisticated coding

It makes coding fun again, rather than a chore.

Sumber : CodeIgniter for Rapid PHP Application Development by David Upton


1 comment:

Rudi-est said...

Fred... ado.. dokumen yang in Bahasa ngga yang lengkap abis... atau bisa dak minta 'source' yang udah 'Ang' buek??? (hehehhhe maunya)