Javascript: Google Closure Library vs jQuery

Google Closure

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.

Continue reading

Advertisements

Google Chrome sang Istri Muda

Hari Rabu (03/09) dini hari, saya membaca postingan tentang anak baru Ibu Google, yang berwujud browser bernama Chrome. Karena saya kadang-kadang menjadi penyembah Tuhan Google, saya pun tertarik untuk mencoba.

Mulailah saya cari tentang Chrome. Hasilnya, halaman download, http://gears.google.com/chrome/ pun muncul. Err.. tapi kok di posisi ketiga hasil pencarian ya? Di atasnya ada postingan di official blog Google tentang Chrome serta komik penjelasan mengenai Chrome. Bukankah seharusnya ada di peringkat pertama?

Benar saja, saat saya klik halaman download tersebut, saya malah dialihkan ke default page Google. Saya tunggu beberapa saat, sambil kembali nge-plurk, akhirnya halaman tersebut dapat diakses. Sayangnya, proses download tak kunjung dimulai setelah saya menyetujui EULA. Akhirnya dengan sedikit keisengan, saya menemukan bahwa URL file installer tersebut adalah di http://dl.google.com/update2/installers/ChromeSetup.exe. Langsung saja saya rambah url tersebut. Benar saja, Firefox saya langsung mengunduh file bernama ChromeInstaller.exe. Tapi anehnya, setelah selesai dan saya jalankan, tak ada tanda-tanda installer tersebut bekerja.

Sadar ada yang salah, saya coba untuk melakukan pencarian lagi. Dan ternyata halaman downloadnya sudah diganti menjadi http://google.com/chrome/. Hanya dalam beberapa menit, halaman tersebut telah menduduki peringkat pertama pencarian. 😯

Akhirnya saya mengunduh lagi installer tersebut. Dan ternyata, instalasinya masih melakukan proses pengunduhan lagi dari Google, itulah kenapa installernya sangat kecil, hanya sekitar 474,7 kB.

Dan setelah diinstal, yah, boleh jadi saya memang akan jadi berselingkuh dengannya, melanggar apa yang saya ucapkan sebelumnya. Tampilannya cukup simpel dan bersih. Tanpa ada bar-bar yang tidak perlu semacam title bar atau toolbar.

Kelebihan dari Chrome ini sendiri, sesuai yang saya baca di komiknya, adalah multi-proccessing-nya, di mana setiap tab akan memiliki sebuah blok memori tersendiri untuk melakukan pemrosesan. Sehingga ketika salah satu tab down, maka hanya tab itu yang akan ditutup, bukan seluruh aplikasi. Tidak seperti “traditional browser” yang masih multi-thread, yang rawan crash bila salah satu tab down. Itulah kenapa kini address bar, atau yang mereka sebut omnibar, masuk ke dalam area tab.

Selain itu ada beberapa macam keunggulan lain macam incognito, yaitu secure mode yang memungkinkan data-data yang kita pakai selama browsing tidak akan disimpan di komputer.

Google Chrome ini sendiri dibangun dari beberapa project open-source lain, seperti Webkit, yang juga digunakan untuk membangun Safari, (itulah kenapa saat mengunjungi beberapa blog, browser ini dikenali sebagai Safari), V8 technology untuk pemrosesan Javascript.

Ah, untuk penjelasan lebih lanjut silakan baca komiknya atau di Wikipedia saja. Yang jelas dari pengamatan pribadi, browser ini memang sedikit lebih cepat me-render halaman web. Dan saya suka itu. Browser ini juga punya element inspector, seperti kegunaan add-on Firebug di Firefox. Great!

Dan jadilah, saya pun berselingkuh dengan “istri” muda saya ini. 😆

Update:

Ternyata saat saya pakai untuk upload foto di flickr, javascript uploadernya tidak bisa berjalan Ternyata jalan, hanya waktunya sedikit lama bila memilih banyak file

A Little Bug at WordPress

I’m developing a theme for wordpress now. The theme use the javascript color picker, like the WordPress default theme, Kubrick. There’s a button that will be the anchor for the Color Picker when it’s shown. I’m using DIV-type color picker, not the Window-type one, which means that the color picker is shown at a DIV element, not a new pop-up window. So much like Kubrick.

When I tried it up in Firefox, the color picker DIV is not shown up right under the button. The Error Console said that “error in parsing value top, bla bla bla”, means that the top property for the color picker DIV has a wrong value. FYI at Opera, that error doesn’t occur.

Wordpress Color Picker Bug

And then I try to take a look at the javascript file, colorpicker.js which is located inside wp-include/js directory. After some times, I found something missed at the function PopupWindow_showPopup that manages how will the DIV be shown.

At line 295, it said:

document.getElementById(this.divName).style.top = this.y;

See? The command to set the “top” property is incomplete. At Firefox, it needs a “px” if you want to change a size or dimension of an element. After I put the “px”, it works fine.

But of course, that’s not a suitable solution since I’ll release this theme, so the user of this theme (I hope there will be some users 😀 ) will have to change that file too. Fortunately, I can override that function. Owkey, but that makes my script seems so long. 😦

Actually, I’d like to report this little bug to WordPress team, but I find that’s not easy, so much things to do, instead of just send email to Matt and say “Hi, Matt, I found a bug at WordPress here, maybe you can fix it.” So I changed my mind at write it out here. And hopefully they will read this. 😛

Oh, yes… the post above is written in English. Bad grammar or tenses? ^:)^