<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JavanLabs</title>
	<atom:link href="http://javanlabs.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://javanlabs.com</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Fri, 02 Mar 2012 12:28:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Mengenal Jquery Mobile Framework</title>
		<link>http://javanlabs.com/mengenal-jquery-mobile-framework/</link>
		<comments>http://javanlabs.com/mengenal-jquery-mobile-framework/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 02:53:52 +0000</pubDate>
		<dc:creator>wisnu</dc:creator>
				<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://192.168.1.230/javanlabs/?p=108</guid>
		<description><![CDATA[jQuery telah lama menjadi JavaScript library yang populer untuk menciptakan website interaktif yang kaya dan aplikasi web. Namun, karena ini dirancang terutama untuk browser desktop, jquery tidak memiliki banyak fitur yang khusus dirancang untuk membangun aplikasi web mobile. jQuery Mobile adalah proyek baru yang membahas kekurangan ini. Ini adalah framework yang dibangun di atas jQuery [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://jquery.org/wp-content/uploads/2010/01/JQuery_logo_color_onwhite-300x74.png" alt="jquery" width="300" height="74" />jQuery telah lama menjadi JavaScript library yang populer untuk menciptakan website interaktif yang kaya dan aplikasi web. Namun, karena ini dirancang terutama untuk browser desktop, jquery tidak memiliki banyak fitur yang khusus dirancang untuk membangun aplikasi web mobile.</p>
<p>jQuery Mobile adalah proyek baru yang membahas kekurangan ini. Ini adalah framework yang dibangun di atas jQuery yang menyediakan berbagai elemen User-interface dan fitur-fitur untuk digunakan dalam aplikasi mobile.</p>
<p>framework ini cukup canggih, versi alpha pertama dirilis bulan lalu &#8211; tapi sudah memungkinkan untuk melakukan beberapa hal besar.</p>
<p>Pada artikel ini saya melihat beberapa fitur kunci dan manfaat dari Jquery mobile dan menunjukkan beberapa contoh bagaimana framework baru ini dapat membantu Anda membangun aplikasi mobile berkualitas dan dalam waktu singkat.</p>
<p>Apa yang dapat jQuery Mobile lakukan?</p>
<ul class="checklist">
<li>jQuery Mobile memudahkan pengembangan user-interface untuk mobile web apps.</li>
<li>The interface configuration is markup-driven, yang berarti Anda dapat membuat seluruh aplikasi antarmuka dasar dalam HTML, tanpa perlu menulis satu baris JavaScript.</li>
<li>Menyediakan serangkaian custom events baru, mendeteksi events mobile device dan touchscreen seperti  tap, tap-and-hold, swipe, and orientation change (i.e. rotating the device).</li>
<li>Memastikan bahwauser-interfcae bekerja pada web browser.</li>
<li>Menggunakan theme untuk memudahkan untuk costumized tampilan aplikasi Anda.</li>
</ul>
<p><img class="aligncenter" src="http://webtrendset.com/wp-content/uploads/2010/12/jquery-mobile.jpg" alt="" width="517" height="332" /></p>
<p><strong>Struktur halaman Jquery Mobile</strong></p>
<p>Sebagian besar halaman web aplikasi dengan jQuery Mobile akan mengikuti basic template:</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
  &lt;title&gt;Page Title&lt;/title&gt;
  &lt;link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css" /&gt;
  &lt;script src="http://code.jquery.com/jquery-1.4.3.min.js"&gt;&lt;/script&gt;
  &lt;script src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div data-role="page"&gt;

  &lt;div data-role="header"&gt;
    &lt;h1&gt;Page Title&lt;/h1&gt;
  &lt;/div&gt;

  &lt;div data-role="content"&gt;
    &lt;p&gt;Page content goes here.&lt;/p&gt;
  &lt;/div&gt;

  &lt;div data-role="footer"&gt;
    &lt;h4&gt;Page Footer&lt;/h4&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Untuk menggunakan jQuery Mobile, pertama anda perlu meng-include 3 file:</p>
<ul class="checklist">
<li>JQuery CSS Mobile file (jquery.mobile-1.0a1.min.css)</li>
<li>Perpustakaan jQuery (jquery-1.4.3.min.js)</li>
<li>Mobile perpustakaan jQuery (jquery.mobile-1.0a1.min.js)</li>
</ul>
<p>Anda dapat mendownloadnya di website jQuerymobile</p>
<p>Seperti yang anda lihat, konten halaman disimpan dalam sebuah div dengan atribut data-role &#8220;page&#8221;. Hal ini memungkinkan jQuery mobile tahu di mana konten di markup. Dalam div &#8220;page&#8221;, ada  &#8221;header&#8221;, &#8220;content&#8221; dan &#8220;footer&#8221; div.</p>
<ul class="itemlist">
<li><strong>&lt;div data-role=&#8221;header&#8221;&gt;<br />
</strong>div &#8220;header&#8221; ini berfungsi untuk membuat toolbar di bagian atas halaman, yang digunakan untuk menyimpan  title dan button. (terdapat tombol default &#8220;Back&#8221; dimana pengguna dapat menekan untuk kembali ke halaman sebelumnya.) Dengan menambahkan data-position = &#8220;fixed&#8221; untuk header,membuat header selalu tetap di bagian top screen.</li>
<li><strong>&lt;div data-role=&#8221;content&#8221;&gt;<br />
</strong>Berisi konten utama halaman, seperti teks, images, button, list, form, dan sebagainya.</li>
<li><strong>&lt;div data-role=&#8221;footer&#8221;&gt;<br />
</strong>Membuat toolbar di bagian bawah halaman, yang berguna untuk hal-hal seperti buttona. Untuk membuat header selalu tetap top screen. Dengan menambahkan data-position = &#8220;fixed&#8221; untuk footer.</li>
</ul>
<p><strong>Halaman di dalam halaman</strong></p>
<p>Salah satu hal baik dari struktur halaman di atas adalah bahwa Anda  dapat membuat beberapa &#8220;page&#8221; dalam suatu satu halaman HTML. Ini berarti bahwa browser hanya meload 1 halaman. Berikut ini contohnya:</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
  &lt;title&gt;jQuery Mobile: Pages within Pages&lt;/title&gt;
  &lt;link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css" /&gt;
  &lt;script src="http://code.jquery.com/jquery-1.4.3.min.js"&gt;&lt;/script&gt;
  &lt;script src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div data-role="page" id="home"&gt;

  &lt;div data-role="header"&gt;
    &lt;h1&gt;Home&lt;/h1&gt;
  &lt;/div&gt;

  &lt;div data-role="content"&gt;
    &lt;p&gt;&lt;a href="#about"&gt;About this app&lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;

&lt;/div&gt;

&lt;div data-role="page" id="about"&gt;

  &lt;div data-role="header"&gt;
    &lt;h1&gt;About This App&lt;/h1&gt;
  &lt;/div&gt;

  &lt;div data-role="content"&gt;
    &lt;p&gt;This app rocks! &lt;a href="#home"&gt;Go home&lt;/a&gt;&lt;/p&gt;
  &lt;/div&gt;

&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p><strong>Perpindahan Halaman (Page Transitions)</strong></p>
<p>Kita dapat menerapkan salah satu dari beberapa efek transisi yang berbeda ke halaman baru yang muncul. Untuk membuat itu, cukup tambahkan atribut data-transition ke link. Value nya adalah:</p>
<ul class="checklist">
<li><strong>slide</strong> Slide right to left (left to right if tapping the Back button). This is the default.</li>
<li><strong>slideup</strong> Slide from the bottom to the top (top to bottom if tapping the Back button).</li>
<li><strong>slidedown</strong> Slide from the top to the bottom (bottom to top if tapping the Back button).</li>
<li><strong>pop</strong> Expand the new page (contract it if tapping the Back button). Great for dialogs and popups.</li>
<li><strong>fade</strong> Fade the new page in (fade it out if tapping the Back button).</li>
<li><strong>flip</strong> Flip the old page out and the new page in, like flipping a card.</li>
</ul>
<p>Contoh penggunaanya:</p>
<pre>&lt;p&gt;&lt;a href="#about" data-transition="flip"&gt;About this app&lt;/a&gt;&lt;/p&gt;</pre>
<p><strong>Dialog</strong></p>
<p>DialogDengan menambahkan data-rel = &#8220;dialog&#8221; pada link, Anda dapat membuat halaman yang muncul sebagai dialog, dengan rounded corners, margin dan dark background. kita juga bisa menambahkan transitions seperti slideup, pop atau flip. contoh:</p>
<pre>&lt;p&gt;&lt;a href="#about" data-rel="dialog" data-transition="slideup"&gt;About this app&lt;/a&gt;&lt;/p&gt;</pre>
<p>Dialog tidak akan bekerja jika berada di dalam satu halaman HTML yang sama seperti link, sehingga contoh diatas akan terlihat seperti halaman biasa, bukan dialog. (Remember, this is alpha version <img src='http://javanlabs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) Jadi jika Anda ingin membuat dialog, Anda harus memasukkannya ke dalam halaman HTML terpisah.</p>
<p><strong>Button</strong></p>
<p>Button adalah bagian penting dari setiap aplikasi berbasis touchscreen. Button lebih baik daripada link, karena memberikan target yang lebih besar ketika melakukan navigasi (penting jika kita memiliki jari-jari gemuk!).</p>
<p>Untuk mengaktifkan link ke dalam button di jQuery Mobile, cukup menambahkan data-role = &#8220;button&#8221;:</p>
<p>code button:</p>
<pre>&lt;p&gt;&lt;a href="#about" data-role="button"&gt;About this app&lt;/a&gt;&lt;/p&gt;</pre>
<p><strong>Touch-optimized form elements</strong></p>
<p>jQuery Mobile secara otomatis menggantikan bentuk kontrol standar HTML, seperti teks, checbox dan select, dengan kontrol custom yang bekerja lebih baik dengan interface touchscreen, dan lebih fleksibel.</p>
<p>Misalnya, checkbox yang dibuat jauh lebih besar sehingga mereka lebih mudah untuk digunakan. framework ini mendukung elemen bentuk baru HTML5 seperti searching (untuk pencarian) dan slider. Selain itu, Anda dapat membuat switch &#8220;on / off&#8221;  flip dengan menggunakan select dengan atribut data-role = &#8220;slider&#8221;, dan menempatkan 2 option dalam daftar.</p>
<p>Fitur lain yang lumayan bagus adalah pengelompokan radio button dan checkbox. Jika ada beberapa radio button atau checkbox pada elemen fieldset dengan  atribut data-role = &#8220;controlgroup&#8221;.</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
  &lt;title&gt;jQuery Mobile Form Demo&lt;/title&gt;
  &lt;link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css" /&gt;
  &lt;script src="http://code.jquery.com/jquery-1.4.3.min.js"&gt;&lt;/script&gt;
  &lt;script src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div data-role="page" id="home"&gt;

  &lt;div data-role="header"&gt;
    &lt;h1&gt;Ice Cream Order Form&lt;/h1&gt;
  &lt;/div&gt;

  &lt;div data-role="content"&gt;
    &lt;form action="#" method="get"&gt;

     &lt;div data-role="fieldcontain"&gt;
       &lt;label for="name"&gt;Your Name:&lt;/label&gt;
       &lt;input type="text" name="name" id="name" value=""  /&gt;
     &lt;/div&gt;

     &lt;div data-role="controlgroup"&gt;
       &lt;legend&gt;Which flavour(s) would you like?&lt;/legend&gt;

       &lt;input type="checkbox" name="vanilla" id="vanilla" /&gt;
       &lt;label for="vanilla"&gt;Vanilla&lt;/label&gt;

       &lt;input type="checkbox" name="chocolate" id="chocolate" /&gt;
       &lt;label for="chocolate"&gt;Chocolate&lt;/label&gt;

       &lt;input type="checkbox" name="strawberry" id="strawberry" /&gt;
       &lt;label for="strawberry"&gt;Strawberry&lt;/label&gt;

     &lt;/div&gt;

     &lt;div data-role="fieldcontain"&gt;
       &lt;label for="quantity"&gt;Number of Cones:&lt;/label&gt;
       &lt;input type="range" name="quantity" id="quantity" value="1" min="1" max="10"  /&gt;
     &lt;/div&gt;

     &lt;div data-role="fieldcontain"&gt;
       &lt;label for="sprinkles"&gt;Sprinkles:&lt;/label&gt;
        &lt;select name="sprinkles" id="sprinkles" data-role="slider"&gt;
          &lt;option value="off"&gt;No&lt;/option&gt;
          &lt;option value="on"&gt;Yes&lt;/option&gt;
        &lt;/select&gt;
     &lt;/div&gt;

     &lt;div data-role="fieldcontain"&gt;
       &lt;label for="store"&gt;Collect from Store:&lt;/label&gt;
        &lt;select name="store" id="store"&gt;
          &lt;option value="mainStreet"&gt;Main Street&lt;/option&gt;
          &lt;option value="libertyAvenue"&gt;Liberty Avenue&lt;/option&gt;
          &lt;option value="circleSquare"&gt;Circle Square&lt;/option&gt;
          &lt;option value="angelRoad"&gt;Angel Road&lt;/option&gt;
        &lt;/select&gt;
     &lt;/div&gt;

    &lt;div&gt;
      &lt;fieldset&gt;
        &lt;div&gt;&lt;button type="submit" data-theme="d"&gt;Cancel&lt;/button&gt;&lt;/div&gt;
        &lt;div&gt;&lt;button type="submit" data-theme="a"&gt;Order Ice Cream&lt;/button&gt;&lt;/div&gt;
      &lt;/fieldset&gt;
    &lt;/div&gt;

  &lt;/div&gt;

&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p><strong>List views: Lists on steroids</strong></p>
<p>List view merupakan fitur yang powerful pada jquery Mobile. Jquery memungkinkan kita untuk membuat unordered lebih stylish. Untuk mengubah list biasa menjadi list view, kita tinggal menambahkan data-role = &#8220;ListView&#8221; untuk tag ul atau ol.</p>
<p>Berikut adalah beberapa hal yang dapat kita buat menggunakan listview:</p>
<ul class="itemlist">
<li>Sebuah list teks sederhana, dengan kotak yang bagus di setiap item.</li>
<li>Sebuah daftar link. Menempatkan tag dalam list item, dan jQuery Mobile secara otomatis menambahkan ikon panah a &#8216;&gt;&#8217; di setiap sisi kanan dari setiap list item.</li>
<li>Nested List (List bersarang). Jika ada ul li di dalam suatu list item, jQuery secara otomatis membuat &#8220;halaman&#8221; kedua untuk list didalamnya, terkait dengan dari li asli. Ini sangat membantu apabila kita ingin membuat mentu Tree.</li>
<li>Split List Button. Dengan menempatkan 2 link dalam li, Anda dapat membuat daftar item dengan bar pemisah vertikal di sisi kanan item tersebut. kemudian kita dapat mengklik sisi kiri atau kanan list item.</li>
<li>Count Bubble. Jika Ada elemen class ui-li-count. Dalam list item Mobil jQuery menciptakan sebuah ikon &#8220;bubble&#8221; kecil  di sisi kanan berisi isi elemen list item. Ini berfungsi untuk menunjukan jumklah inbox atau notifikasi.</li>
<li>Search Filtering. Jika Anda menambahkan data atribut-filter = &#8220;true&#8221; untuk elemen ul atau ol secara otomatis akan muncul filtering list item di atas list view tersebut.</li>
</ul>
<div></div>
<p>Berikut ini adalah halaman contoh beberapa tampilan list view di jQuery Mobile:</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
  &lt;title&gt;jQuery Mobile Lists Demo&lt;/title&gt;
  &lt;link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css" /&gt;
  &lt;script src="http://code.jquery.com/jquery-1.4.3.min.js"&gt;&lt;/script&gt;
  &lt;script src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div data-role="page" id="home"&gt;

  &lt;div data-role="header"&gt;
    &lt;h1&gt;Lists Demo&lt;/h1&gt;
  &lt;/div&gt;

  &lt;div data-role="content"&gt;

    &lt;h2 style="padding: 1em 0;"&gt;A list view&lt;/h2&gt;

    &lt;ul data-role="listview" data-inset="true"&gt;
      &lt;li&gt;Cat&lt;/li&gt;
      &lt;li&gt;Dog&lt;/li&gt;
      &lt;li&gt;Mouse&lt;/li&gt;
      &lt;li&gt;Squirrel&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h2 style="padding: 1em 0;"&gt;A list of links&lt;/h2&gt;

    &lt;ul data-role="listview" data-inset="true"&gt;
      &lt;li&gt;&lt;a href="#"&gt;About this app&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;Buy ice cream&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;Find a store&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h2 style="padding: 1em 0;"&gt;Nested lists&lt;/h2&gt;

    &lt;ul data-role="listview" data-inset="true"&gt;
      &lt;li&gt;Play
        &lt;ul&gt;
          &lt;li&gt;&lt;a href="#"&gt;Easy&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href="#"&gt;Medium&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href="#"&gt;Hard&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Settings
        &lt;ul&gt;
          &lt;li&gt;&lt;a href="#"&gt;Graphics&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href="#"&gt;Sound&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href="#"&gt;Device&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Highscores
        &lt;ul&gt;
          &lt;li&gt;&lt;a href="#"&gt;View&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href="#"&gt;Submit&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href="#"&gt;Reset&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;

    &lt;h2 style="padding: 1em 0;"&gt;A split button list with filter&lt;/h2&gt;

    &lt;ul data-role="listview" data-inset="true" data-filter="true"&gt;
      &lt;li&gt;
        &lt;a href="#"&gt;The Grapes of Wrath&lt;/a&gt;
        &lt;a href="#"&gt;Buy This Book&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;
        &lt;a href="#"&gt;The Trial&lt;/a&gt;
        &lt;a href="#"&gt;Buy This Book&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;
        &lt;a href="#"&gt;A Tale of Two Cities&lt;/a&gt;
        &lt;a href="#"&gt;Buy This Book&lt;/a&gt;
      &lt;/li&gt;
    &lt;/ul&gt;

    &lt;h2 style="padding: 1em 0;"&gt;A list with count bubbles&lt;/h2&gt;

    &lt;ul data-role="listview" data-inset="true"&gt;
      &lt;li&gt;&lt;a href="#"&gt;SuperWidgets&lt;/a&gt; &lt;span&gt;14&lt;/span&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;MegaWidgets&lt;/a&gt; &lt;span&gt;0&lt;/span&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;WonderWidgets&lt;/a&gt; &lt;span&gt;327&lt;/span&gt;&lt;/li&gt;
    &lt;/ul&gt;

  &lt;/div&gt;

&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p><strong>Theming</strong></p>
<p>Abu-abu, widget bulat hitam dan biru yang dibuat oleh jQuery Mobil terlihat cukup bagus, tetapi akan sangat membosankan jika kita semua harus menggunakan style yang sama untuk aplikasi mobile kita! Untuk tujuan ini, jQuery Mobile memungkinkan Anda membuat tema khusus yang mengatur hal-hal tersebut seperti:</p>
<ul class="itemlist">
<li>Font family</li>
<li>Drop shadow</li>
<li>Corner radius values for buttons and boxes</li>
<li>Icon set</li>
</ul>
<div></div>
<p>Selain itu, tema masing-masing dapat berisi hingga 26 swatch warna berbeda (berlabel dari &#8216;a&#8217; sampai &#8216;z&#8217;), yang mengendalikan warna foreground, warna background, dan gradien. (Tema bawaan jQuery Mobile dilengkapi dengan 5 swatch.) Untuk membuatnya menggunakan attribut data-theme. Sebagai contoh:</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
  &lt;title&gt;Page Title&lt;/title&gt;
  &lt;link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css" /&gt;
  &lt;script src="http://code.jquery.com/jquery-1.4.3.min.js"&gt;&lt;/script&gt;
  &lt;script src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div data-role="page" id="home"&gt;

  &lt;div data-role="header"&gt;
    &lt;h1&gt;Home&lt;/h1&gt;
  &lt;/div&gt;

  &lt;div data-role="content"&gt;
    &lt;a href="#" data-role="button" data-theme="a"&gt;About this app&lt;/a&gt;
    &lt;a href="#" data-role="button" data-theme="b"&gt;About this app&lt;/a&gt;
    &lt;a href="#" data-role="button" data-theme="c"&gt;About this app&lt;/a&gt;
    &lt;a href="#" data-role="button" data-theme="d"&gt;About this app&lt;/a&gt;
    &lt;a href="#" data-role="button" data-theme="e"&gt;About this app&lt;/a&gt;
  &lt;/div&gt;

&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Untuk mengurangi waktu ketika load halaman, jQuery Mobile themes menggunakan CSS3 untuk hal-hal seperti rounded corner, drop shadow dan gradien, daripada menggunakan gambar.</p>
<p>Pada artikel ini kita telah menjelajahi library jQuery Mobile baru, dan melihat bagaimana hal itu bisa menghemat banyak waktu dan usaha ketika membangun aplikasi mobile web. Meskipun saat ini hanya baru ada alfa, dan masih agak kasar, tp ini sangat membantu untuk menciptakan sebuah aplikasi.<br />
Anda dapat mempelajari lebih jauh lagi di situs Mobile jQuery. (jquerymobile.com) Have fun!<br />
sumber:<a href=" http://www.jquerymobile.com"> http://www.jquerymobile.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://javanlabs.com/mengenal-jquery-mobile-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pemilihan Koneksi Data Blackberry Secara Otomatis</title>
		<link>http://javanlabs.com/pemilihan-koneksi-data-blackberry-secara-otomatis/</link>
		<comments>http://javanlabs.com/pemilihan-koneksi-data-blackberry-secara-otomatis/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 02:49:42 +0000</pubDate>
		<dc:creator>wisnu</dc:creator>
				<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://192.168.1.230/javanlabs/?p=103</guid>
		<description><![CDATA[Dalam mengembangkan aplikasi Java (J2ME) yang membutuhkan koneksi data (internet) pada platform blackberry, terdapat penambahan sufiks pada URL-nya dimana hal ini tidak terdapat pada platform yang lain. Penambahan sufiks ini bertujuan untuk memberitahukan kepada sistem jalur / konfigurasi koneksi data yang akan dipakai. Adapun sufiks-sufiks tersebut seperti : http://[domain/alamatIP]{/sub_path};interface=wifi : Koneksi data yang dipakai adalah WiFi [...]]]></description>
			<content:encoded><![CDATA[<p>Dalam mengembangkan aplikasi Java (J2ME) yang membutuhkan koneksi data (<em>internet</em>) pada platform blackberry, terdapat penambahan sufiks pada URL-nya dimana hal ini tidak terdapat pada platform yang lain. Penambahan sufiks ini bertujuan untuk memberitahukan kepada sistem jalur / konfigurasi koneksi data yang akan dipakai. Adapun sufiks-sufiks tersebut seperti :</p>
<ol>
<li>http://[domain/alamatIP]{/sub_path};interface=wifi : Koneksi data yang dipakai adalah WiFi</li>
<li>http://[domain/alamatIP]{/sub_path};deviceside=false : Koneksi data yang dipakai adalah melalui BES (<em>Blackberry Enterprise Server</em>)</li>
<li>http://[domain/alamatIP]{/sub_path};deviceside=false;ConnectionType=mds-public : Koneksi data yang dipakai adalah melalui BIS (<em>Blackberry Internet Service</em>)</li>
<li>http://[domain/alamatIP]{/sub_path};deviceside=true;apn=&lt;apn_name&gt; : Koneksi data yang dipakai adalah TCP (<em>direct connection</em>) dimana terdapat opsional parameter <em>user authentication</em> untuk APN (<em>Access Point Name</em>) terkait jika dibutuhkan (;tunnelauthusername=&lt;username&gt;;tunnelauthpassword=&lt;password&gt;)</li>
<li>Sufiks konfigurasi yang lain dapat dilihat di dokumentasi API Blackberry.</li>
</ol>
<p><a href="http://javan.co.id/wp-content/uploads/2011/02/bb-simple-architecture1.png"><img class="aligncenter" src="http://javan.co.id/wp-content/uploads/2011/02/bb-simple-architecture1.png" alt="" width="506" height="212" /></a></p>
<p>Untuk menangani pemakaian jalur koneksi data tersebut terdapat dua cara yaitu secara manual, baik itu <em>hard-coded</em> maupun penyediaan fasilitas pemilihan koneksi pada aplikasi (misalnya berupa layar/dialog pengaturan), serta secara otomatis yaitu aplikasi menentukan sendiri koneksi data yang akan dipakai berdasarkan koneksi data yang tersedia pada saat <em>runtime </em>dengan prioritas tertentu. Pemilihan koneksi data secara otomatis oleh aplikasi tentu akan memberikan kemudahan bagi pemakai aplikasi nantinya dimana tidak dibingungkan oleh pengaturan-pengaturan koneksi data yang mungkin tidak dimengerti oleh pengguna awam.</p>
<p>Untuk mewujudkan hal tersebut maka terlebih dahulu kita mengimplementasikan fungsi untuk mengenali dan memeriksa ketersediaan koneksi-koneksi data yang ada pada perangkat <em>blackberry</em>. Yang pertama adalah fungsi untuk mengenali dan memeriksa koneksi WiFi, dimana terdapat 2 implementasi fungsi, yaitu fungsi untuk memeriksa apakah perangkat WiFi tersedia serta fungsi untuk memeriksa apakah ada koneksi WiFi yang aktif. Berikut implementasi fungsinya :</p>
<pre>public static boolean isWifiAvailable()
// cek apakah ada koneksi wifi tersedia
{
	return RadioInfo.areWAFsSupported(RadioInfo.WAF_WLAN);
}
public static boolean isWifiActive()
// cek apakah koneksi wifi aktif
{
	return (RadioInfo.getActiveWAFs() &gt;= RadioInfo.WAF_WLAN);
}</pre>
<p>Kemudian fungsi untuk memeriksa apakah <em>data bearer</em> dalam kondisi <em>offline</em>. Fungsi ini nantinya digunakan untuk menentukan penggunaan koneksi data melalui BES maupun BIS dimana kedua koneksi tersebut dapat digunakan jika <em>data bearer</em> tidak <em>offline</em>. Adapun implementasi fungsinya adalah sebagai berikut :</p>
<pre>public static boolean isDataBearerOffline() {</pre>
<pre>   return RadioInfo.getState()==RadioInfo.STATE_OFF || RadioInfo.getSignalLevel() == RadioInfo.LEVEL_NO_COVERAGE;</pre>
<pre>}</pre>
<p>Fungsi pengenalan koneksi terakhir adalah untuk memeriksa apakah koneksi melalui BIS tersedia. Hal ini dilakukan dengan melakukan iterasi pada <em>IPPP service book</em> untuk memeriksa apakah terdapat koneksi BIS. Adapun implementasi fungsinya adalah sebagai berikut :</p>
<pre>public static boolean isBISAvailable()
{
	boolean _bisSupport = false;
	// Iterasi IPPP service-book (merepresentasikan jalur data untuk MDS dan BIS-B)
	ServiceBook sb = ServiceBook.getSB();
	ServiceRecord[] records = sb.findRecordsByCid( "IPPP" );
	if( records == null ) {
		return _bisSupport;
	}
	int numRecords = records.length;
	for( int i = 0; i &lt; numRecords; i++ ) {
		ServiceRecord myRecord = records[i];
		if( myRecord.isValid() &amp;&amp; !myRecord.isDisabled() ) {
			// Cek apakah myRecord merupakan BIS
			int encryptionMode = myRecord.getEncryptionMode();
			if( encryptionMode == ServiceRecord.ENCRYPT_RIM ) {
			} else {
				_bisSupport = true;
			}
		}
	}
	return _bisSupport;
}</pre>
<p>Setelah kita mengimplementasikan fungsi-fungsi yang menangani pemeriksaan ketersediaan koneksi-koneksi data pada Blackberry, maka terakhir adalah membuat fungsi untuk menentukan sufiks URL yang akan digunakan. Pada fungsi ini juga diterapkan urutan prioritas koneksidata yang akan digunakan sehingga sebenarnya implementasi fungsi ini berbeda-beda dimana bersesuaian dengan kebutuhan aplikasi / pembuat aplikasi. Adapun implementasi fungsi ini adalah sebagai berikut :</p>
<pre>public static String DeviceConnectionExtension()
// Penentuan Sufiks URL
{
	// 1. SIMULATOR
	if(DeviceInfo.isSimulator()) {
		return "";
	}
	// 2. WiFi
	if (isWifiActive() &amp;&amp; isWifiAvailable()) {
		return ";interface=wifi";
	}
	// 3. BIS
	if (!isDataBearerOffline() &amp;&amp; isBISAvailable()) {
		return ";deviceside=false;ConnectionType=mds-public";
	}
	// 4. BES
	if (!isDataBearerOffline()) {
		return ";deviceside=false";
	}
	// 5. TCP (asumsi nama APN : something)
	return ";deviceside=true;apn=something";
}</pre>
<p>Fungsi terakhir digunakan saat memberikan parameter URL pada objek <strong><em>HttpConnection</em></strong>, seperti yang dicontohkan pada cuplikan kode di bawah ini :</p>
<pre>HttpConnection conn = null;
OutputStream out = null;
try
{
	conn = (HttpConnection) Connector.open(url + DeviceConnectionExtension());
	if (postData == null) {
		conn.setRequestMethod(HttpConnection.GET);
	} else {
// .... dan seterusnya</pre>
<p>Dengan demikian maka penentuan koneksi data pada akhirnya akan otomatis ditentukan saat aplikasi berjalan (<em>runtime</em>) tanpa membutuhkan peran serta pengguna aplikasi dalam menentukannya.</p>
]]></content:encoded>
			<wfw:commentRss>http://javanlabs.com/pemilihan-koneksi-data-blackberry-secara-otomatis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mencicipi PLAY Framework</title>
		<link>http://javanlabs.com/mencicipi-play-framework/</link>
		<comments>http://javanlabs.com/mencicipi-play-framework/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 02:46:35 +0000</pubDate>
		<dc:creator>wisnu</dc:creator>
				<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://192.168.1.230/javanlabs/?p=100</guid>
		<description><![CDATA[Salah satu tantangan dalam pemrograman J2EE ataupun web menggunakan Java adalah proses build and deploy yang seringkali memakan waktu yang cukup lama, bahkan dalam beberapa kondisi harus melakukan restart server meskipun masih dalam proses development yang hanya mengubah beberapa file saja. Beberapa framework dikembangkan bertujuan untuk semakin memudahkan dan mempercepat proses development aplikasi menggunakan java. [...]]]></description>
			<content:encoded><![CDATA[<p>Salah satu tantangan dalam pemrograman J2EE ataupun web menggunakan Java adalah proses build and deploy yang seringkali memakan waktu yang cukup lama, bahkan dalam beberapa kondisi harus melakukan restart server meskipun masih dalam proses development yang hanya mengubah beberapa file saja.</p>
<p>Beberapa framework dikembangkan bertujuan untuk semakin memudahkan dan mempercepat proses development aplikasi menggunakan java. Diantaranya play framework, yg bahkan bagi programmer yang belum terbiasa java asalkan menguasai konsep OOP maupun MVC akan sangat mudah untuk memanfaatkan framework ini. OK, mari kita lihat asyik dan mudahnya memanfaatkan play framework.</p>
<div class="heading-block"><span>Getting Started</span></div><p>Langkah pertama yang harus dilakukan adalah mendownload <a href="http://www.playframework.org/download">Playframework</a>. Kemudian letakkan ekstraksi hasil download, dan setting path pada sistem operasi mengarah pada folder hasil ekstrasi tersebut sehingga anda bisa mengakses file binary play. Untuk membuat aplikasi pertama ketikkan pada console</p>
<pre>[code]play new myApp[/code</pre>
<p>myApp adalah nama dari project yang akan kita buat. Otomatis play framework akan membuat susunan folder dan semua file yang diperlukan untuk menjalankan web. Untuk melakukan test bahwa semua berjalan lancar, maka masuk ke dalam folder myApp kemudian ketikkan</p>
<pre>[code]play run[/code]</pre>
<p>Selanjutnya aplikasi web yang baru saja kita jalankan dapat kita lihat pada browser dengan alamat http://localhost:9000</p>
<div class="heading-block"><span>MVC - Model, View, Controller</span></div><p>Untuk memulai coding, kita akan banyak melakukan modifikasi pada folder &#8220;app&#8221;, dimana didalamnya akan terdapat 3 folder lagi yaitu :</p>
<ul class="itemlist">
<li>Models : Berisi kelas-kelas yang dibutuhkan sebagai entity, merupakan suatu kelas java biasa yang mempunya annotation @Entity dan field-field yang akan bersesuaian dengan kolom pada database. Contohnya sebagai berikut:</li>
</ul>
<pre style="padding-left: 90px;">[code]
package models;

import javax.persistence.Entity;

import play.db.jpa.Model;

@Entity
public class User extends Model{
	public String username="";
	public String password="";
	public User(String username, String password) {

		this.username = username;
		this.password = password;
	}
	public User() {
		// TODO Auto-generated constructor stub
	}

}
[/code]</pre>
<ul class="itemlist">
<li>Views : Folder ini akan berisi semua tampilan web dengan format html. Dalam file html, dapat digunakan variable-variable yang telah diset pada controller seperti layaknya jstl. Nama file yang dibuat disesuaikan dengana nama method pada controller yang bersangkutan, dan dimasukkan dalam folder sesuai dengan nama Controllernya.</li>
</ul>
<ul class="itemlist">
<li>Controllers : Folder ini akan berisi kelas-kelas java yang mendefinisikan action-action yang petama kali akan dipanggil ketika aplikasi web menerima request. Konfigurasi mapping dapat kita lihat pada file myApp/conf/routes, misalkan secara default didefinisikan sebagai berikut :</li>
</ul>
<pre style="padding-left: 60px;">[code] *       /{controller}/{action}                  {controller}.{action}][/code]</pre>
<p style="padding-left: 30px;">maka untuk setiap request GET/POST (ditandakan dengan tanda *) dengan path /Users/list akan mengambil pada controller dengan nama Users dan method list(). Dan secara otomatis akan mengambil view pada myApp/app/views/Users/list.html.<br />
Pada Controller ini kita berinteraksi antara model yang telah kita buat untuk mengambil data, dan passing isinya ke view yang telah kita buat.</p>
<p>Demikian sentuhan pertama kita menggunakan playframework, untuk mempelajari lebih mendalam dapat kita baca lebih lanjut pada<a href="http://www.playframework.org/documentation">Dokumentasi</a> yang disediakan.</p>
]]></content:encoded>
			<wfw:commentRss>http://javanlabs.com/mencicipi-play-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

