Sep11

Ataukah saya saja yang salah sangka, padahal kebanyakan orang sudah pada mengerti ?, ah entahlah …yang jelas, praduga itu, kan kutuangkan dalam bentuk ulasan kecil yang mohon maaf kalau penjelasannya masih dangkal

Terlahir dari sebuah singkatan tetapi sekarang tidak lagi dipandang singkatan, ia adalah nama dari sebuah klub sepakbola asal negeri Belanda, tapi bukan klub sepakbola yang akan kubahas di sini, disangka sebuah bahasa pemrograman padahal hanyalah sebuah teknologi, lebih spesifik lagi ianya adalah sebuah cara baru bagaimana sebuah web bekerja

Tanpa mengumumkan metoda apa yang dipakai untuk membuatnya, Google mengumumkan aplikasi bernama Google Maps, Gmail dan Google Suggest, ketiganya merupakan produk inovatif yang benar2 “menohok” cara web tradisional bekerja, alih-alih me-reload seluruh halaman untuk sebuah request, ketiga produk tsb malah mengupdate halaman sebagian saja, bahkan tanpa sebuah refresh, inbox email di gmail bisa otomatis bertambah, peta di google maps ketika di-scroll terus-terusan memunculkan gambar-gambar baru tanpa perlu refresh browser… ah teknologi apa ini, Google kembali mencipta teknologi baru ?

Google memang yang membuat ketiga aplikasi tersebut, tapi teknologi yang dipakai bukanlah ciptaan google seorang (apa ratusan orang yak :D ), sesungguhnya semua komunitas web lah yang mendorong teknologi tersebut ada, google hanya memanfaatkannya, teknologi tersebut dibangun berdasarkan teknologi sebelumnya, dimulai dengan keberadaan (X)HTML & HTTP yang memunculkan web statis, CSS untuk mengatur style daripada layout web, Document Object Model (DOM) untuk membentuk struktur halaman web, Frame untuk menggabungkan bbrp halaman web ke dalam satu halaman, XmlHttpRequest(XHR) yang meyediakan interaksi antara client dan server secara independen (tanpa refresh browser), XML atau JSON yang berfungsi sebagai teknologi standar untuk pertukaran data dan Javascript yang memanipulasi dan mengikat semua teknologi di atas

Kita perlu sebuah nama yang mudah diingat untuk merepresentasikan teknologi baru ini, awalnya banyak orang dengan banyak versi menyebut hal tersebut dengan javascript remoting, web remote procedure call atau dynamic update, tetapi pada 25 Februari 2005 Jesse James Garret merilis suatu essay berjudul “A New Approach to Web Applications”, dalam artikel itu garis besarnya dia menjelaskan bahwa user interaksi di web sekarang sudah seperti aplikasi desktop, sebuah cara baru yang membuat user interaksi di web menjadi semakin kaya

Bagaimana interaksi di aplikasi desktop bisa merambah ke web ?. ini ada beberapa contohnya : pada aplikasi shopping cart kita hanya melakukan drag & drop untuk menambahkan barang yang akan dibeli ke dalam daftar belanja, pada saat loading data kita pun bisa melihat animasi dalam bentuk bar bergerak yang menandakan data sedang diproses, pada saat posting di forum diskusi kita terkejut postingan kita tiba2 muncul di paling akhir padahal halaman tidak melakukan reload sepenuhnya bahkan kita bisa melakukan crop & resize image di sebuah aplikasi web,

Contoh-contoh yang dibangun menggunakan teknologi itu oleh kawan-kawan di Adaptive path dinamakan Asynchronous Javascript & XML disingkat AJAX, asynchronous berarti halaman web tidak perlu menunggu respon dari user untuk bekerja, dengan kata lain kita tidak sepenuhnya perlu memencet tombol refresh, mengklik suatu link atau memencet tombol submit di form untuk melihat halaman web kita berubah/bekerja

Selain itu tidak hanya Javascript & XML saja yang membentuk Ajax, banyak teknologi lain yang bisa membentuk Ajax, diantaranya sebagian telah penulis sebutkan di paragraf 3 di atas, jadi
Pada akhirnya Ajax sekarang tidak bisa lagi dipahami sebagai sebuah singkatan, karena bila mengacu kepada singkatan hanya 3 teknologi saja yang terlibat, padahal seperti yang sebelumnya kita ketahui Ajax juga bisa melibatkan banyak teknologi, sudahlah cukup bahwa Ajax ialah sebuah cara baru bagaimana web bekerja, janganlah terjebak ke hal kecil seperti pengertian literal yang pernah dicetuskan oleh Garret, dan satu hal lagi jangan pula menyangka kalau Ajax adalah sebuah bahasa pemrograman, beberapa orang yang baru mengenal Ajax (termasuk saya) pada awalnya menyangka bahwa Ajax adalah bahasa pemrograman baru

Kita di Indonesia seperti biasa, agak terlambat untuk mengadopsi sebuah teknologi, bila di “luar” sana Ajax sudah menjadi trend, di sini hanya sebagian kecil saja yang baru mengadopsi Ajax, ah daripada mengeluh akan ketertinggalan lebih baik kita mulai “ngoprek” toh itu bisa menjadi keuntungan minimal kan kita bisa menjadi trend setter di negeri sendiri he he, becanda denk tentulah keuntungan sesungguhnya bukan hanya mengikuti trend semata, lebih dari itu teknologi dibuat agar manusia bisa lebih mudah & efesien melakukan sesuatu, untuk itu kukira tidak ada salahnya bila kita menimba ilmu tersebut, tujuannya agar kontribusi kita terhadap kehidupan adalah nyata, sebagai web programmer hanya itu yang berharap bisa ku lakukan, sangat disayangkan bukan bila kita tidak ikut terlibat evolusi di dalamnya ? akhir kata Let’s Ajaxify Your Life ^-^

