Menggunakan CMS atau Framework?

Saya termasuk orang yang mengembangkan website tanpa pernah membuatnya dari nol. Maksudnya, saya tidak membuat komponen dari website itu secara manual satu demi satu. Mulai dari arsitektur website, komponen modul, file uploader, user access, image manager, dll. Biasanya semua dilakukan dengan menggunakan CMS yang OpenSource, seperti WordPress dan Drupal (jaman dulu juga termasuk PHPNuke). Biasanya memang saya melakukan modifikasi disana – sini agar website ini bisa bekerja sesuai keinginan. Umumnya akhirnya website tersebut akhirnya bisa berjalan sesuai harapan.

Tetapi kemudian datang masalah seperti berikut ini :

  1. Website tersebut membutuhkan galery foto dengan fasilitas slideshow.
  2. Website tersebut membutuhkan katalog produk.
  3. Website tersebut ingin mengimplementasikan fasilitas social network.
  4. Website itu ingin menyediakan fasilitas bagi membernya untuk bisa mengupload file MP3. Dan tiap member nantinya bisa mengatur level akses terhadap file MP3 yang dia upload.
  5. Website tersebut ingin mempunyai form yang terintegrasi untuk arsip wawancara.
  6. dll

Jika saya menggunakan CMS seperti Drupal. Mungkin hal ini masih bisa ditangani dengan ketersediaan modulnya yang sangat banyak. Atau jika memang modulnya belum tersedia, kita bisa membuat sendiri. Selain itu jika kurang puas, kita masih bisa melakukan oprek lebih dalam dengan menggunakan API yang disediakan Drupal. Dengan tujuan agar website ini sesuai dengan apa yang kita inginkan.

Tetapi, hal ini bisa jadi merupakan masalah baru. Tentunya kadangkala hal ini bisa menjadi solusi untuk satu masalah tetapi bukan tidak jarang malah menimbulkan masalah baru. Beberapa skenario yang sering terjadi :

  1. Modul untuk CMS tersedia. Tetapi ada bagian yang tidak sesuai, bahkan mungkin ada bagian yang akhirnya malah terasa mengganggu. Misal modul e-commerce dari Drupal menyediakan begitu banyak fasilitas yang pada kenyataannya tidak saya butuhkan. Sedangkan untuk beberapa bagian justru masih belum sesuai harapan. Dan untuk bisa merubah modul ini, kita harus memahami hampir kesuluruhan struktur modul ini. Ditambah pengetahuan tentang API dari Drupal.
  2. Terlalu banyak pilihan modul. Misal modul untuk upload gambar di Drupal. Secara default tidak ada. Kita masih bisa menginstal modul tambahan, sehingga nantinya upload gambar di Drupal akan semudah di WordPress. Tetapi ketika sampai di tahap theming, saya menyadari bahwa field untuk gambar hasil upload modul tersebut tidak bisa diakse langsung. Berbeda dengan image yang diupload menggunakan bantuan module Image Field (CCK).
  3. Dengan API yang disediakan, kadangkala kita masih membutuhkan pengetahuan tentang API lain. Dan pada akhirnya mau tidak mau saya harus mempelajari banyak API, hanya untuk mengetahui bagian mana dari API ini yang tepat untuk solusi masalah saya.
  4. Salah satu hal yang paling sulit adalah merubah alur kerja dari website ini. Misal jika user ingin register, tidaklah langsung ditampilkan ke halaman register, tetapi harus melalui satu halaman polling terlebih dahulu. Untuk bisa mengimplementasikan ini, secara tidak langsung kita harus tahu alur kerja (workflow) dari CMS yang kita gunakan.
  5. Butuh field yang custom untuk tiap post (tidak hanya field TITLE dan POST saja). Secara default WordPress menyediakan fasilitas Custom Fields, tetapi penggunaannya masih belum senyaman CCK di Drupal. Untuk itu harus dibuat modul sendiri.
  6. dll

