Showing posts with label Programming::AJAX. Show all posts
Showing posts with label Programming::AJAX. Show all posts

Saturday, March 19, 2011

Quick Way to Start jQuery in Your Java Web Application [Indonesian]


Saya ingin share hasil barusan aja, menggunakan jQuery pada aplikasi Java Web, tepatnya dengan framework Recite18th yang saya kembangkan sendiri. Dulu pernah menggunakan framework Ajax Dojo, well, mungkin karena saat itu pertama kali pakai  framework Ajax, hasilnya kurang memuaskan. Secara aplikasi akhir, Dojo asyik sekali. Aplikasi yang dihasilkan bisa lengkap. Namun, sptnya saya maintenacenya salah. Jadinya, hasil dari aplikasi tersebut, tidak bs mudah dipakai di aplikasi  lain. Pun juga, saat itu saya tidak menggunakan framework MVC. Jadi, hadeuh, hasilnya memusingkan...

Dan, ternyata jQuery tepat seperti yang disarankan teman-teman yang sudah pakai : ringan dan kecil ^_^
Beda dengan Dojo yang merupakan framework AJAX yang lengkap untuk suatu aplikasi besar, jQuery serasa kelas Helper saja. Mudah. Berikut saya coba share hasil saya menggunakan jQuery, semoga bisa menjelaskan. Oya, maaf kalau ada beberapa bagian kode yang spesifik Recite18th, tapi penyesuaiannya mudah kok :
  1. Pada bagian halaman HTML Anda, tambahkan :

Tuesday, August 11, 2009

Pustaka AJAX : PHPLiveX




Jadul deh artikel ini. "AJAX dah lama banget mas!" Hehe, maaf2, saya kan seringnya belajar per request aja. Jadi, baru kali ini ada request yg pas kalao pakai AJAX. ^_^

Awalnya mau start dari scratch aja, namun pada akhirnya revert ke pustaka aja : PHPLiveX.
Sepertinya sederhana, coba saya pastekan satu kode saja. Ini :


<?
header("Content-Type: text/html; charset=UTF-8");
require_once("PHPLivex.php");

function pingDomain($domain){
$starttime = microtime(true);
$file      = fsockopen ($domain, 80, $errno, $errstr, 10);
$stoptime = microtime(true);
$status    = 0;

if (!$file) $status = -1;  // Site is down
else {
fclose($file);
$status = ($stoptime - $starttime) * 1000;
$status = floor($status);
}
return $status;
}

function pingX($ip){
$status = pingDomain($ip);
if($status != -1) return "Domain alive";
return "Domain is down";
}


$pingAjax= new PHPLiveX(array("pingX"));
?>

<html>
<head>
<? $pingAjax->Run(); ?>
<script type="text/javascript">
function ping(){
val = document.getElementById("ip").value;
pingX(val, {'target':'msg','preloader':'pr'});
}
</script>
</head>
<body>
<input type="button" value="Ping" onclick="ping();">
<input type="text" id="ip" size="15" maxlength="15">
<span id="pr" style="visibility:hidden;"><i>Validating...</i></span>
<span id="msg"></span>
</body>
</html>


Fungsi aplikasi itu untuk melakukan proses Ping, pengecekan apakah suatu domain hidup/mati. Gunanya? bisa untuk monitoring layanan di jaringan via web.

Konsep utama AJAX, adalah, Anda bisa melakukan permintaan ke server, tanpa user perlu merefresh halaman browser. Facebook-an? Ya itu lah. Ga pindah2 halaman, eeeh, ada temen yg ketahuan lagi narsist2an dengan statusnya :p Seperti itulah...

Di PHPLiveX ini, konsep utamanya disini :
$pingAjax= new PHPLiveX(array("pingX"));


itulah kode yang akan membuat suatu fungsi PHP, yaitu disini pingX bisa dipanggil via javascript, artinya bisa dipanggil tanpa perlu merefresh halaman. Pada contoh ini, perhatikan kode input dan submit : tidak ada form action kan? artinya, dia hanya akan mengeksekusi fungsi javascript ping() saja, yaitu ini :
function ping(){
val = document.getElementById("ip").value;
pingX(val, {'target':'msg','preloader':'pr'});
}


Perhatikan bahwa, kode ini meski satu file saja, (saya sertakan nanti), namun sesungguhnya porsi kode di bagi kedua sisi : klien dan server. Yang disisi klien adalah fungsi javascript ping(), sedang yang di server, adalah fungsi php pingX(). (Saya pakai nama pingX, karena sptnya di php sudah ada fungsi ping(), spy ga bentrok gitu).

Semoga bermanfaat!
NB:
  • Masih banyak AJAX Framework yang lain. Silahkan browsing aja dengan keyword PHP AJAX FRAMEWORK.
  • Menarik AJAX ini.... Benernya saya ga terlalu antusias dengan aplikasi WEB, apalagi PHP, tapi penambahan AJAX ini, .. ya, lumayan. Pribadi lho ini. Mungkin aja ada temen2 yg guetoool bgt dengan PHP :)