note : ditulis pada saat berjibaku dengan jQuery, sebuah Ajax Framework yang pada awalnya kubenci tapi sekarang kok mulai tumbuh benih2 cinta yak, gmn nih mulai ketagihan padahal masih banyak yang belum dimenegerti, btw ada yang punya eBook-nya, bagi dunk (ups) :D

referensi
Professional Ajax 2nd Edition
Ajax on Rails

Sep04

Boga Lakon : bro, tau mils Ajax indonesia gak
Amuro_msg : id-ajax ? :D
Boga Lakon : halah, apa nama milis depannya id semua ?
Amuro_msg : lagian gwe gak make ajax sih
Boga Lakon : lah trus makenya apaan ?
Amuro_msg : ya standar lah, XHTML, CSS & PHP, gwe gak terlalu suka javascript sih, makanya gak pernah pake Ajax
Boga Lakon : oh kalo gak suka, berarti sering pake PSV dong ?
Amuro_msg : PSV ?, hmm teknologi apa lagi tuh
Boga Lakon : ya iyalah, kalo bukan penggemar Ajax, berarti dikau penggemar PSV Eindhoven, coba deh baca soccernet
Amuro_msg : gubraks …. ???

yeah…, dah gugling banyak2, sampe skrng aku belum menemukan milis yang bertemakan Ajax berbahasa Indonesia… kenapa yah, apakah orang indonesia fans-nya PSV semua ? ^_^

Jun22

Ada 2 isu penting di bidang web development akhir-akhir ini, yaitu Ruby on Rails (RoR) dan Ajax, aku sudah terbiasa dengan RoR karena memang sudah menjadi pekerjaan sehari-hari ku, sedangkan Ajax ?, aku Cuma mendengar kabar burungnya dari internet atau ebook saja

Nah tadi pagi aku coba cicipi kue Ajax ini, dan enak bangeeeeeeet, walaupun belum sepenuhnya tau enaknya kenapa ?, nah yg cukup membuat aku kaget adalah RoR mempunyai Framework dan Templating system tersendiri untuk menghandle Ajax, Frameworknya berisikan Helper yang merupakan abstraksi dari beberapa Javascript Framework handal seperti prototype & script.aculo.us, sedangkan templating systemnya bernama RJS (Ruby-generated JavaScript)

Nah dari pada bertele-tele aku ngejelasin, silahkan cicipi deh kode “Ajax on Rails” berikut ini  (Asumsi, Ruby & RoR sudah terinstall, jika belum silahkan baca ini)

1. buat Rails Skeleton , ketik di console/terminal “rails latihanajax”
2. buat controller, caranya masuk ke directory latihanajax terus ketik “ruby script/generate controller latihan1”
3. ketik kode form berikut ini di Textmate, (kalo ndak punya textmate pake emacs/notepad ajah :D )

<%= form_remote_tag :url=>{:action=>’salam’} %><!—ini akan meng-invoke salam.rjs –>
Enter your name <%= text_field_tag :name %>
<%= submit_tag "Ucapkan Salam" %>
<%= end_form_tag %>

<h2 id="salam" style="display: none "></h2>

simpan di app/views/latihan1/form.rhtml

4. buat template rjs-nya

page[:salam].hide
page[:salam].update "Assalamu’alaikum wr wb, " + params[:name]
page[:salam].visual_effect :grow
page.select("form").first.reset
simpan di app/view/latihan1/salam.rjs

5. buat layout untuk meng-include script.aculo.us & prototype
<html>
<header>
<%= javascript_include_tag :defaults %> <!—ini untuk menginclude Ajax Framework –>
</header>
<body>
<%= yield %>
</body>
</html>

simpan di app/view/layouts/standar.rhtml

6. panggil layout tersebut di controller, buka app/controllers/latihan1_controller.rb, ketik kode berikut

class Latihan1Controller < ApplicationController
  layout "standar"
end

7. masuk ke directory latihanajax lalu nyalakan server, dengan mengetik “ruby script/server”
8. buka Mozilla Firefox, lalu masukan url berikut localhost:3000/latihan1/form/
9. silahkan dinikmati, nah gampang kan bikin kue Ajax  di loyang RoR ? ^_^

btw, ini html yang dihasilkan oleh kode di atas, dan terus terang saja aku sangat suka dengan visual efek yang dihasilkannya ^_^

<html>
<header>
<script src="/javascripts/prototype.js?1150155006" type="text/javascript"></script>
<script src="/javascripts/effects.js?1150155006" type="text/javascript"></script>
<script src="/javascripts/dragdrop.js?1150155006" type="text/javascript"></script>
<script src="/javascripts/controls.js?1150155006" type="text/javascript"></script>
<script src="/javascripts/application.js?1150155006" type="text/javascript"></script>
</header>
<body>
<form action="/latihan1/salam" method="post" onsubmit="new Ajax.Request(’/latihan1/salam’, {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;">
Enter your name <input id="name" name="name" type="text" />
<input name="commit" type="submit" value="Ucapkan Salam" />
</form>
<h2 id="salam" style="display: none "></h2>
</body>
</html>

referensi : Ajax on Rails by Scott Raymond

*note : kalo ada error, hubungi saya, siapa tau saya mbisa membantu :D