Jika memang akhirnya saya ingin menjadi ahli dari CMS tersebut, saya rasa tidak masalah untuk mengikuti solusi yang saya berikan di atas. Tetapi jika saya hanya ingin menggunakan CMS ini sebagai bantuan, sepertinya effort nya terlalu besar.

Bahkan tidak jarang saya merasa, ketika mempelajari semua API, hook, templating, konvensi, dll dari suatu CMS, effortnya mungkin sama besarnya dengan jika saya membangun website tersebut dari nol.

Jadi apakah akhirnya membuat CMS dari nol?

Tidak. Bagi saya tetap tidak. Karena ada beberapa kemudahan di CMS yang tidak saya dapatkan jika saya harus membangun dari nol. Saya harus membangun kerangka / arsitektur dari website tersebut. Dan cukup banyak pula waktu yang tersita untuk membangunnya.

Jadi apa solusinya?

Framework. Bagi saya solusi di tengah – tengahnya adalah framework. Framework menjadi solusi yang tepat jika saya ingin mengembangkan website yang berbasis konten, tetapi dengan beberapa fasilitas yang tidak umum (seperti kasus di atas tadi). Dengan framework yang tepat, saya bisa membuat API saya sendiri, tetap mendapatkan fasilitas templating secara default, fasilitas layering untuk database, dan salah satu yang paling saya sukai adalah fasilitas URL Friendly secara default. Saya tidak tahu apakah semua framework menyediakan fasilitas tersebut, tetapi yang jelas Framework yang saya pakai (CodeIgniter) menggunakannya.

Pilihan framework yang cukup terkenal :

  1. Prado – PHP (contoh : website Univertias Indonesia) : Kalau tidak salah ini seperti menjadi ASP.Net pada PHP
  2. CodeIgniter – PHP(contoh : OkeZone.com), Jujur saja, saya tahu CodeIgniter dari situs OkeZone ini, dan sampai saat ini paling nyaman menggunakan ini, karena framework ini terdokumentasi dengan baik.
  3. Ruby On Rails – Ruby (contoh : SharingFoto.com) : Situs ini diklaim sebagai web aplikasi pertama di Indonesia yang menggunakan Ruby On Rails.
  4. CakePHP – PHP (contoh : OwnCafe.com) : Salah seorang yang sangat aktif dalam edukasi CakePHP di Indonesia adalah Sunu Wibirama (alumni Teknik Elektro UGM). Situs lokal cake-php bisa dilihat di idcake.web.id
  5. Symfony (PHP), Django (Python), dll

Saya sendiri masih penasaran dan menantikan Mambo CMS versi 5.0 yang akan menggunakan CakePHP sebagai basisnya. Dengan kondisi seperti itu, maka level kustomisasi bisa dilakukan dari tingkat yang paling dasar (langsung menggunakan framework),di lapis tengah (modul), maupun lapis akhir (theming).

Jika ada yang tertarik dengan framework – framework di atas, jangan lupa pahami satu istilah ini : MVC (Model View Controller).

35 Comments

