
Bahasa pemrograman Javascript adalah salah satu fitur utama, bahkan termasuk salah satu yang utama di dalam dunia web development saat ini. Di era yang katanya 3.0 ini boleh dibilang hampir semua web developer memakai Javascript untuk membuat tampilan web mereka lebih dinamis dan interakitf.
Berbagai macam library Javascript pun bermunculan untuk mendukung hal tersebut. Dan tentu saja, yang paling fenomenal adalah jQuery, pernah dengar? jQuery sebenarnya berawal dari sebuah library sederhana yang digunakan untuk mempermudah proses selecting elemen DOM pada website. Tapi kemudian library ini berkembang hingga hampir seluruh proses manipulasi DOM dapat dilakukan dalam jQuery. Mulai dari mengubah atribut, menambahkan CSS style, melakukan AJAX request hingga yang paling keren membuat animasi.
Tak ayal, library ini menjadi populer dengan sangat cepat. Bahkan bisa dibilang lebih terkenal dari Javascript itu sendiri. Banyak web developer mengatakan mereka belajar tentang Javascript justru setelah beberapa lama menggunakan jQuery. Sampai-sampai ada jargon “too much jQuery” atau “there’s jQuery for that” yang menyindir fenomena penggunaan jQuery secara berlebihan untuk perintah-perintah sederhana yang sebenarnya bisa dilakukan di Javascript biasa.