Add yours

  1. Framework emang terasa asyik untuk mendevelop web yang memang berskala besar.. seperti sebuah portal mungkin…

    Pengalaman pribadi menggunakan Framework.. ternyata aku sendiri juga terkendala dengan workflow dari framework itu sendiri. Utak atik framework sana sini, akhirnya nyadar kalau ‘sisi buruk’ dari framework itu dia butuh tempat yang relatif lebih besar daripada _sekedar_ CMS. wew.. padahal waktu itu web yang dibikin bukan web yang terhitung besar.. jadi.. yah.. terasa kedodoran sana sini deh… πŸ™‚

  2. @fathirhamdi : Oh.. iyakah? Saya bertanya – tanya framework apakah itu gerangan? Karena kalau CodeIgniter besarnya tak sampai 1MB. Jadi sebanding dengan kapasitas untuk WordPress. Tapi kalau Prado ya maklum deh.. πŸ˜€

  3. Okto kalo Joomla 1.5 gimana, soalnya tinggal pake aja nggak tahu urusan teknisnya.
    Tolong kasih reviewnya yah he.. he..
    Baru tahu Mambo Number 5 mau luncur soale make ini sudah dari 2004 setelah itu pindah Joomla yang make fork Mambo 4.2

  4. framework emang menjadi pilihan tengah antara cms ato builkd from the scratch. jangan meliaht framework dari ukuran file-nya :), tapi liat dari fitur yg ditawarkan. gak ada framework yg lebih bagus dari lain-nya, yg ada framework mana yg pas buat requirement kita.

    mambo 5 mungkin masih agak lama, karena sekarang lagi sibuk rilis 4.7, versi terakhir dari seri 4.x, utk selanjutnya mambo 5 based on cakephp core.

  5. numpang comment ya bang okto…

    cuman mau ngasih tau.. seperti yang bang okto tanyakan mengenai milis codeigniter sekarang dah ada.. πŸ˜€

    silahken berkunjung ke sini
    http://tech.groups.yahoo.com/group/codeigniter-id/

    terimakasih

  6. @yudhis : kalo joomla aku gak pernah beneran dalemin. Cuma pernah install di localhost, terus sudah itu dihapus lagi.. :D. Terlalu banyak fitur yang sebenarnya tidak kuperlukan soalnya.. Jadinya malah bingung mengurangi modulnya.. Karena itu jadi saya jadi gak bisa review..

    @mul14 : Yups.. :D. Kamu juga?

    @adi : iya.. saya setuju sekali dengan pernyataan anda. Yang ada itu adalah yang cocok, bukan yang terbaik.

    @sinaryuda : Wah.. sudah ada ya.. Thanx infonya.. Saya segera bergabung

  7. stlh berkutat sebulan ngoprek Drupal luar dalam, akhirnya saya memutuskan nggak akan pake Joomla lagi.. Terus terang utk saya yg blank programming from scratch, tapi ngerti utk modifikasi, saya lebih suka pake CMS, terutama Drupal. Makanya kalo disuruh belajar framework, malah bingung.

    Di Drupal, gak ada CMS lain yg bisa ngalahin fitur CCK dan Views, dan ini gak (belum) ada padanannya di Joomla. Cuma memang, butuh kesabaran lebih utk belajar API Drupal. Wong mo buat standard form di Drupal aja mesti ngerti API-nya.

    Jd stlh sebulan belajar, n langsung terjun ke proyek, skrg sdh bisa membangun web social dating, yg launchnya 2 minggu lagi. Percaya deh, gak akan bisa membangun web spt ini, kalo memanfaatkan CMS Joomla. Tapi bisa jadi, (kalo ngerti programming), membuat menggunakan framework malah jd lebih mudah.. (kali loh).

  8. Menggunakan CMS ato Framework?
    Semua itu tergantung kebutuhan.

    Untuk ukuran file framework sendiri, saya yakin fitur yang disediakan akan berbanding lurus dengan kapasitas filenya.

    Tiga bulan terakhir ini saya menggunakan Zend Framework, secara default ukurannya 5 filenya MB, tapi kita bisa mengkustomisasinya dan membuang file – file yang tidak diperlukan.

    Dan menurut saya, ini juga berlaku pada setiap framework.

    Salam kenal…

  9. @Pitra : Dah jadi pecinta Drupal juga nih? Btw, web *spesial*nya yang pake Drupal itu dah di launch belum?

    @Dolly : Benar sekali.. Saya juga percaya itu. Tetapi pertimbangan saya satu lagi, semakin besar file frameworknya, semakin (terlalu) banyak juga fasilitasnya. Dan semakin sulit saya mempelajari semuanya.. Atau bahasa simpelnya, semakin kompleks juga framework itu. Karena itu saya pilih yang kecil – kecil aja dulu.. *sadar diri .. he.he

  10. saya lebih memilih pake framework. lebih bebas membuat aplikasi apa saja sesuai keinginan. dan lebih fun to code! πŸ˜‰

  11. @koes : wah.. ada om Koes mampir. He..he, fun to code, tapi hasilnya tetap luar biasa ya.

  12. apakah software Zend OneAdmin sudah Men-implementasikan Framework? soalnya dalam modul yang diberikan oleh zend OneAdmin sudah ada yang namanya E-Commerce, Forum, dsb yang saya anggap “all in one”.

  13. Okto Silaban

    5 April 2008 — 06:02

    @gusrak : kurang tahu mas, saya belum pernah pake.

  14. Terlalu banyak pilihan memang membuat kita bebas. Tetapi yang penting harus fokus. Dan masalahnya aku belum bisa fokus ke satu framework.. Niatnya pake RoR, di kerjaan pake PHP, di kampus beda lagi. Huaaa

  15. hmm.. kalo saya, CMS lebih suka TXP, kalo PHP framework lebih suka CI, kalo luar PHP lebih suka rails dan django(banyak hosting yang support). oh ya, ada mirror rubygems nih, buat para rails lovers: http://202.80.122.82:3000/gemserver/

  16. Kalau aku lebih senang membuat dari scretch/awal karena semua code aku tahu 100% sehingga mudah melakukan customisasi. Untuk membuat program sekelas ERP aku membuat Code Generator sendiri sehingga mempercepat development. Untuk CMS aku juga membuat sendiri, memang tidak secantik JOOMLA, tapi aku bisa kendalikan sesukaku.

  17. sementara ini pilihan saya jatuh pada code igniter (karena terdokumentasi dengan komplit).

    btw, website Universitas Indonesia : http://www.ui.edu/
    di redirect ke : http://www.ui.ac.id/id <——– sepertinya menggunakan codeigniter juga dehh CMIIW πŸ™‚

  18. Wah.. Iya tuh UI dah ganti situs baru lagi kayaknya.. Thanx infonya..

  19. Drupal itu bukan framework ya, tak pikir drupal itu framework. Jadi selama ini yang saya ketahui tentang cms vs framework itu wordpress,joomla vs drupal. Ternyata selama ini saya salah mengerti.

    Selama ini sih kadung jatuh cinta sama drupal. View-nya powerfull banget

  20. Salam kenal semuanya…

    Baru tergerak hati utk belajar framework…setelah merasa semua CMS itu mengkungkung dan mengharuskan kita berbuat, berpikir sesuai kemauan sang pembuat CMS… ini membuat saya agak kurang nyaman dan terganggu selama ini… hehehehe

    Dulu juga pernah bikin web dari nol, coding sendiri dengan panduan berbagai source dari inet…ternyata capek juga dan gak sebanding dengan honornya πŸ™

    Project terakhir yang saya kerjakan dengan teman di kantor adalah astaga!com yang didevel dengan CMS Drupal.. emang sih Drupal mantep dan di support oleh modul yang ” gile bener ” modelan view, cck, dll….gw gak bisa ngebayangin drupal tanpa modul ini…:P

    Akhirnya setelah baca2 termasuk di blog ini.. ( top blognya mas ) saya memilih utk belajar CI… ya mudah2an tahun ini sudah bisa mengerti CI karena masih menunggu frame work lain yang harus dipelajari juga πŸ™ yaitu …. Backbase…

  21. ya neh mas saya juga lagi mempelajari CI…..

  22. Salam kenal mas,
    Saya juga lagi belajar CI nih (baru 3hari πŸ˜€ ).
    Ingin menambahkan juga website yang dihasilkan dengan Codeigniter :

    http://tvone.co.id/
    http://mediaindonesia.com/

    –salam1jiwa–

  23. sebenarnya saya lebih suka framework karena lebih teratur dan rapi dalam desain maupun codingna…hidup framework!!!n_n

  24. Halo, salam kenal mas.
    Kalau menurut saya, kebutuhan penggunaan CMS atau Framework dalam men develop web tergantung akan seperti web yang akan kita kembangkan tersebut, kalau misalnya requirement web memungkinkan untuk di buat memakai CMS ya saya prefer pakai CMS, tapi misalnya sebaliknya ya mending pakai Framework yang notebene harus mendesain workflow nya tersendiri. πŸ™‚

    Tapi, kadang ada juga web yang sering bermasalah di tengah perjalanannya, misalnya salah satu Forum Terbesar di Indonesia (sudah pada tau mungkin) yang awalnya memakai VBulletin yang tidak lain adalah sebuah CMS dimana ketika Usernya mulai banyak serta Traffic membludak yang akhirnya membuat CMS tidak efektif lagi, Akhirnya perbaikan disana-sini dengan membuat framework sendiri. CMIWW πŸ˜€

    Jadi harus pintar-pintar kita dalam menganalisis dan mempertimbangan dalam memilih CMS atau Framework dalam proses men develop suatu web.
    Thq

  25. duh, aq msh agak blank ttg drupal… pgn tau lebih dalam… thx infonya

  26. Ngomong-ngomong tentang MVC, pertama saya mencoba membuat framework MVC sendiri dengan template engine. Tapi setelah mendengar informasi tentang framework CI, ternyata CI telah menerapkan pure MVC dengan komponen View-nya. Setelah saya pelajari dokumentasinya saya cukup terkejut karena kemudahan penggunaannya. Alhasil muncullah komunitas blogger Universitas Sriwijaya: http://blog.unsri.ac.id

  27. mau tanya om, kl buat web pakai codeigniter boleh dijual ga ya??? terus kl boleh dijual, apakah website yg dibuat pakai codeigniter tersebut harus menyertakan link back ke codeigniter, seperti kebanyakan blog/web yg pake wp. he he he maaf ane nyubi soal beginian…

  28. dlu sya pke framework bikin kntor sndiri, yg bikin orang dr papua. 3bln pelajari mpe mumet {mklum orang baru}, skrang pngen bljar CI ga slesai2 bis kerja na nomaden {pindah2}, skrang dsuruh ngerjain pake joomla yg harus edit component na yg dah jd, kya com_uddeIM, yg ga da fasilitas public front end na..{botak dah kepala}
    πŸ˜€

  29. trims…infonya kang
    dimana ane bisa dwonload CMS Framewroknya?

  30. postingannya keren……
    butuh referensi atau paper tentang hukum
    klik disini
    repository hukum unand
    thanks….

  31. yah.. sebenrnya jauh lebih nayaman untuk develop dari nol.
    pertimbangannnya lebih jauh kedepan.
    1. penguasaan kode, 100% karena kita yang membangun sendiri.
    2. custom seperti apapun effortnya jauh lebih mudah.
    3. kita yang membuat aturan api, jadi tidak terbatas.
    4. kita bisa daftarkan produk kita dengan haki.
    sepertinya opensource gak bisa dipatenkan oleh perseorangan yah.

    itu hanya konsep dari pengalaman saya saja.
    mohon dikoreksi.

    thanks
    best regards

    yudis

  32. Saya pertama memakai wordpress ketika booming dulu. Karena ada masalah hosting sekarang lebih memilih memakai cms drupal untuk website. Belajar dari panduan yang ada pada website drupal. Untuk framework yang harus coding lagi untuk saat ini belum tertarik. Belajar drupal saja sudah menyita waktu rasanya, apalagi harus belajar framework lagi

  33. Nah kalo wwww.vitabisnis.com ini speed upload cepat bener.
    menurut who is pemilik domain dan penyewa server adalah orang indonesia namun saat saya liat situsnya alangkah terkejut karena kecepatan speed loading situsnya padahal sudah ditempeli embel2 SSL yang notabene memberatkan sisi server.

    Kira kira ada ga ya tau kalo http://www.vitabisnis.com itu pake framework apa bisa secepat itu load situsnya.

Leave a Reply

Your email address will not be published. Required fields are marked *