Ironis memang, tapi apa yang dilakukan jQuery memang sebuah terobosan yang sangat memudahkan hidup. Kalau Anda pernah menggunakan vanilla Javascript alias Javascript mentah tanpa embel-embel library apapun, menggunakan jQuery memang serasa di surga. Bagi yang pernah mencoba membuat request AJAX dengan metode XmlHttpRequest mentah pasti paham. Apalagi hingga beberapa tahun lalu implementasi Javascript masih belum standard di browser-browser utama. jQuery menyediakan semua fitur yang secara syntax lebih mudah dipahami dan dijamin dapat berjalan di hampir semua browser. Ditambah lagi dukungan plugin-plugin yang begitu besar (sampai-sampai terasa overwhelming) untuk fitur-fitur tambahan. Nikmat Tuhan mana lagi yang kau dustakan?
Tidak ada yang salah memang dalam menggunakan jQuery. Tapi pernahkah kita berpikir berapa persen “kekuatan” jQuery yang benar-benar kita butuhkan? Ada yang bilang jQuery itu ibarat mobil balap bermesin super kencang, dengan stiker dan paintjob berkilau di seluruh body, full dengan perangkat musik extra keras, serta dilengkapi mode 4WD untuk dipakai di jalanan off-road. Tapi kemudian mobil itu cuma kita pakai untuk berangkat ke kantor yang jaraknya tidak begitu jauh. Overkill, istilahnya.
Beberapa “gerakan” anti-jQuery pun bermunculan, salah satunya website “MicroJS” yang menyediakan library-library kecil dengan size di bawah 4 KB untuk dipakai sesuai kebutuhannya saja. Saya termasuk salah satu yang jengah dengan jQuery overuse tadi. Tapi yang menarik perhatian saya sebagai alternatif jQuery adalah library ciptaan Tuhan Google Yang Maha Tahu: Google Closure Library.
Apa itu Google Closure Library? Dasarnya library ini tidak jauh berbeda dengan jQuery, ia juga menyediakan fungsi-fungsi umum Javascript dengan syntax yang lebih mudah. Mulai dari manipulasi elemen-elemen DOM sampai fitur untuk request AJAX. Standar. Tapi yang menjadi nilai lebih Closure adalah bahwa library ini hanya bisa digunakan untuk proses development. Kalau mau digunakan untuk di level produksi, Anda harus meng-compile script buatan Anda menggunakan tools tambahan Google Closure Compiler.
Mengapa proses compile itu menjadi nilai lebih? Karena di dalam proses tersebut, hanya fungsi-fungsi Closure Library yang Anda pakai sajalah yang akan dimasukkan ke dalam hasil file akhir. Fungsi lain yang tidak dipakai akan dihiraukan oleh compiler. File hasil compile juga sudah di-minify sedemikian rupa hingga size-nya biasanya tidak akan lebih dari 40 KB. Bandingkan dengan jQuery yang 80 KB belum ditambah plugin-plugin serta script buatan Anda sendiri.
You pay what you used, istilahnya. Memang agak tricky dalam menguasai proses compiling itu sendiri. Tapi percayalah, hasilnya sebanding.
Teknik lain yang juga harus dikuasai adalah mencari solusi non-Javascript. Seperti contohnya dalam membuat animasi, dapat digunakan teknologi CSS3 yang sudah mendukung efek transisi. Jadi tugas Javascript hanya mengubah class-nya saja, proses perubahan tampilan dilakukan oleh CSS3.
Alasan lain mengapa saya jatuh cinta dengan Google Closure adalah independensinya. Tinggal meletakkan script hasil compile ke dalam “self-executing anonymous function” dijamin script akan berjalan tanpa terjadi bentrok dengan library lain.
Di kantor tempat saya bekerja saat ini, LintasMe, saya tengah membangun sebuah produk yang memungkinkan penyebaran artikel berbayar dengan mudah dari para advertiser ke publisher-publisher yang sudah bekerja sama. Salah satu trik-nya adalah dengan meminta para publisher memanggil kode Javascript yang bertugas untuk menyisipkan artikel dari pemasang iklan di tengah-tengah tampilan web mereka secara native. Di dalam kode ini terdapat satu fungsi yang menyesuaikan tampilan artikel dengan style masing-masing website, sehingga tidak ada kesan norak atau style yang bertabrakan dengan style web publisher. Nah, di sinilah tantangan untuk Closure.
Awalnya saya menggunakan jQuery untuk proses ini. Saya pikir hampir semua website publisher pasti menggunakan jQuery sehingga saya cukup memanggil fungsi-fungsinya saja. Tapi terjadi masalah, tidak semua publisher menggunakan versi jQuery yang up-to-date sehingga penggunaanya tidak bisa maksimal karena script tersebut bersifat global dipakai di semua website publisher.
Me-load paksa jQuery versi terbaru juga tidak bisa berjalan baik. Ada saja plugin di publisher yang tidak kompatibel. Ditambah lagi hal itu mengharuskan visitor men-download 2 versi jQuery yang size-nya lumayan besar. Waste of bandwidth. Oleh karena itulah, saya butuh satu library yang independen dan ber-size relatif kecil agar tidak membuang-buang bandwidth pengujung.
Dan Closure menjadi jawabannya. Fungsi yang disediakan cukup andal, meski tidak se-ekstrim jQuery yang super mudah. Hal-hal semacam selector yang menjadi keunggulan jQuery juga sudah bisa dihandle dengan CSS3 selector. Satu hal yang agak menjadi sandungan kecil adalah kompatibilitas, beberapa fungsi Closure tidak bisa berjalan di browser-browser lama, macam IE8 ke bawah. Tapi toh, workaround-nya juga tidak begitu susah. Dan lagian siapa pula yang masih pakai IE8?
—
Kesimpulan postingan ini adalah, jangan terbuai dengan kemudahan yang ditawarkan jQuery. Pelajari apa yang sebenarnya terjadi di belakang layar jQuery dan pelajarilah vanilla Javascript serta library-library lain yang tak kalah handal. Ada yang pernah menggunakan PrototypeJS? Boleh di-share pengalamannya?
BTW, penasaran dengan produk native ads LintasMe yang sedang dibuat? Tunggu tanggal mainnya yaa..
219 replies on “Javascript: Google Closure Library vs jQuery”
jQuery memang bisa dibilang lebih terkenal dari Javascript… Thanks for sharing.
LikeLike
masih awam mengenai ini
LikeLike
bingung sama program java sama jquery.. script nya banyak bnget..
LikeLike
terimakasih artikelnya …
LikeLike
Patut di coba ne untuk “CLOSURE LIBRARY VS JQUERY” karena ssebelumnya saya hanya menggunakan “Jquery” saja…, jika ada sesuatu yang kurang faham saya nanti…, boleh ya Mas saya kembali kesini….
LikeLike
Menjadi programing memang butuh kesabaran yang sangat tinggi..
LikeLike
Thanks atas informasinya…jadi bertambah ilmu
LikeLike
sangat membantu blog nya .. thanks your blog nice
LikeLike
wouu nice your blog .. thanks
LikeLike
wah saya malah baru belajar jquery nih,ketinggalan jaman ternyata saya
LikeLike
Jadi tambah pengalaman nih gan, thank artikelnya
LikeLike
Buat newbie blogger kaya saya, artikel ini sangat bermanfaat. terima kasih gan,
LikeLike
nice post gan, saya ikuti terus updatenya
LikeLike
nice article, keep post… thanks for the informations..
LikeLike
thanks, nice article 😀
LikeLike
Di update terus artikelnya, terimakasih
LikeLike
hello nice to meet u all
LikeLike
hmm, telat saya.. baru tau ada microjs 😦
LikeLike
To make a good article is not easy, but if it can be done would be very fun because it can provide great benefits to others. we hope you continue to write good articles because we are one of the people who get the convenience of it. overall good and we loved it. Thank you and good luck.
LikeLike
Waah..mantap benar jQuery :)…Terimakasih atas informasinya gan..blog web ini benar-benar memberi pengetahuan berharga bagi saya 🙂 sukses terus !
LikeLike
JQuery memudahkan para developer website khususnya bagian front end untuk membuat tampilan web yang keren. 😀
Ayodeal – Inspirasi Bisnis dan Peluang Usaha
LikeLike
Java script ini memang bisa digunakan untuk mengmbangkan blog atau situs. Sehingga menjadi lebih menarik dan memiliki banyak fitur dengan kelebihan yang memuaskan.
LikeLike
terima kasih gan atas infonya
LikeLike
thank’s gan artikel nya..
LikeLike
baru pertama dengar, thanks infonya gan
LikeLike
wah terima kasih gan artikelnya keren
LikeLike
nice,,,thank’s
LikeLike
saya suka artikelnya,, sangat inspirtif,, good
LikeLike
maksih mas salam kenal dari cah jogja…
LikeLike
Baru tau saya gan… makasih infonya
LikeLike
nice share gan 😀
LikeLike
Saya masih belum mengerti bahasa pemrograman, jadi saya masih kesulitan dalam penerapan javascript
LikeLike
Terima kasih atas infonya …
Salam kenal …
LikeLike
Terima kasih atas infonya …
Salam kenal …
jangan lupa kunjungin balik ya …
LikeLike
Bertambah lagi ilmu tenteng scripting, mulai paham jenis2 script pada java script. thanks bagi2 ilmunya
LikeLike
Terima kasih atas infonya …
Salam kenal …
jangan lupa kunjungin balik ya …
LikeLike
makasih gan
salam kenal
LikeLike
wah terima kasih atas infonya, menambah ilmu 😀
LikeLike
Thanks for sharing. This article is useful for me. >_<
LikeLike
makasih banyak infonya yaa
LikeLike
Tuhan Google YMT? lebay banget bro. .
LikeLike
artikelnya sangat bagus.
semoga bermanfaat dan ditunggu artikel selanjutnya.
terimakasih
LikeLike
Makasih untuk infonya.
LikeLike
Terimakasih atas infromasi yang sudah disampaikan sangat menarik
LikeLike
wah infonya sangat luar bisa
LikeLike
Haduh bro jaqueri saya gak tahu maklum masih awam di dunia internet gini
LikeLike
JQuery memang sangat handal, saya berani belajar web karena sudah ada jquery, tanpa jquery java script menurut saya agak komple, meskipun banyak framework yang laiinya saya sendiri lebih nyaman menggunakan jquery di setiap projek yang saya kerjaan…. thanks gan support artikelnya.
LikeLike
Semuanya bagus gan, ane terbiasa menggunakan kedua2nya..
Tapi klo untuk yg simple2 native js masih bisa diandalkan tuh..
LikeLike
terima kasih gan artikelnya sangat bermanfaat dan membantu.
LikeLike
Artikelny sangat bagus bos.
Semoga bermanfaat dan ditunggu artikel selanjutnya.
Terimakasih 🙂
LikeLike
bahasa dewa..saya kaga ngerti mas ….
LikeLike