tag:blogger.com,1999:blog-43061263221329369292024-03-14T19:38:41.102+07:00Flex IndonesiaThis blogs dedicated for Flex coder in indonesia and all of people in the world. Share knowledge and we are smart together.TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.comBlogger34125tag:blogger.com,1999:blog-4306126322132936929.post-49138030007074148192013-02-02T17:21:00.001+07:002013-02-02T17:21:51.927+07:00I am Adobe Certified Expert Flex | AIR (Indonesia)<p>Adobe Certified Expert (ACE) Flex | AIR</p> <p><a href="http://lh5.ggpht.com/-c6uwC29xBkU/UQzor-3ddzI/AAAAAAAAAtc/Y-aqxIWk3RU/s1600-h/Certified_Expert_Flex_badge%25255B3%25255D.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Certified_Expert_Flex_badge" border="0" alt="Certified_Expert_Flex_badge" src="http://lh4.ggpht.com/-w3cE52v6KEY/UQzotG5T3uI/AAAAAAAAAtk/oN1lbyvFoLY/Certified_Expert_Flex_badge_thumb%25255B1%25255D.png?imgmax=800" width="240" height="65" /></a></p> <p> </p> <p><a href="http://lh5.ggpht.com/-HboLSKxJyu8/UQzoukXyG8I/AAAAAAAAAts/xfiU1EZuo24/s1600-h/ACE_Tubagus_%25255B7%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="ACE_Tubagus_" border="0" alt="ACE_Tubagus_" src="http://lh4.ggpht.com/-dcGxdV19-tw/UQzovhKJivI/AAAAAAAAAt0/a0E65C_Chxo/ACE_Tubagus__thumb%25255B5%25255D.jpg?imgmax=800" width="583" height="248" /></a></p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com1tag:blogger.com,1999:blog-4306126322132936929.post-27648538103113774802012-02-13T02:52:00.001+07:002012-02-13T03:16:52.078+07:00Flex logo Past And Now<p><a href="http://lh3.ggpht.com/-7s7MD7qz2LE/Tzgddu94m4I/AAAAAAAAAlQ/bp1-rK6RHeg/s1600-h/Flex_past_now%25255B28%25255D.png"><img style="background-image: none; border-right-width: 0px; margin: 0px 0px 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Flex_past_now" border="0" alt="Flex_past_now" src="http://lh3.ggpht.com/-d4oyvhYri-8/TzgdfqsEC6I/AAAAAAAAAlY/X2vwkLhYgpw/Flex_past_now_thumb%25255B24%25255D.png?imgmax=800" width="655" height="285" /></a></p> <table border="0" cellspacing="0" cellpadding="2" width="661"><tbody> <tr> <td valign="top" width="346"> <ul> <li> <h5><font style="background-color: #ffffff" color="#000000"><font style="font-weight: normal" size="4">Adobe Flex 2</font></font></h5> </li> <li> <h5><font style="background-color: #ffffff" color="#000000"><font style="font-weight: normal" size="4">Adobe Flex 3</font></font></h5> </li> <li> <h5><font style="background-color: #ffffff" color="#000000"><font style="font-weight: normal" size="4">Adobe Flex 4</font></font></h5> </li> <li> <h5><font style="background-color: #ffffff" color="#000000"><font style="font-weight: normal" size="4">Adobe Flex 4.5</font></font></h5> </li> <li> <h5><font style="background-color: #ffffff" color="#000000"><font style="font-weight: normal" size="4">Adobe Flex 4.6</font></font></h5> </li> </ul> </td> <td valign="top" width="313"> <ul> <li><font style="background-color: #ffffff"><font color="#ff0000" size="4"><a href="http://incubator.apache.org/flex/">Apache Flex</a></font></font><font size="4"> </font></li> </ul> </td> </tr> </tbody></table> <p align="left"><font size="2"></font></p> <p align="left"><font size="2"></font></p> <p align="left"><font size="2"></font></p> <p align="left"><font size="2"></font></p> <p align="left"><font size="2"></font></p> <p align="left"><font size="2"></font></p> <p align="left"><font size="2">Visit:</font></p> <p align="left"><a href="http://incubator.apache.org/flex/"><font size="2">http://incubator.apache.org/flex/</font></a><font size="4"> </font></p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com1tag:blogger.com,1999:blog-4306126322132936929.post-82200945619422870762012-02-13T00:14:00.010+07:002012-02-13T01:33:52.830+07:00Penggunaan REST API Tandif untuk Filtering pada Adobe AIR (Android version)<p style="font-family: verdana;"><span style="font-size:100%;"><span>Pada beberapa hari yang lalu penulis mendapat undangan dari tandif.com untuk mencoba API yang mereka buat. Awalnya saya hanya mencoba secara sederhana, yakni dengan melalui browser saja, dengan memasukkan alamat API –nya pada URL address browser dikarenakan sangat sederhananya format API yang digunakan, doc-nya ada di <a href="http://tandif.com/docs">sini</a></span><span>.</span></span></p> <p style="font-family: verdana;"><span style="font-size:100%;">Format-nya sebagi berikut :</span></p> <pre style="font-family: verdana;"><span style="font-size:100%;"><a href="http://green.tandif.com/api/v1/text/check?api_key=your_api_key_here&text=your_text_here">http://green.tandif.com/api/v1/text/check?api_key=your_api_key_here&text=your_text_here</a></span></pre><span style="font-family: verdana;font-size:100%;" ><span>Jika kalian belum mengetahui tandif, dari website tandif, saya bisa ambil kesimpulan, bahwa tandif berfokus pada layanan filtering untuk content yang berbau pornografi. Ok, langsung saja ya. di sini saya buat aplikasi kecil yang bisa dijadikan aplikasi android pada pemrograman Adobe AIR. so cek aja code-nya di bawah ini</span></span><br /><br /><div style="font-family: verdana" id="codeSnippetWrapper" class="csharpcode-wrapper"><span><div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:8666752d-6546-4c93-aaaf-4d88d7afb41f" class="wlWriterEditableSmartContent"><pre style=" width: 662px; height: 587px;background-color:White;overflow: auto;;font-family:Verdana;font-size:9.75"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color:#008080;"> 1</span> <span style="color:#000000;"><?</span><span style="color:#000000;">xml version</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">1.0</span><span style="color:#000000;">"</span><span style="color:#000000;"> encoding</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">utf-8</span><span style="color:#000000;">"</span><span style="color:#000000;">?></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 2</span> <span style="color:#000000;"></span><span style="color:#000000;"><</span><span style="color:#000000;">s:View xmlns:fx</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">http://ns.adobe.com/mxml/2009</span><span style="color:#000000;">"</span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 3</span> <span style="color:#000000;"> xmlns:s</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">library://ns.adobe.com/flex/spark</span><span style="color:#000000;">"</span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 4</span> <span style="color:#000000;"> creationComplete</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">view1_creationCompleteHandler(event)</span><span style="color:#000000;">"</span><span style="color:#000000;"> title</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">Filter</span><span style="color:#000000;">"</span><span style="color:#000000;">></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 5</span> <span style="color:#000000;"> </span><span style="color:#000000;"><</span><span style="color:#000000;">fx:Declarations</span><span style="color:#000000;">></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 6</span> <span style="color:#000000;"> </span><span style="color:#000000;"><!--</span><span style="color:#000000;"> Place non</span><span style="color:#000000;">-</span><span style="color:#000000;">visual elements (e.g., services, value objects) here </span><span style="color:#000000;">--></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 7</span> <span style="color:#000000;"> </span><span style="color:#000000;"><</span><span style="color:#000000;">/</span><span style="color:#000000;">fx:Declarations></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 8</span> <span style="color:#000000;"></span><span style="color:#000000;"> </span><span style="color:#000000;"><</span><span style="color:#000000;">s:TextInput id</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">TextInput_URL</span><span style="color:#000000;">"</span><span style="color:#000000;"> x</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">10</span><span style="color:#000000;">"</span><span style="color:#000000;"> y</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">30</span><span style="color:#000000;">"</span><span style="color:#000000;"> width</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">178</span><span style="color:#000000;">"</span><span style="color:#000000;"> height</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">37</span><span style="color:#000000;">"</span><span style="color:#000000;"> text</span><span style="color:#000000;">=</span><span style="color:#000000;">""/</span><span style="color:#000000;">></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 9</span> <span style="color:#000000;"></span><span style="color:#000000;"> </span><span style="color:#000000;"><</span><span style="color:#000000;">s:Label x</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">10</span><span style="color:#000000;">"</span><span style="color:#000000;"> y</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">10</span><span style="color:#000000;">"</span><span style="color:#000000;"> text</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">URL</span><span style="color:#000000;">"/</span><span style="color:#000000;">></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 10</span> <span style="color:#000000;"></span><span style="color:#000000;"> </span><span style="color:#000000;"><</span><span style="color:#000000;">s:TextArea id</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">TextArea_Content</span><span style="color:#000000;">"</span><span style="color:#000000;"> x</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">9</span><span style="color:#000000;">"</span><span style="color:#000000;"> y</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">75</span><span style="color:#000000;">"</span><span style="color:#000000;"> width</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">279</span><span style="color:#000000;">"</span><span style="color:#000000;"> height</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">130</span><span style="color:#000000;">"</span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 11</span> <span style="color:#000000;"> text</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">fuck my ass and my dick</span><span style="color:#000000;">"/</span><span style="color:#000000;">></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 12</span> <span style="color:#000000;"></span><span style="color:#000000;"> </span><span style="color:#000000;"><</span><span style="color:#000000;">s:Button x</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">200</span><span style="color:#000000;">"</span><span style="color:#000000;"> y</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">27</span><span style="color:#000000;">"</span><span style="color:#000000;"> width</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">88</span><span style="color:#000000;">"</span><span style="color:#000000;"> height</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">41</span><span style="color:#000000;">"</span><span style="color:#000000;"> label</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">Ektract</span><span style="color:#000000;">"</span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 13</span> <span style="color:#000000;"> click</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">button2_clickHandler(event)</span><span style="color:#000000;">"/</span><span style="color:#000000;">></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 14</span> <span style="color:#000000;"></span><span style="color:#000000;"> </span><span style="color:#000000;"><</span><span style="color:#000000;">s:Label x</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">10</span><span style="color:#000000;">"</span><span style="color:#000000;"> y</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">263</span><span style="color:#000000;">"</span><span style="color:#000000;"> text</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">Result</span><span style="color:#000000;">"/</span><span style="color:#000000;">></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 15</span> <span style="color:#000000;"></span><span style="color:#000000;"> </span><span style="color:#000000;"><</span><span style="color:#000000;">s:TextArea id</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">TextArea_Result</span><span style="color:#000000;">"</span><span style="color:#000000;"> x</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">10</span><span style="color:#000000;">"</span><span style="color:#000000;"> y</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">286</span><span style="color:#000000;">"</span><span style="color:#000000;"> height</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">116</span><span style="color:#000000;">"/</span><span style="color:#000000;">></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 16</span> <span style="color:#000000;"></span><span style="color:#000000;"> </span><span style="color:#000000;"><</span><span style="color:#000000;">s:Button x</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">201</span><span style="color:#000000;">"</span><span style="color:#000000;"> y</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">213</span><span style="color:#000000;">"</span><span style="color:#000000;"> width</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">88</span><span style="color:#000000;">"</span><span style="color:#000000;"> height</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">41</span><span style="color:#000000;">"</span><span style="color:#000000;"> label</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">Filter</span><span style="color:#000000;">"</span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 17</span> <span style="color:#000000;"> click</span><span style="color:#000000;">=</span><span style="color:#000000;">"</span><span style="color:#000000;">button1_clickHandler(event)</span><span style="color:#000000;">"/</span><span style="color:#000000;">></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 18</span> <span style="color:#000000;"></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 19</span> <span style="color:#000000;"> </span><span style="color:#000000;"><</span><span style="color:#000000;">fx:Script</span><span style="color:#000000;">></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 20</span> <span style="color:#000000;"> </span><span style="color:#000000;"><!</span><span style="color:#000000;">[CDATA[<br /></span><span style="color:#008080;"> 21</span> <span style="color:#000000;"> import com.adobe.utils.StringUtil;<br /></span><span style="color:#008080;"> 22</span> <span style="color:#000000;"><br /></span><span style="color:#008080;"> 23</span> <span style="color:#000000;"> import mx.events.FlexEvent;<br /></span><span style="color:#008080;"> 24</span> <span style="color:#000000;"> import mx.rpc.events.ResultEvent;<br /></span><span style="color:#008080;"> 25</span> <span style="color:#000000;"> import mx.rpc.http.HTTPService;<br /></span><span style="color:#008080;"> 26</span> <span style="color:#000000;"><br /></span><span style="color:#008080;"> 27</span> <span style="color:#000000;"> private static const API_KEY_TANDIF:String </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#000000;">"</span><span style="color:#000000;">YOUR_API_KEY_HERE</span><span style="color:#000000;">"</span><span style="color:#000000;">;<br /></span><span style="color:#008080;"> 28</span> <span style="color:#000000;"> private static const API_KEY_ALCHEMY:String </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#000000;">"</span><span style="color:#000000;">YOUR_API_KEY_HERE</span><span style="color:#000000;">"</span><span style="color:#000000;">;<br /></span><span style="color:#008080;"> 29</span> <span style="color:#000000;"> private static const INCREMENT:</span><span style="color:#0000FF;">int</span><span style="color:#000000;"> </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#000000;">1000</span><span style="color:#000000;">;<br /></span><span style="color:#008080;"> 30</span> <span style="color:#000000;"><br /></span><span style="color:#008080;"> 31</span> <span style="color:#000000;"> private </span><span style="color:#0000FF;">var</span><span style="color:#000000;"> _httpService_Filter:HTTPService </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#0000FF;">new</span><span style="color:#000000;"> HTTPService();<br /></span><span style="color:#008080;"> 32</span> <span style="color:#000000;"> private </span><span style="color:#0000FF;">var</span><span style="color:#000000;"> _httpService_Ektract:HTTPService </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#0000FF;">new</span><span style="color:#000000;"> HTTPService();<br /></span><span style="color:#008080;"> 33</span> <span style="color:#000000;"> private </span><span style="color:#0000FF;">var</span><span style="color:#000000;"> _dataArrayStrings:Array </span><span style="color:#000000;">=</span><span style="color:#000000;"> [];<br /></span><span style="color:#008080;"> 34</span> <span style="color:#000000;"><br /></span><span style="color:#008080;"> 35</span> <span style="color:#000000;"> private </span><span style="color:#0000FF;">var</span><span style="color:#000000;"> _last:</span><span style="color:#0000FF;">int</span><span style="color:#000000;"> </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#000000;">0</span><span style="color:#000000;">;<br /></span><span style="color:#008080;"> 36</span> <span style="color:#000000;"> private </span><span style="color:#0000FF;">var</span><span style="color:#000000;"> _index:</span><span style="color:#0000FF;">int</span><span style="color:#000000;"> </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#000000;">1</span><span style="color:#000000;">;<br /></span><span style="color:#008080;"> 37</span> <span style="color:#000000;"><br /></span><span style="color:#008080;"> 38</span> <span style="color:#000000;"> private </span><span style="color:#0000FF;">function</span><span style="color:#000000;"> do_filter():</span><span style="color:#0000FF;">void</span><span style="color:#000000;">{<br /></span><span style="color:#008080;"> 39</span> <span style="color:#000000;"><br /></span><span style="color:#008080;"> 40</span> <span style="color:#000000;"> _index </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#000000;">1</span><span style="color:#000000;">;<br /></span><span style="color:#008080;"> 41</span> <span style="color:#000000;"> _dataArrayStrings </span><span style="color:#000000;">=</span><span style="color:#000000;"> [];<br /></span><span style="color:#008080;"> 42</span> <span style="color:#000000;"><br /></span><span style="color:#008080;"> 43</span> <span style="color:#000000;"> </span><span style="color:#0000FF;">var</span><span style="color:#000000;"> str:String </span><span style="color:#000000;">=</span><span style="color:#000000;"> TextArea_Content.text;<br /></span><span style="color:#008080;"> 44</span> <span style="color:#000000;"><br /></span><span style="color:#008080;"> 45</span> <span style="color:#000000;"> </span><span style="color:#008000;">//</span><span style="color:#008000;"> Proses Menyimpan String ke dalam Array, supaya bisa dipecah menjadi String yang lebih pendek.</span><span style="color:#008000;"><br /></span><span style="color:#008080;"> 46</span> <span style="color:#008000;"></span><span style="color:#000000;"> </span><span style="color:#0000FF;">if</span><span style="color:#000000;">(str.length</span><span style="color:#000000;">></span><span style="color:#000000;">INCREMENT){<br /></span><span style="color:#008080;"> 47</span> <span style="color:#000000;"><br /></span><span style="color:#008080;"> 48</span> <span style="color:#000000;"> </span><span style="color:#0000FF;">var</span><span style="color:#000000;"> count:</span><span style="color:#0000FF;">int</span><span style="color:#000000;"> </span><span style="color:#000000;">=</span><span style="color:#000000;"> Math.floor(str.length</span><span style="color:#000000;">/</span><span style="color:#000000;">INCREMENT);</span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 49</span> <span style="color:#000000;"></span><span style="color:#000000;"><br /></span><span style="color:#008080;"> 50</span> <span style="color:#000000;"> </span><span style="color:#0000FF;">for</span><span style="color:#000000;"> (</span><span style="color:#0000FF;">var</span><span style="color:#000000;"> i:</span><span style="color:#0000FF;">int</span><span style="color:#000000;">=</span><span style="color:#000000;">0</span><span style="color:#000000;">; i</span><span style="color:#000000;"><</span><span style="color:#000000;">count; i</span><span style="color:#000000;">++</span><span style="color:#000000;">){<br /></span><span style="color:#008080;"> 51</span> <span style="color:#000000;"><br /></span><span style="color:#008080;"> 52</span> <span style="color:#000000;"> </span><span style="color:#0000FF;">var</span><span style="color:#000000;"> s1:String </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#000000;">""</span><span style="color:#000000;">;<br /></span><span style="color:#008080;"> 53</span> <span style="color:#000000;"><br /></span><span style="color:#008080;"> 54</span> <span style="color:#000000;"> </span><span style="color:#0000FF;">if</span><span style="color:#000000;">(i </span><span style="color:#000000;">==</span><span style="color:#000000;"> count){<br /></span><span style="color:#008080;"> 55</span> <span style="color:#000000;"> s1 </span><span style="color:#000000;">=</span><span style="color:#000000;"> str.substr(i</span><span style="color:#000000;">*</span><span style="color:#000000;">INCREMENT, str.length);<br /></span><span style="color:#008080;"> 56</span> <span style="color:#000000;"> }</span><span style="color:#0000FF;">else</span><span style="color:#000000;">{<br /></span><span style="color:#008080;"> 57</span> <span style="color:#000000;"> s1 </span><span style="color:#000000;">=</span><span style="color:#000000;"> str.substr(i</span><span style="color:#000000;">*</span><span style="color:#000000;">INCREMENT, INCREMENT</span><span style="color:#000000;">*</span><span style="color:#000000;">(i</span><span style="color:#000000;">+</span><span style="color:#000000;">1</span><span style="color:#000000;">));<br /></span><span style="color:#008080;"> 58</span> <span style="color:#000000;"> }<br /></span><span style="color:#008080;"> 59</span> <span style="color:#000000;"><br /></span><span style="color:#008080;"> 60</span> <span style="color:#000000;"> _dataArrayStrings.push(s1);<br /></span><span style="color:#008080;"> 61</span> <span style="color:#000000;"> }<br /></span><span style="color:#008080;"> 62</span> <span style="color:#000000;"> }<br /></span><span style="color:#008080;"> 63</span> <span style="color:#000000;"> </span><span style="color:#0000FF;">if</span><span style="color:#000000;">(_dataArrayStrings.length</span><span style="color:#000000;">></span><span style="color:#000000;">0</span><span style="color:#000000;">){<br /></span><span style="color:#008080;"> 64</span> <span style="color:#000000;"><br /></span><span style="font-size:100%;color:#008080;"> 65</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Filter.url </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">http://green.tandif.com/api/v1/text/check?api_key=</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">API_KEY_TANDIF</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">&text=</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">_dataArrayStrings[</span><span style="font-size:100%;color:#000000;">0</span><span style="font-size:100%;color:#000000;">];<br /></span><span style="font-size:100%;color:#008080;"> 66</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _dataArrayStrings.shift();<br /></span><span style="font-size:100%;color:#008080;"> 67</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }</span><span style="font-size:100%;color:#0000FF;">else</span><span style="font-size:100%;color:#000000;">{<br /></span><span style="font-size:100%;color:#008080;"> 68</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Filter.url </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">http://green.tandif.com/api/v1/text/check?api_key=</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">API_KEY_TANDIF</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">&text=</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">TextArea_Content.text;<br /></span><span style="font-size:100%;color:#008080;"> 69</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }<br /></span><span style="font-size:100%;color:#008080;"> 70</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Filter.send();<br /></span><span style="font-size:100%;color:#008080;"> 71</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }<br /></span><span style="font-size:100%;color:#008080;"> 72</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;"> 73</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> private </span><span style="font-size:100%;color:#0000FF;">function</span><span style="font-size:100%;color:#000000;"> do_ektract():</span><span style="font-size:100%;color:#0000FF;">void</span><span style="font-size:100%;color:#000000;"> {<br /></span><span style="font-size:100%;color:#008080;"> 74</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Ektract.url </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">http://access.alchemyapi.com/calls/url/URLGetRawText?apikey=</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">API_KEY_ALCHEMY</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">&url=</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">TextInput_URL.text</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">&outputMode=json</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">;<br /></span><span style="font-size:100%;color:#008080;"> 75</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Ektract.send();<br /></span><span style="font-size:100%;color:#008080;"> 76</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;"> 77</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }<br /></span><span style="font-size:100%;color:#008080;"> 78</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;"> 79</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> protected </span><span style="font-size:100%;color:#0000FF;">function</span><span style="font-size:100%;color:#000000;"> view1_creationCompleteHandler(event:FlexEvent):</span><span style="font-size:100%;color:#0000FF;">void</span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;"> 80</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> {<br /></span><span style="font-size:100%;color:#008080;"> 81</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Filter.addEventListener(ResultEvent.RESULT, onResult_Filtering, </span><span style="font-size:100%;color:#0000FF;">false</span><span style="font-size:100%;color:#000000;">, </span><span style="font-size:100%;color:#000000;">0</span><span style="font-size:100%;color:#000000;">, </span><span style="font-size:100%;color:#0000FF;">true</span><span style="font-size:100%;color:#000000;">);<br /></span><span style="font-size:100%;color:#008080;"> 82</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Filter.resultFormat </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> HTTPService.RESULT_FORMAT_TEXT;<br /></span><span style="font-size:100%;color:#008080;"> 83</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Filter.showBusyCursor </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#0000FF;">true</span><span style="font-size:100%;color:#000000;">;<br /></span><span style="font-size:100%;color:#008080;"> 84</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;"> 85</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Ektract.addEventListener(ResultEvent.RESULT, onResult_Ekstract, </span><span style="font-size:100%;color:#0000FF;">false</span><span style="font-size:100%;color:#000000;">, </span><span style="font-size:100%;color:#000000;">0</span><span style="font-size:100%;color:#000000;">, </span><span style="font-size:100%;color:#0000FF;">true</span><span style="font-size:100%;color:#000000;">);<br /></span><span style="font-size:100%;color:#008080;"> 86</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Ektract.resultFormat </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> HTTPService.RESULT_FORMAT_TEXT;<br /></span><span style="font-size:100%;color:#008080;"> 87</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Ektract.showBusyCursor </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#0000FF;">true</span><span style="font-size:100%;color:#000000;">;<br /></span><span style="font-size:100%;color:#008080;"> 88</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;"> 89</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }<br /></span><span style="font-size:100%;color:#008080;"> 90</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;"> 91</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> private </span><span style="font-size:100%;color:#0000FF;">function</span><span style="font-size:100%;color:#000000;"> onResult_Filtering(e:ResultEvent):</span><span style="font-size:100%;color:#0000FF;">void</span><span style="font-size:100%;color:#000000;">{<br /></span><span style="font-size:100%;color:#008080;"> 92</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;"> 93</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#0000FF;">try</span><span style="font-size:100%;color:#000000;">{<br /></span><span style="font-size:100%;color:#008080;"> 94</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#0000FF;">var</span><span style="font-size:100%;color:#000000;"> data:Object </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> JSON.parse(e.result as String);<br /></span><span style="font-size:100%;color:#008080;"> 95</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> TextArea_Result.text </span><span style="font-size:100%;color:#000000;">+=</span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">String </span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">_last</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;"> - </span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">(INCREMENT</span><span style="font-size:100%;color:#000000;">*</span><span style="font-size:100%;color:#000000;">_index) </span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;"> : </span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">(data.result as String)</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">\n</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">;<br /></span><span style="font-size:100%;color:#008080;"> 96</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }</span><span style="font-size:100%;color:#0000FF;">catch</span><span style="font-size:100%;color:#000000;">(e:Error){<br /></span><span style="font-size:100%;color:#008080;"> 97</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;"> 98</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> TextArea_Result.text </span><span style="font-size:100%;color:#000000;">+=</span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">No Result \n</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">;<br /></span><span style="font-size:100%;color:#008080;"> 99</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }<br /></span><span style="font-size:100%;color:#008080;">100</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">101</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#0000FF;">if</span><span style="font-size:100%;color:#000000;">(_dataArrayStrings.length </span><span style="font-size:100%;color:#000000;">></span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#000000;">0</span><span style="font-size:100%;color:#000000;">){<br /></span><span style="font-size:100%;color:#008080;">102</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">103</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Filter.url </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">http://green.tandif.com/api/v1/text/check?api_key=</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">API_KEY_TANDIF</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">&text=</span><span style="font-size:100%;color:#000000;">"</span><span style="font-size:100%;color:#000000;">+</span><span style="font-size:100%;color:#000000;">_dataArrayStrings[</span><span style="font-size:100%;color:#000000;">0</span><span style="font-size:100%;color:#000000;">];<br /></span><span style="font-size:100%;color:#008080;">104</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _httpService_Filter.send();<br /></span><span style="font-size:100%;color:#008080;">105</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _dataArrayStrings.shift();<br /></span><span style="font-size:100%;color:#008080;">106</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">107</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _last </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> (INCREMENT</span><span style="font-size:100%;color:#000000;">*</span><span style="font-size:100%;color:#000000;">_index);<br /></span><span style="font-size:100%;color:#008080;">108</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> _index</span><span style="font-size:100%;color:#000000;">++</span><span style="font-size:100%;color:#000000;">;<br /></span><span style="font-size:100%;color:#008080;">109</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">110</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }<br /></span><span style="font-size:100%;color:#008080;">111</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }<br /></span><span style="font-size:100%;color:#008080;">112</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">113</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> private </span><span style="font-size:100%;color:#0000FF;">function</span><span style="font-size:100%;color:#000000;"> onResult_Ekstract(e:ResultEvent):</span><span style="font-size:100%;color:#0000FF;">void</span><span style="font-size:100%;color:#000000;">{<br /></span><span style="font-size:100%;color:#008080;">114</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">115</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#0000FF;">var</span><span style="font-size:100%;color:#000000;"> data:Object </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> JSON.parse(e.result as String);<br /></span><span style="font-size:100%;color:#008080;">116</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#0000FF;">var</span><span style="font-size:100%;color:#000000;"> str:String </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> data.text;<br /></span><span style="font-size:100%;color:#008080;">117</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">118</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> str </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> str.replace(</span><span style="font-size:100%;color:#000000;">/</span><span style="font-size:100%;color:#000000;">[^a-zA-Z0-9]</span><span style="font-size:100%;color:#000000;">/</span><span style="font-size:100%;color:#000000;">g, </span><span style="font-size:100%;color:#000000;">'</span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#000000;">'</span><span style="font-size:100%;color:#000000;">);<br /></span><span style="font-size:100%;color:#008080;">119</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> str </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> str.replace(</span><span style="font-size:100%;color:#000000;">/</span><span style="font-size:100%;color:#000000;">\n</span><span style="font-size:100%;color:#000000;">/</span><span style="font-size:100%;color:#000000;">g, </span><span style="font-size:100%;color:#000000;">''</span><span style="font-size:100%;color:#000000;">);<br /></span><span style="font-size:100%;color:#008080;">120</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> str </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> StringUtil.trim(str);<br /></span><span style="font-size:100%;color:#008080;">121</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> TextArea_Content.text </span><span style="font-size:100%;color:#000000;">=</span><span style="font-size:100%;color:#000000;"> str;<br /></span><span style="font-size:100%;color:#008080;">122</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">123</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }<br /></span><span style="font-size:100%;color:#008080;">124</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">125</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> private </span><span style="font-size:100%;color:#0000FF;">function</span><span style="font-size:100%;color:#000000;"> htmlUnescape(str:String):String<br /></span><span style="font-size:100%;color:#008080;">126</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> {<br /></span><span style="font-size:100%;color:#008080;">127</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#0000FF;">return</span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#0000FF;">new</span><span style="font-size:100%;color:#000000;"> XMLDocument(str).firstChild.nodeValue;<br /></span><span style="font-size:100%;color:#008080;">128</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }<br /></span><span style="font-size:100%;color:#008080;">129</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">130</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> protected </span><span style="font-size:100%;color:#0000FF;">function</span><span style="font-size:100%;color:#000000;"> button1_clickHandler(event:MouseEvent):</span><span style="font-size:100%;color:#0000FF;">void</span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">131</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> {<br /></span><span style="font-size:100%;color:#008080;">132</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> do_filter();<br /></span><span style="font-size:100%;color:#008080;">133</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }<br /></span><span style="font-size:100%;color:#008080;">134</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">135</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> protected </span><span style="font-size:100%;color:#0000FF;">function</span><span style="font-size:100%;color:#000000;"> button2_clickHandler(event:MouseEvent):</span><span style="font-size:100%;color:#0000FF;">void</span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">136</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> {<br /></span><span style="font-size:100%;color:#008080;">137</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> do_ektract();<br /></span><span style="font-size:100%;color:#008080;">138</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> }<br /></span><span style="font-size:100%;color:#008080;">139</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">140</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> ]]</span><span style="font-size:100%;color:#000000;">></span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">141</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"> </span><span style="font-size:100%;color:#000000;"><</span><span style="font-size:100%;color:#000000;">/</span><span style="font-size:100%;color:#000000;">fx:Script></span><span style="font-size:100%;color:#000000;"><br /></span><span style="font-size:100%;color:#008080;">142</span><span style="font-size:100%;"> </span><span style="font-size:100%;color:#000000;"><</span><span style="font-size:100%;color:#000000;">/</span><span style="font-size:100%;color:#000000;">s:View></span></div></pre><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin. http://dunnhq.com --></div></span><span style="font-size:100%;"><span><a href="http://www.2shared.com/file/cJs6e-1G/PornFiltering.html"><strong>Source Code</strong></a></span><span><strong> | <a href="http://www.2shared.com/file/Fz2QbhcW/PornFiltering.html">App Android (APK)</a></strong></span></span><br /></div><p style=" ;font-family:verdana;font-size:100%;"><span style="font-size:100%;"></span></p>TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com1tag:blogger.com,1999:blog-4306126322132936929.post-32959083907578164562011-01-26T02:08:00.002+07:002011-01-26T10:21:33.946+07:00[Review] Presentation at Flash Camp Indonesia January 20, 2011<p><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 2px 0px; display: inline; border-top: 0px; border-right: 0px" title="70760_1016721490_1256827_n" border="0" alt="70760_1016721490_1256827_n" align="left" src="http://lh3.ggpht.com/_UeBap64SbaA/TT8etynMhVI/AAAAAAAAAQM/0uivoQtuGBo/70760_1016721490_1256827_n%5B27%5D.jpg?imgmax=800" width="130" height="272" /> Acara Flash Camp pada tanggal 20 januari sudah berlalu, tetapi kesannya masih terus ada. Keinginan terus memajukan komunitas Adobe semakin besar, terutama komunitas <strong>Flex dan AIR</strong> yang tergolong masih baru. Coba kita flash back, AIR awalnya project sederhana dengan code name Apollo kala itu, sekarang sudah menjadi produk yang besar dan multiplatform semua sisi telah didukung dari Desktop (Windows, Mac OSX, dan Linux) dan Mobile (general phone, Android, dan Playbook). Nah pada tanggal 20 tersebut saya berkesempatan membahas tema yang sangat baru sekali yaitu <a href="http://www.slideshare.net/tubagus99/development-playbook-application-with-adobe-air-25-and-qnx-sdk">“Development Playbook Application With Adobe AIR 2.5 dan QNX SDK</a><strong></strong>”, kebetulan project di kantor ada yang berhubungan dengan playbook jadi sekalian riset juga buat aplikasi untuk demo di acara ini. Alhasil dibuatlah G-Spot. Sebetulnya ingin sekali lebih banyak mempresentasikan tentang pengembangan playbook serta demo G-Spot tetapi karena koneksi internet yang kurang baik dan waktunya sedikit, sehingga tidak memungkinkan. </p> <p> </p> <p> </p> <p> </p> <h4>Berikut aplikasi demo G-Spot pada Flash Camp Indonesia</h4> <p><strong>Apa sech G-Spot?</strong></p> <p><strong>G-Spot</strong> kepanjangan dari <strong>Gayaku Spot</strong>, saat ini sedang dikembangkan oleh Tubagus Saepul Anwar, Yoga Pratama, Adhi Pamungkas, dan Yoanudin. Project dimulai tanggal 1 januari 2010.</p> <p><strong></strong></p> <p><strong>Teknologi apa yang digunakan untuk pengembangan aplikasi G-Spot?</strong></p> <p>Adobe AIR 2.5 dan QNX SDK</p> <p><strong></strong></p> <p><strong>Apa saja fitur-fiturnya?</strong></p> <p>Saat ini fitur yang tersedia Cinema, Event, Restaurant, Shopping (Search), Wheather, Sport, dan Info kost</p> <p><strong></strong></p> <p><strong>Device Apa saja yang support sekarang ini?</strong></p> <p>Masih tersedia untuk Galaxy Tab dan Playbook, dan masih Beta Version</p> <p> </p> <p><strong>Apa saja kebutuhan G-Spot?</strong></p> <p>saat ini G-Spot masih menggunakn server biasa tapi kedepannya akan seperti ini</p> <ul> <li>MINIMAL SPECIFICATION FOR SERVER G-SPOT</li> <li>Server Type : Shared Hosting (Prefer. Dedicated)</li> <li>Server OS : Any Linux (Prefer. RedHat or Debian Distro)</li> <li>HDD Capacity : 1.2 GB (PHP 5 and MySQL 5)</li> <li>Server RAM : 2 GB (Prefer. 4G)</li> <li>Bandwidth : Unlimited (Local and International)</li> </ul> <p> </p> <p> </p> <h3 align="center">Screen shot dari G-Spot di Galaxy Tab</h3> <p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Samsung_Galaxy_Tab_1" border="0" alt="Samsung_Galaxy_Tab_1" src="http://lh6.ggpht.com/_UeBap64SbaA/TT8e2iEIVbI/AAAAAAAAAQQ/LFunpc2hmns/Samsung_Galaxy_Tab_1%5B7%5D.png?imgmax=800" width="659" height="443" /> </p> <p> </p> <p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Samsung_Galaxy_Tab_2" border="0" alt="Samsung_Galaxy_Tab_2" src="http://lh3.ggpht.com/_UeBap64SbaA/TT8e-GBTGII/AAAAAAAAAQU/MwfaVMiqHcU/Samsung_Galaxy_Tab_2%5B20%5D.png?imgmax=800" width="657" height="449" /><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Samsung_Galaxy_Tab_3" border="0" alt="Samsung_Galaxy_Tab_3" src="http://lh4.ggpht.com/_UeBap64SbaA/TT8fF299ziI/AAAAAAAAAQY/jD_DpR5ffkk/Samsung_Galaxy_Tab_3%5B8%5D.png?imgmax=800" width="655" height="438" /><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Samsung_Galaxy_Tab_4" border="0" alt="Samsung_Galaxy_Tab_4" src="http://lh4.ggpht.com/_UeBap64SbaA/TT8fMqUGkII/AAAAAAAAAQc/gmwvCcsW8a0/Samsung_Galaxy_Tab_4%5B7%5D.png?imgmax=800" width="655" height="437" />   <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Samsung_Galaxy_Tab_21" border="0" alt="Samsung_Galaxy_Tab_21" src="http://lh6.ggpht.com/_UeBap64SbaA/TT8fTxkLPrI/AAAAAAAAAQg/p7wweMQ1BxM/Samsung_Galaxy_Tab_21%5B9%5D.png?imgmax=800" width="655" height="436" /> <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Samsung_Galaxy_Tab_20" border="0" alt="Samsung_Galaxy_Tab_20" src="http://lh4.ggpht.com/_UeBap64SbaA/TT8fa2Vt2gI/AAAAAAAAAQk/Zjr5B8ygm_k/Samsung_Galaxy_Tab_20%5B8%5D.png?imgmax=800" width="655" height="438" /> <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Samsung_Galaxy_Tab_19" border="0" alt="Samsung_Galaxy_Tab_19" src="http://lh4.ggpht.com/_UeBap64SbaA/TT8fiAcklgI/AAAAAAAAAQo/iKGrjWF62Gs/Samsung_Galaxy_Tab_19%5B7%5D.png?imgmax=800" width="655" height="436" /> </p> <p> </p> <p><a href="http://lh6.ggpht.com/_UeBap64SbaA/TT8fnzjTryI/AAAAAAAAAQs/8b8rbWazV-A/s1600-h/Samsung_Galaxy_Tab_15%5B5%5D.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Samsung_Galaxy_Tab_15" border="0" alt="Samsung_Galaxy_Tab_15" src="http://lh4.ggpht.com/_UeBap64SbaA/TT8fuII0ZTI/AAAAAAAAAQw/ymPdbY9qpq0/Samsung_Galaxy_Tab_15_thumb%5B3%5D.png?imgmax=800" width="655" height="435" /></a> </p> <p> </p> <h3>Source Pengembangan Playbook dengan Adobe AIR 2.5 dan QNX SDK</h3> <ul> <li><a href="http://www.blackberry.com/developers/docs/airapi/1.0.0/index.html">http://www.blackberry.com/developers/docs/airapi/1.0.0/index.html</a></li> <li><a href="http://www.adobe.com/devnet/devices/articles/blackberry_tablet_os_sdk.html">http://www.adobe.com/devnet/devices/articles/blackberry_tablet_os_sdk.html</a></li> <li><a href="http://www.unitedmindset.com/jonbcampos/2010/10/25/flex-4-5-mobile-development-post-burrito/">http://www.unitedmindset.com/jonbcampos/2010/10/25/flex-4-5-mobile-development-post-burrito/</a></li> <li><a href="http://insideria.com/2010/08/detecting-screen-orientation-i.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+oreilly/insideria+(InsideRIA)">http://insideria.com/2010/08/detecting-screen-orientation-i.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+oreilly/insideria+(InsideRIA)</a></li> <li><a href="http://supportforums.blackberry.com/t5/Tablet-OS-SDK-for-Adobe-AIR/Flex-for-the-BlackBerry-PlayBook-in-90-Minutes/ta-p/720803">http://supportforums.blackberry.com/t5/Tablet-OS-SDK-for-Adobe-AIR/Flex-for-the-BlackBerry-PlayBook-in-90-Minutes/ta-p/720803</a></li> <li><a href="http://us.blackberry.com/developers/tablet/adobe.jsp">http://us.blackberry.com/developers/tablet/adobe.jsp</a></li> </ul> <p> </p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p align="center">*****</p>TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com2tag:blogger.com,1999:blog-4306126322132936929.post-91121539274657567952011-01-17T13:29:00.010+07:002011-01-19T01:18:31.002+07:00I’m Speaker Adobe Flash Camp 2011 Indonesia<p> </p> <p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Capture_bagus" border="0" alt="Capture_bagus" align="left" src="http://lh5.ggpht.com/_UeBap64SbaA/TTXW_P47bPI/AAAAAAAAAP0/ac5IQAzqBno/Capture_bagus%5B19%5D.png?imgmax=800" width="175" height="246" />Besok saya akan mempresentasikan “<strong>Development Playbook Application with Adobe AIR 2.5 and QNX SDK</strong>”, slide udah dibuat aplikasi demo udah ready, mudah-mudah berjalan dengan lancar dan fun, sedikit bocoran, saya akan menampilkan aplikasi playbook dan android yang saya buat dalam 2 minggu bersama tim saya. Aplikasi tersebut memiliki content movie, wheather, television, sport, event, restaurant, dan jual-beli</p> <p><strong>“See You Tommorow guys!”</strong></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <h3 align="center"><strong>Here the detail schedule Flash Camp 2011</strong> <br /></h3> <table border="1" cellspacing="0" cellpadding="1" width="656"><tbody> <tr> <td valign="top" width="200"><strong>Time</strong></td> <td valign="top" width="454"><strong>Agenda</strong></td> </tr> <tr> <td valign="top" width="200">07:30 - 08:00</td> <td valign="top" width="454">Registration</td> </tr> <tr> <td valign="top" width="200">08:00 - 08:15 </td> <td valign="top" width="454">Opening</td> </tr> <tr> <td valign="top" width="200">08:16 - 09:15 </td> <td valign="top" width="454">Bridging Adobe Flex, Adobe Air to Java Web Application with Adobe BlazeDS by Nova Saputra, Java Developer</td> </tr> <tr> <td valign="top" width="200">09:16 - 10:15</td> <td valign="top" width="454">Developer and Designer Workflow by Ahmad Fathi Hadi and Nata Chen, RIA Developer, Game/Creative Producer</td> </tr> <tr> <td valign="top" width="200">10:16 - 11:15</td> <td valign="top" width="454">Behind the scenes of MAX Racer and building realtime multiplayer experiences by Tom Krcha, Adobe Evangelist</td> </tr> <tr> <td valign="top" width="200">11:16 - 12:15</td> <td valign="top" width="454">Creating mashup apps using various social media API's and AS3 by Arie M. Prasetyo, Flex & Web Developer</td> </tr> <tr> <td valign="top" width="200"><strong>12:16 - 13:15</strong></td> <td valign="top" width="454"><strong>Break</strong></td> </tr> <tr> <td valign="top" width="200">13:16 - 14:15</td> <td valign="top" width="454">Virtual World with AS3isolib by Anggie Bratadinata, Flash Engineer</td> </tr> <tr> <td valign="top" width="200">14:16 - 15:15</td> <td valign="top" width="454"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="70760_1016721490_1256827_n" border="0" alt="70760_1016721490_1256827_n" align="left" src="http://lh5.ggpht.com/_UeBap64SbaA/TTXW__5IhmI/AAAAAAAAAP4/zeZTJQ1_XDQ/70760_1016721490_1256827_n%5B39%5D.jpg?imgmax=800" width="107" height="256" /> <br /> <br /> <br /> <br /> <br /> <br />Development Playbook Application with Adobe AIR 2.5 and QNX SDK by Tubagus S. Anwar, Flex/AIR Developer</td> </tr> <tr> <td valign="top" width="200"><strong>12:16 - 13:15</strong></td> <td valign="top" width="454"><strong>Break</strong></td> </tr> <tr> <td valign="top" width="200">15:46 - 16:45</td> <td valign="top" width="454">Augmented Reality by Rizal Akbar, Flash Developer</td> </tr> <tr> <td valign="top" width="200">16:46 - 17:15 </td> <td valign="top" width="454">Adobe User Group Indonesia by Ahmad Fathi Hadi</td> </tr> <tr> <td valign="top" width="200">17:16 - 18:00</td> <td valign="top" width="454">DoorPrize</td> </tr> </tbody></table> <p align="center">***</p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com2tag:blogger.com,1999:blog-4306126322132936929.post-48250766810799826522010-12-11T14:07:00.001+07:002010-12-11T14:07:36.937+07:00Alamat Tempat Ujian ACE di Indonesia<p><img title="Adobe Certified" alt="Adobe Certified" src="http://blog.fathihadi.net/files/2009/03/certified.gif" width="197" height="58" /></p> <p>Adobe Certified</p> <p>Banyak orang yang tidak mengetahui Adobe Certified, hampir semua orang yang saya tanyakan tentang rencana mereka untuk mengambil sertifikasi IT, mereka hanya mengetahui dua sertifikasi, Cicso dan Oracle. Ups, ko’ bisa yah ?. Padalah secara tidak disadarai banyak sekali produk Adobe yang kita gunakan, mulai dari Adobe Reader, Photoshop, Ilustrator, Flash,dll. Itu semua merupakan Teknologi dari Adobe. Sudahkan anda melengkapi diri anda dengan Sertifikasi dari Adobe ?. ada banyak jenis sertifikat yang dikeluarkan oleh Adobe, baik itu per produk, level, dan jenis. Seperti Adobe Certified Instructor (ACI), Adobe Certified Associate (ACA), Adobe Certified Professionals (ACPs), dan Adobe Certified Expert (ACE). Kali ini saya akan menjelaskan tentang Adobe Flex 3 with AIR ACE Exam.</p> <p>Adobe Flex 3 with AIR ACE Exam adalah bagian dari ACE. Terdapat 50 soal (Pilihan Ganda) yang dapat anda kerjakan, namun syarat kelulusan minimal adalah 67%. Mudah Bukan ?. klik <a href="http://blog.fathihadi.net/files/2009/03/topic-area.png">disini </a>untuk melihat Apa saja yang diujikan !. Untuk lebih detailnya lagi, silahkan klik <a href="http://partners.adobe.com/public/en/ace/ACE_Exam_Guide_FlexAIR.pdf">disini</a>. Terdapat banyak tempat di jakarta seperti :</p> <ul> <li>Brainmatics – Menara Bldakara suite 0205, 2nd Fl, JI. <br />Gatot Subroto Kav. 71-73,Pancoran. <br />Jakarta, 12870 <br />+62-21-83793383 </li> <li>Jaringan Nusantara – Wisma Kosgoro 8th Floor <br />Jl. MH. Thamrin kav. 53 <br />Jakarta, 10350 <br />021-39832414 </li> <li>NetTrain Informatika – The East Building 16th floor no. 1 <br />Jl. Lingkar Mega Kuningan Kav E3.2 no. 1 <br />Jakarta, 12950 <br />+62-21-57938538 </li> <li>PT Datacraft Indonesia – Menara Imperium LG Floor #06 <br />Jin.HR. Rasuna Said Kav. 1 <br />Jakarta, 12980 <br />+62-21-285-48092 </li> <li>PT. Andalan Nusantara Teknologi – Wisma Slipi 11th Floor <br />JI Letjen S. Parman <br />Kav. 12 <br />Jakarta, 11480 <br />+62215307228 </li> </ul> <p>Oh iya, harganya $150 US Dolar. mmm, fikir-fikir lagi deh,hehehe. untungnya saya punya kupon gratis sebagai AUGM. Mungkin dalam tahun ini saya dan beberapa teman dari Indonesian Flex Community akan berencana mengambil ACE. Saya sendiri ingin mengambil Adobe Flex 3 with AIR ACE Exam dan Adobe® Captivate® 3 Exam.</p> <p></p> source : <a title="http://goo.gl/huC69" href="http://goo.gl/huC69">http://goo.gl/huC69</a> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com0tag:blogger.com,1999:blog-4306126322132936929.post-1031846514392478192010-12-11T14:02:00.002+07:002010-12-12T14:03:05.627+07:00Flash Camp Indonesia 2011<p><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="http://images.groups.adobe.com/132b7f5/adobe_camp.png" src="http://images.groups.adobe.com/132b7f5/adobe_camp.png" /></p> <p>Dear Community <br />Perkenalkan kami dari Adobe User Group Indonesia akan mengadakan acara Adobe Camp Indonesia.  <br />Seperti di kutip dari Adobe, bahwa Adobe Camp adalah :</p> <ul> <li>celebrations of the talents of the local community. They showcase the skills of local developers and designers to inspire and train the attendees. Adobe speakers also participate in Camps.</li> <li>events that expose people to Adobe tools. This is done using many creative approaches, such as demos, hands-on trainings, and team coding sessions to just name a few</li> <li>events that feature case studies and examples of projects built using Adobe technologies</li> <li>events that raise awareness of the local Adobe community and introduce attendees to the local user groups</li> </ul> <p>Kami mengundang teman-teman komunitas untuk mengadiri acara ini, berikut detail acara :</p> <p>Nama:Adobe Camp Indonesia</p> <p>Focus:Adobe Flash Platform</p> <p>Tempat:Universitas Budi Luhur</p> <p>Jl. Cileduk Raya Petukangan Utara</p> <p>Jakarta Selatan 12260</p> <p>Tanggal:20 Januari 2011. Pukul 08-00 s/d 17:00</p> <p>Biaya:<b>Free</b></p> <p>Pembicara</p> <p>Tomas Krcha (Adobe Platform Evangelist)</p> <p>Ahmad Fathi Hadi (RIA and Mobile Developer)</p> <p>Ari Setyo (Flex and Web Developer)</p> <p>Anggie Baratadinata (senior Flash Game engineer -<a href="http://handson.com/">handson.com</a>)</p> <p>Tubagus Saepul Anwar (Flex and AIR Developer)</p> <p>Nata Chen (Game / Creative Producer)</p> <p>Nova Saputra (Java Developer)</p> <p>Rizal Akbar (Flash Developer)</p> <p>Contact: <br />Ahmad Fathi Hadi (081808497749)</p> <p>Anda dapat mendaftar melalui <a href="http://adobecampindonesia2011.eventbrite.com/">http://adobecampindonesia2011.eventbrite.com/</a> <br /><b>Pada akhir acara kami akan mengundi satu orang pemenang yang akan berhak mendapatkan lisensi dengan total $2100</b></p> <p>-- </p> <p>Ahmad Fathi Hadi <br /><a href="http://blog.fathihadi.net/">http://blog.fathihadi.net</a> <br />Rich Internet Application and Mobile Developer Specializing in Adobe Technology <br />Adobe Community Champio</p>TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com0tag:blogger.com,1999:blog-4306126322132936929.post-84848863475626913922010-09-03T00:09:00.000+07:002010-09-03T02:40:50.962+07:00Adobe AIR, Pandangan, Harapan ..<p>Hampir 2 tahun ini saya bergelut dengan Adobe AIR untuk membuat <strong>software real-time</strong> di perusahaan sekuritas, banyak tantangan dan perjuangan yang saya lakukan untuk membuat software tersebut, Pengalaman dan pembelajaran saya lakukan mulai dari tidak tahu menjadi tahu istilah kerennya “<strong>from zero to Hero</strong>”, seperti Flex SDK terbaru aja from <a href="http://labnol.blogspot.com/2005/12/adobe-apollo-acrobat-reader-flash.html">zero</a> to <a href="http://opensource.adobe.com/wiki/display/flexsdk/Hero">Hero</a>.</p> <p>Adobe awalnya bernama Apollo pada tahun 2007, Apollo sendiri adalah gabungan antara teknologi Acrobat Reader dan Flash Player yang bisa berjalan secara independen tanpa browser dan AIR bisa dikembangan bersama dengan flex, flash, html, ajax. Pada perkembangan tahun 2008 Adobe sudah mengembangkan Adobe Apollo menjadi Adobe AIR (<b>Adobe Integrated Runtime</b> ) yang di rilis dengan versi 1.0, kemudian perkembangan yang cukup stabil pada versi 1.5.kemudian yang terakhir saat ini saya menulis blogs ini adalah versi 2.0.2, pada versi sudah banyak sekali perbaikkan maupun penambahan seperti secara singkat dapat saya sebutkan sebag berikut :</p> <p> </p> <ol> <li> <p>Native process API, dukungan nativeProses yang memungkin kita bisa berkomunikasi dengan <a href="http://www.adobe.com/devnet/air/flex/quickstart/interacting_with_native_process.html">native aplikasi</a> , misalkan aplikasi yang dibuat menggunakan bahasa C, C++, java, dan .NET. dan komunikasi tersebut dilakukan dengan standar  input dan output</p> </li> <li> <p>Native document handlers to open documents, file-file seperti PDF, PSD, DOC, PPT, and MP3 bisa di asosiasikan menggunakn native application associated, sehingga langsung diarahkan ke aplikasi yang tepat, misanya file pdf diasosiasikan dengan Adobe Acrobat reader.</p> </li> <li> <p>Local microphone API</p> </li> <li> <p>UDP networking support</p> </li> <li> <p>lebih jelas dapat di lihat di <a href="http://www.adobe.com/products/air/features/">sini</a></p> <p></p> </li> </ol> <p> </p> <p> </p> <p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Untitled-1" border="0" alt="Untitled-1" src="http://lh4.ggpht.com/_UeBap64SbaA/TH_8ZEso7xI/AAAAAAAAAPg/C2k-4JwdsZc/Untitled-1%5B8%5D.png?imgmax=800" width="260" height="244" /> </p> <p><strong><font size="3">                                 [  FLEX = AIR = Flash = ActionScript ]</font></strong></p> <p><strong></strong></p> <p><strong></strong></p> <p><strong></strong></p> <p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="cartoon14" border="0" alt="cartoon14" src="http://lh3.ggpht.com/_UeBap64SbaA/TH_8aAITtiI/AAAAAAAAAPk/aNwrK5xFXWc/cartoon14%5B24%5D.jpg?imgmax=800" width="660" height="472" /> </p> <p><strong>Pandangan Singkat:</strong></p> <p>Bagi saya Adobe memiliki komitmen yang baik dalam mengembangan produk-produknya, meskipun beberapa produknya diklaim kurang bagus, seperti teknologi flash yang ditolak oleh pihak apple. Hal tersebut mungkin memberikan keuntungan dan kerugian, keuntungannya adalah pihak Adobe dapat kritikan yang pedas dan harus memperbaiki kekurangan dan terus maju, Kerugiannya terhadap perusahaan atau developer yang sudah berharap dapat menjalankan teknologi flash di di OS apple (Iphone & IPad), ternyata gagal total.</p> <p>Saya memprediksikan bahwa teknologi Flash untuk beberapa tahun kedepan masih akan terus dipakai karena dalam beberapa Hal Flash sudah tergolong mature, misalnya untuk animasi, aplikasi Multimedia, dan mobile. Dan sekarang Adobe berkerjasama dengan google untuk membuat teknologi flash supaya bisa berjalan dengan baik di OS yang dikembangkan oleh google yang bernama Android, dan saat ini yang sudah mendukung teknologi AIR/Flash yaitu Android <a href="http://developer.android.com/sdk/index.html">versi 2.2 (Froyo).</a></p> <p><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="android" border="0" alt="android" align="right" src="http://lh6.ggpht.com/_UeBap64SbaA/TH_8ayT7X9I/AAAAAAAAAPo/QlpJKqGWgwg/android%5B15%5D.png?imgmax=800" width="158" height="240" /></p> <p>Beberapa Vendor yang menggunakan AIR yang tergolong kreatif dan terus berkembang</p> <ol> <li>ebay</li> <li>nasdaq</li> <li>Lebih detil lihat di <a href="http://www.adobe.com/cfusion/marketplace/index.cfm?event=marketplace.home&marketplaceid=1">market place Adobe</a> dan <a href="http://www.adobe.com/cfusion/showcase/index.cfm?event=finder&productid=351521&loc=en_us">success Stories</a></li> </ol> <p> </p> <p><strong>Harapan Kedepan:</strong></p> <ol> <li>Adobe AIR/Flash/Flex memiliki penanganan multithread, bukan singlethread . Karena pada umumnya teknologi dektop lebih mumpuni jika bisa memiliki kemampuan tersebut.</li> <li>Adobe bisa memberikan harapan kepada semua orang dengan project open source-nya seperti <a href="http://labs.adobe.com/technologies/air2/android/">Adobe AIR for Android</a>, <a href="http://www.openscreenproject.org/">Open Screen Project</a>, dan <a href="http://opensource.adobe.com/wiki/display/site/Home">lain-lain</a></li> <li>Dukungan Adobe for Indonesia, paling tidak memiliki perwakilan di Indonesia (*saya siap jadi calon Direkturnya >_<)</li> </ol> <p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="android-adobe-air" border="0" alt="android-adobe-air" src="http://lh3.ggpht.com/_UeBap64SbaA/TH_8bteth-I/AAAAAAAAAPs/8NuWLuELUGU/android-adobe-air%5B8%5D.jpg?imgmax=800" width="240" height="153" />  </p> <p>Continue …</p> <p> </p> <p>source :</p> <p><a href="http://en.wikipedia.org/wiki/Adobe_Integrated_Runtime">http://en.wikipedia.org/wiki/Adobe_Integrated_Runtime</a></p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com2tag:blogger.com,1999:blog-4306126322132936929.post-82102419785045905652010-06-16T23:56:00.000+07:002010-06-17T00:00:22.874+07:00Berbagi cerita saat acara 'The Actionscript Conference' di Singapur<p>Wah sudah lama tidak nge-blogs, saking sibuknya dengan project yang saya kerjakan. akhirnya lupa untuk mengisi blok saya. Kebetulan saya ada waktu hari ini, terus melihat folder photo satu tahun yang lalu jadi teringat acara TAC'09 saat melihat photo berikut :</p> <p><a href="http://lh5.ggpht.com/_UeBap64SbaA/TBkBA958lsI/AAAAAAAAAO8/EyqA8Fq2Mxw/s1600-h/P14-09-09_15.33%5B14%5D.jpg"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="P14-09-09_15.33" align="left" src="http://lh5.ggpht.com/_UeBap64SbaA/TBkBQQNSHiI/AAAAAAAAAPA/FgfqhVE7OBc/P14-09-09_15.33_thumb%5B10%5D.jpg?imgmax=800" width="443" height="342" /></a></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Bersama dengan <a href="http://casario.blogs.com/">Marco Casario</a></p> <p> </p> <p><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="P14-09-09_08.53" align="left" src="http://lh3.ggpht.com/_UeBap64SbaA/TBkBUB_tyZI/AAAAAAAAAPE/6-LaEH4tpzM/P14-09-09_08.53%5B13%5D.jpg?imgmax=800" width="427" height="330" /></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>di depan ruangan konfrensi <a href="http://tac.sg/">TAC'09</a></p> <p> </p> <p><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="P14-09-09_15.31" align="left" src="http://lh6.ggpht.com/_UeBap64SbaA/TBkBXG6gdUI/AAAAAAAAAPI/nNfIyG9ovSo/P14-09-09_15.31%5B9%5D.jpg?imgmax=800" width="435" height="334" /> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>saya (tubagus) dengan <a href="http://www.peterelst.com/">Peter Elst</a></p> <p><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="P14-09-09_11.33" align="left" src="http://lh5.ggpht.com/_UeBap64SbaA/TBkBavf1AMI/AAAAAAAAAPM/n2YtjB5uPyU/P14-09-09_11.33%5B16%5D.jpg?imgmax=800" width="442" height="352" /> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="P15-09-09_1305" src="http://lh5.ggpht.com/_UeBap64SbaA/TBkBkMU_1UI/AAAAAAAAAPQ/JrHevT6LY1g/P15-09-09_1305%5B5%5D.jpg?imgmax=800" width="443" height="339" /> </p> <p>saya(tubagus), team <a href="http://blog.papervision3d.org/">papervision 3d (madoka & takanori kessoku),</a> dan jhony..</p> <p><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="P14-09-09_08.59" src="http://lh6.ggpht.com/_UeBap64SbaA/TBkBoy_tz8I/AAAAAAAAAPU/Qso0LS-xu-Y/P14-09-09_08.59%5B6%5D.jpg?imgmax=800" width="452" height="347" /> </p> <p> </p> <p>continue ...</p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com4tag:blogger.com,1999:blog-4306126322132936929.post-56830591514832400862009-03-06T23:59:00.001+07:002009-03-23T23:40:56.547+07:00Project Flex yang lagi HOT<p>Berikut Link project flex yang lagi berkembang</p> <p><a href="http://nuigroup.com/touchlib/"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="touchimg" align="left" src="http://lh6.ggpht.com/_UeBap64SbaA/SbFWfZ3b8aI/AAAAAAAAANk/fBxpB8fwQbo/touchimg%5B10%5D.jpg?imgmax=800" width="125" height="96" /></a> <a href="http://nuigroup.com/touchlib/">TouchLib</a>, Touchlib is a library for creating multi-touch interaction surfaces. It handles tracking blobs of infrared light, and sends your programs these multi-touch events, such as 'finger down', 'finger moved', and 'finger released'. It includes a configuration app and a few demos to get you started, and will interace with most types of webcams and video capture devices. It currently works only under Windows but efforts are being made to port it to other platforms.</p> <p> </p> <p><a href="http://merapiproject.net/">Merapi</a>, Merapi is a bridge between applications written in Java and those running in and created for Adobe AIR™ (Adobe Integrated Runtime™).Merapi has been designed to run on a user's machine, along with an Adobe AIR™application and providea direct bridge between the Adobe AIR™ framework and Java, exposing the power and overall calabilities of the user's operating system, including 3rd party hardware devices.<a href="http://merapiproject.net/"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="bridge" src="http://lh4.ggpht.com/_UeBap64SbaA/SbFWiwjzBvI/AAAAAAAAANw/AI6abYJvWDo/bridge%5B5%5D.jpg?imgmax=800" width="428" height="266" /></a> </p> <p> </p> <p><a href="http://www.degrafa.org/" target="_blank"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="degrafa-icon-lrg" align="left" src="http://lh4.ggpht.com/_UeBap64SbaA/Sce7gLA81aI/AAAAAAAAAN4/C0mWKfBY6uU/degrafa-icon-lrg%5B8%5D.png?imgmax=800" width="102" height="109" /></a> <a href="http://www.degrafa.org/" target="_blank">Degrafa</a> is an open source declarative graphics framework for Flex used by some of the industry's top designers and developers. The framework can be used for a wide variety of purposes, ranging from rich user interfaces to intense graphics editing.</p> <p> </p> <p> </p> <p> </p> <p><a href="http://mate.asfusion.com/"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="banner_mate2" align="left" src="http://lh5.ggpht.com/_UeBap64SbaA/Sce7g_iy9uI/AAAAAAAAAN8/Lu1QVHF5OCI/banner_mate2%5B5%5D.jpg?imgmax=800" width="248" height="64" /></a> </p> <p><a href="http://mate.asfusion.com/">Mate</a> is a tag-based, event-driven Flex framework.</p> <p>Flex applications are event-driven. Mate framework has been created to make it easy to handle the events your Flex application creates. Mate allows you to define who is handling those events, whether data needs to be retrieved from the server, or other events need to be triggered.</p> <p>In addition, Mate provides a mechanism for dependency injection to make it easy for the different parts of your application to get the data and objects they need.</p> <p> </p> <p><a href="http://code.google.com/p/openflux/"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="openflux-logo-002" align="left" src="http://lh6.ggpht.com/_UeBap64SbaA/Sce7i_ZPWAI/AAAAAAAAAOA/Kt1jcmLwxWQ/openflux-logo-002%5B11%5D.png?imgmax=800" width="173" height="67" /></a> </p> <p><a href="http://code.google.com/p/openflux/">OpenFlux</a> is an open-source component framework for Flex which makes radically custom component development fast and easy.</p> <p> </p> <p> </p> <p> </p> <p><a href="http://code.google.com/p/flexlib/"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="flexlib_logo" align="left" src="http://lh6.ggpht.com/_UeBap64SbaA/Sce7lWJhhOI/AAAAAAAAAOE/Nl5bv9vQgPA/flexlib_logo%5B7%5D.jpg?imgmax=800" width="278" height="88" /></a> </p> <p>The <a href="http://code.google.com/p/flexlib/">FlexLib</a> project is a community effort to create open source user interface components for Adobe Flex 2 and 3. </p> <p>Current components: AdvancedForm, Base64Image, EnhancedButtonSkin, CanvasButton, ConvertibleTreeList, Draggable Slider, Fire, Highlighter, HorizontalAxisDataSelector IconLoader, ImageMap, PromptingTextArea, PromptingTextInput, Scrollable Menu Controls, SuperTabNavigator, Alternative Scrolling Canvases, Horizontal Accordion, TreeGrid, FlowBox, Docking ToolBar, Flex Scheduling Framework </p> <p> </p> <p>anybody want to add this list??</p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com4tag:blogger.com,1999:blog-4306126322132936929.post-72510921915338486332009-03-06T23:43:00.001+07:002009-03-06T23:43:43.737+07:00Kenalan dengan BlazeDS<p>BlazeDs adalah sebuah message adapter untuk flex dan java, BlazeDS ini bisa menterjemahkan objek dari java ke actionScript dan sebaliknya. BlazeDS mengggunkan protokol yang disebut dengan Action Message Format (AMF) untuk mengirim data kembali dan seterusnya. AMF mempunyai format binary yang artinya mempunyai pesan yang lebih kecil dibandingkan dengan pesan XML, sehingga hasilnya lebih baik dalam hal performance daripada webservice SOAP. Dasar dari Blaze diambil dari java bean (kelas value objeck), dan merubahnya menjadi sesusai dengan ActionScript Value Object. Blaze menggunakan refleksi untuk mencari kepingan bean apa saja untuk di serialize. Selama refleksi blaze menggunakan java.bean.PropertyDescriptor untuk menentukan apakah  field berlaku untuk serialisasi. pada dasarnya itu berarti semau getter yang match dengan setter diserialisasi. sehinga getCostumerName() harus cocok dengan setCostumerName(String n) untuk bisa diserialisasi. </p> <p>BlazeDS merupakan open source, tersedia secara free. BlazeDS didesain untuk mengirimkan data dan memproses pesan dari apllikasi Flex runtime. BlazeDS memiliki fitur sebagia berikut:</p> <ul> <li>Proxy Service, mendukung proxy HTTP request dan merespon antara aplikasi Flex dan remote Service. Service ini umumnya digunakan saat komunikasi langsung antara client dan server dilarang karena masalah cross-domain security</li> <li>Remoting Service, adalah sebuah server-side gateway yang memperbolehkan aplikasi Flex untuk memanggil method kelas server-side java menggunakan binary AMF</li> <li>Message Service, Mendukung kolaborasi antara aplikasi Flex melalui arsitektur pesan hub-and-spoke. Aplikasi Flex mengirim pesan ke BlazeDS, dan BlazeDS menyebarkan pesan tersebut ke client yang terhubung.</li> </ul> <p><a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/">Download BlazeDS</a></p> <p>Referensi : Enterprise Flex with BlazeDS, Brian Telintelo (2009)</p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com0tag:blogger.com,1999:blog-4306126322132936929.post-62492910191726493312009-02-28T15:57:00.001+07:002009-02-28T15:57:39.003+07:00IDE untuk pengembangan FLEX dan AIR<p>Berikut <a href="http://id.wikipedia.org/wiki/Integrated_Development_Environment">IDE</a> untuk pengembangan FLEX dan AIR :</p> <ul> <li><strong><a href="http://www.adobe.com/products/flex/">Flex Builder</a></strong> (commercial license and free for academics - <a href="http://freeriatools.adobe.com/">http://freeriatools.adobe.com/</a>)</li> <li><strong><a href="http://www.flashdevelop.org/">FlashDevelop</a></strong> (Open Source, only windows version) </li> <li><strong><a href="http://fdt.powerflasher.com/">FDT</a></strong> (commercial license)</li> <li><strong><a href="http://www.jetbrains.com">IntelliJ IDEA 8.0</a></strong> (commercial license)</li> <li><strong><a href="http://www.aptana.com/air">Aptana</a></strong> (free and commercial versions)</li> <li><strong><a href="http://www.ensemble.com/products/tofino.html">Tofino</a></strong> (Free)</li> <li><strong><a href="http://www.sapphiresteel.com/Adobe-Flex-In-Visual-Studio">Amethyst Personal Edition</a></strong> (Free) </li> <li><strong><a href="http://sourceforge.net/projects/flexbean/">FlexBean</a></strong> (Open Source)</li> <li><strong><a href="http://axdt.org">AXDT</a></strong> (Open Source)</li> <li><strong><a href="http://flex.org/tour">Tour de Flex</a></strong> (Flex capabilities demo app</li> </ul> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com1tag:blogger.com,1999:blog-4306126322132936929.post-24615958548523060752009-02-27T23:36:00.001+07:002009-02-27T23:36:04.587+07:00Framework MVC di Flex dan AIR<p> </p> <ul> <li><strong><a href="http://opensource.adobe.com/wiki/display/cairngorm/">Cairngorm</a></strong> (Adobe Open Source) </li> <p>Cairngorm is the lightweight micro-architecture for Rich Internet Applications built in Flex or AIR. A collaboration of recognized design patterns, Cairngorm exemplifies and encourages best-practices for RIA development advocated by Adobe Consulting, encourages best-practice leverage of the underlying Flex framework, while making it easier for medium to large teams of software engineers deliver medium to large scale, mission-critical Rich Internet Applications. </p> <p>Cairngorm is now evolving towards a project that will invite community leaders and enterprise adopters to partner with Adobe Consulting in the ongoing development of Cairngorm.</p> <li><strong><a href="http://puremvc.org/">PureMVC</a></strong> (Open Source), </li> <p><strong><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="puremvc-icon" src="http://lh6.ggpht.com/_UeBap64SbaA/SagWcE6VbxI/AAAAAAAAANY/ToPjsIOmY_E/puremvc-icon%5B4%5D.jpg?imgmax=800" width="248" height="159" /> </strong></p> <p><strong>PureMVC</strong> is a lightweight framework for creating applications based upon the classic <a href="http://en.wikipedia.org/wiki/Model-View-Controller">Model, View and Controller</a> concept. </p> <p>Based upon proven design patterns, this free, open source framework which was originally implemented in the ActionScript 3 language for use with Adobe Flex, Flash and AIR, is now being ported to all major development platforms.</p> <p>Two versions of the framework are supported with reference implementations; <strong>Standard </strong>and <strong>MultiCore</strong>.  </p> <p>In short, the <strong>Standard Version</strong> provides a simple methodology for separating your coding interests according to the MVC concept. Beyond that, the <strong>MultiCore Version</strong> allows multiple PureMVC applications to run within the same virtual machine; modular programming. </p> <p>Though the two versions are very similar they are maintained separately, because for applications that don't need modular functionality (or on development platforms that lack support for it), the Standard Version is adequate.</p> <li><strong><a href="http://mate.asfusion.com/">Mate</a></strong> (Open Source) </li> <p>Mate is a tag-based, event-driven Flex framework.</p> <p>Flex applications are event-driven. Mate framework has been created to make it easy to handle the events your Flex application creates. Mate allows you to define who is handling those events, whether data needs to be retrieved from the server, or other events need to be triggered.</p> <p>In addition, Mate provides a mechanism for dependency injection to make it easy for the different parts of your application to get the data and objects they need.</p> <li><strong><a href="http://code.google.com/p/swizframework/">Swiz</a></strong> (Open Source) <p>Swiz is a framework for Adobe Flex that aims to bring complete simplicity to RIA development. Swiz provides Inversion of Control, event handing, and simple life cycle for asynchronous remote methods. In contrast to other major frameworks for Flex, Swiz imposes no JEE patterns on your code, no repetitive folder layouts, and no boilerplate code on your development. Swiz represents best practices learned from the top RIA developers at some of the best consulting firms in the industry, enabling Swiz to be simple, lightweight, and extremely productive.</p> </li> <li><strong><a href="http://www.pranaframework.org/">Spring ActionScript</a></strong> (Open Source)</li> <p><em><strong>Note</strong>: The <strong>Spring ActionScript</strong> framework was formerly known as the Prana framework and has now been moved under the Spring umbrella as a Spring Extensions project.</em></p> <p><strong>Spring ActionScript is an Inversion of Control (IoC) Container for ActionScript 3.0</strong>, and more specifically the Flex framework. It enables you to configure objects and components in a non-intrusive way by describing them in an external xml document and having them loaded at runtime.</p> <p>At its core is a Spring-ish application context and IoC container. The xml dialect for the application context is aimed to be Spring compliant.</p> <p>Further, the framework also contains utility classes for configuring and extending <a href="http://labs.adobe.com/wiki/index.php/Cairngorm">Cairngorm</a> and <a href="http://puremvc.org/">PureMVC</a> applications, an MVCS base architecture and general utilities. In the future we’ll be looking into adding AOP support, and we’re always open for suggestions.</p> </ul> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com0tag:blogger.com,1999:blog-4306126322132936929.post-40146436642910144802009-02-27T00:08:00.001+07:002009-02-27T00:08:46.761+07:00Mengenal File properties pada .XML pada Project AIR<p>Setelah membuat project AIR dengan menggunakan FlexBuilder bisanya ada beberapa File dan Folder yang terbentuk misalnya terlihat pada gambar berikut:</p> <p><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="projectAIR" src="http://lh6.ggpht.com/_UeBap64SbaA/SabMm9_YaAI/AAAAAAAAANU/dOPRdktuz6E/projectAIR%5B6%5D.png?imgmax=800" width="308" height="120" /> </p> <p>ada file newProjectAIR.MXML dan newProjectAIR-app.XML, newProjectAIR.MXML  adalah suatu aplikasi utama dan newProjectAIR-app.XML adalah propertie dari aplikasi utama. Properties tersebut isi terbagi menjadi Basic settings, Installation settings, dan Window settings</p> <p>berikut isi dari  newProjectAIR-app.XML</p> <p><?xml version=”1.0” encoding=”UTF-8”?> <br /><application xmlns=”<a href="http://ns.adobe.com/air/application/1.0”">http://ns.adobe.com/air/application/1.0”</a>> <br /><id>org.airbible.project</id> <br /><filename>newProjectAIR</filename> <br /><name>newProjectAIR</name> <br /><version>v1</version> <br /><initialWindow> <br /><content></content> <br /></initialWindow> <br /><!-- <installFolder></installFolder> --> <br /><!-- <programMenuFolder></programMenuFolder> --> <br /><!-- <icon> <br /><image16x16></image16x16> <br /><image32x32></image32x32> <br /><image48x48></image48x48> <br /><image128x128></image128x128> <br /></icon> --> <br /><!-- <customUpdateUI></customUpdateUI> --> <br /><!-- <allowBrowserInvocation></allowBrowserInvocation> --> <br /><!-- <fileTypes> --> <br /><!-- <fileType> --> <br /><!-- <name></name> --> <br /><!-- <extension></extension> --> <br /><!-- <description></description> --> <br /><!-- <contentType></contentType> --> <br /><!-- The icon to display for the file type. Optional. --> <br /><!-- <icon> <br /><image16x16></image16x16> <br /><image32x32></image32x32> <br /><image48x48></image48x48> <br /><image128x128></image128x128> <br /></icon> --> <br /><!-- </fileType> --> <br /><!-- </fileTypes> --> <br /></application></p> <p>Penjelasan:</p> <p>Basic settings berisi</p> <p><id></id> <br /><filename></filename> <br /><name></name> <br /><version></version> <br /><description></description> <br /><copyright></copyright></p> <p>id, ini akan digunakan untuk mengenali aplikasi dan id ini digunakan oleh kelas LocalConnection saat memverifikasi asal aplikasi dan saat update aplikasi</p> <p>filename, digunakan sebagai nama file aplikasi ketika di install, nama file bisa berisi sembarang unicode (UTF-8) kecuali karakter *, “, :, >, <, ?, \, dan |</p> <p>Version, ini didefinisikan oleh publisher, version ini digunakan untuk identifikasi versi aplikasi </p> <p>Description, deskripsi ini akan tampil di installer saat kita menginstal aplikasi <br /> <br />Name, nama boleh diisi dan juga tidak tetapi dianjurkan untuk mengisinya karena ini akan muncul di title bar saat kita menginstal aplikasi. ini juga digunakan sebagai nama folder saat installasi <br /> <br />Copyright, informasi copyright akan muncul di OS X didalam about dialog Box <br /></p> <p>Installation settings berisi</p> <p><installFolder></installFolder> <br /><programMenuFolder></programMenuFolder></p> <p> </p> <p>Install folder, berisi path dari folder installasi.Tetapi pada umumnya jika ini tidak diisi maka dia akan secara default berada pada program file.</p> <p>Program menu folder, hanya bisa digunakan di windows saja.</p> <p>Window settings berisi:</p> <p><initialWindow> <br /><content></content> <br /><title></title> <br /><systemChrome></systemChrome> <br /><transparent></transparent> <br /><visible></visible> <br /><minimizable></minimizable> <br /><maximizable></maximizable> <br /><resizable></resizable> <br /><width></width> <br /><height></height> <br /><x></x> <br /><y></y> <br /><minSize></minSize> <br /><maxSize></maxSize> <br /></initialWindow></p> <p>Content dan title, content berisi deskripsi file dan title akan tampil di title window saat pertama kali muncul <br /></p> <p>System chrome, ini adalah settingan untuk bingkai pada jendela windows ada 2 value untuk ini yaitu "standard" atau"none", jika pilih none maka bingkai pada jendela windows akan hilang</p> <p>transparent, ini akan berfungsi jika System chrome di set none, valuenya hanya true atau false</p> <p>visible, valuenya hanya true atau false</p> <p>minimizable, valuenya hanya true atau false</p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com0tag:blogger.com,1999:blog-4306126322132936929.post-90106751122990772152009-02-26T22:43:00.001+07:002009-02-26T22:44:55.585+07:00Adobe AIR 1.5.1 telah di Rilis<p><a href="http://lh4.ggpht.com/_UeBap64SbaA/Saa4rIxp4vI/AAAAAAAAANM/G4CVN0Fna80/s1600-h/air_icon_special%5B4%5D.gif"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="air_icon_special" align="left" src="http://lh4.ggpht.com/_UeBap64SbaA/Saa4tjq7icI/AAAAAAAAANQ/-_tuevNqWIc/air_icon_special_thumb%5B2%5D.gif?imgmax=800" width="100" height="100" /></a> </p> <p>Pada tanggal 24 Februari adobe merilis Adobe AIR ver 1.5.1 versi ini sudah  includes new API`s; InvokeEvent, Capabilities.cpuArchitecture. Along with an updated Adobe  Flash player (version 10.0.22).</p> <p><a href="http://www.adobe.com/support/documentation/en/air/1_5_1/releasenotes_developers.html#new_features">Release Note AIR</a> | <a href="http://get.adobe.com/air/">Download AIR 1.5.1</a></p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com0tag:blogger.com,1999:blog-4306126322132936929.post-33480917154037484682009-02-24T22:53:00.002+07:002009-02-24T22:58:45.268+07:00Mendebug code di Flex dan AIR, Tool tambahan Debug<p>untuk mendebug suatu aplikasi di Flex dan AIR kita bisa menggunakan cara</p> <p>menggunakan fungsi trace, fungsi ini sangat simple digunakan kita cukup mengetik trace("text"), trace(variabel) contoh :</p> <p>trace("Hello World!"); // menghasilkan: "Hello World!" <br />var myObj:Object= {item:"item 1", desc:'This is item 1'}; <br />trace(myObj); // menghasilkan: [object Object]</p> <p>Menggunakan perpective Debug pada FlexBuilder, cara ini adalah menggunakan fasilitas FlexBuilder untuk mendebug dengan memberikan breakpoint pada baris kode. dan debuger pada aplikasi akan membaca code satu persatu sesuai dengan urutan code-nya jika pada baris ada sebuah breakpoint maka dia akan berhenti pada titik tersebut dan memperlihatkan kondisi variable pada baris tersebut.</p> <p>contoh sederhana menggunakan breakpoint pada debug, </p> <p>1. Buat project flex dengan nama latihanDebug kemudian file latihanDebug.MXML diisi code berikut:</p> <p><?xml version="1.0" encoding="utf-8"?> <br /><mx:Application xmlns:mx="<a href="http://www.adobe.com/2006/mxml">http://www.adobe.com/2006/mxml"</a> <br /> layout="absolute" creationComplete="init()"> <br /> <mx:Script> <br /> <![CDATA[ <br /> private function init():void{ <br /> var x:int=1; <br /> var y:int=2; <br /> var z:int=0; <br /> z=x+y; <br /> trace(z); <br /> } <br /> ]]> <br /> </mx:Script> <br /></mx:Application></p> <p>2. save dan kemudian, buat masuk ke mode Flex Debugging, kemudian buat breakpoint pada line dengan mengklik dua kali pada nomor baris baris, misal seperti ini:</p> <p><a href="http://lh4.ggpht.com/_UeBap64SbaA/SaQXbTGijNI/AAAAAAAAAMg/BvVHzAJQbtw/s1600-h/breakpoint%5B4%5D.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="breakpoint" src="http://lh4.ggpht.com/_UeBap64SbaA/SaQXecASLJI/AAAAAAAAAMk/722QUylsd9k/breakpoint_thumb%5B2%5D.png?imgmax=800" width="449" height="239" /></a> </p> <p>kemudian jalankan debug dengan mengklik icon debug ato tekan tombol F11, dan akan menghasilkan seperti ini</p> <p><a href="http://lh6.ggpht.com/_UeBap64SbaA/SaQXjNAJ5QI/AAAAAAAAAMo/xaptch18_dA/s1600-h/debug01%5B3%5D.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="debug01" src="http://lh4.ggpht.com/_UeBap64SbaA/SaQXo-agglI/AAAAAAAAAMs/SnYe2yDkEYw/debug01_thumb%5B1%5D.png?imgmax=800" width="654" height="366" /></a> </p> <p>untuk melanjutkan debug bisa mengklik tombol resume</p> <p> <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="tombol" src="http://lh5.ggpht.com/_UeBap64SbaA/SaQXrD28jAI/AAAAAAAAAMw/fZMXLJL5xTw/tombol%5B12%5D.png?imgmax=800" width="42" height="40" /></p> <p>gambar tombol resume</p> <p>Bila debug terus dilanjutkan sampai posisi breakpoint terakhir maka hasil dari z adalah 3;</p> <p>Selain menggunakan fungsi trace perpective Debug kita bisa juga Menggunakan tool Debug tambahan, ada beberapa tool Debug tambahan yang bisa dipakai untuk men-debug code di Flex dan AIR. ada pun aplikasi tersebut adalah :</p> <ul> <li><a href="http://www.realeyesmedia.com/redbug/">RedBebug</a></li> <li><a href="http://arthropod.stopp.se/">arthropod</a></li> <li><a title="http://demonsterdebugger.com/" href="http://demonsterdebugger.com/">demonsterdebugger</a></li> </ul> <p>cara menggunakan De Monster Debugger</p> <ol> <li>Download aplikasi dari webnya dari web <a title="http://demonsterdebugger.com/" href="http://demonsterdebugger.com/">demonsterdebugger</a></li> <li>Instal di PC kita</li> <li>buat project di Flex atau AIR</li> <li>Export Class ke File Project kita<a href="http://lh6.ggpht.com/_UeBap64SbaA/SaQXtdj84yI/AAAAAAAAAM0/ykWNHjx2ns8/s1600-h/image%5B3%5D.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://lh3.ggpht.com/_UeBap64SbaA/SaQXxAZyiOI/AAAAAAAAAM4/gXeBtcrFllY/image_thumb%5B1%5D.png?imgmax=800" width="467" height="312" /></a></li> <p> </p> <li>import library nl.demonsters.debugger.MonsterDebugger dan kemudian gunakan MonsterDebugger.trace(parameter, "text") kedalam code, misalnya :</li> <?xml version="1.0" encoding="utf-8"?> <br /><mx:Application xmlns:mx="<a href="http://www.adobe.com/2006/mxml">http://www.adobe.com/2006/mxml"</a> <br />layout="absolute" initialize="init()"> <br /> <mx:Script> <br /> <![CDATA[ <br /> // Import the debugger <br /> import nl.demonsters.debugger.MonsterDebugger; <br /> // Variable to hold the debugger <br /> private var debugger:MonsterDebugger; <br /> private function onInit():void <br /> { <br /> // Init the debugger <br /> debugger = new MonsterDebugger(this); <br /> // Send a simple trace <br /> MonsterDebugger.trace(this, "Hello World!"); <br /> } <br /> ]]> <br /> </mx:Script> <br /></mx:Application> <li> Kemudian Run atau jalankan aplikasi, maka akan terlihat seperti ini<a href="http://lh6.ggpht.com/_UeBap64SbaA/SaQX0PmNkbI/AAAAAAAAANE/h3MfF31WASE/s1600-h/image%5B7%5D.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" align="left" src="http://lh6.ggpht.com/_UeBap64SbaA/SaQX4YlQEPI/AAAAAAAAANA/4ibZ6qufmp8/image_thumb%5B4%5D.png?imgmax=800" width="557" height="372" /></a></li> </ol> <p><a href="http://lh6.ggpht.com/_UeBap64SbaA/SaQX0PmNkbI/AAAAAAAAANE/h3MfF31WASE/s1600-h/image%5B7%5D.png"></a></p>TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com1tag:blogger.com,1999:blog-4306126322132936929.post-81500449172443129232009-02-22T16:57:00.001+07:002009-02-22T17:00:05.077+07:00Menghubungkan 2 Aplikasi AIR,Tapi Kok Error #2044<p>coba-coba menggunakan fungsi LocalConnection untuk menghubungkan 2 aplikasi AIR,tetapi setelah di coba kok error....</p> <p>Error #2044: Unhandled AsyncErrorEvent:. text=Error #2095: flash.net.LocalConnection was unable to invoke callback TampilData. error=ReferenceError: Error #1069: Property TampilData not found on reicever and there is no default value.</p> <p>coba lihat code di bawah :</p> <p> </p> <p>Aplikasi Air 1 sebagi sender;</p> <p><?xml version="1.0" encoding="utf-8"?> <br /><mx:WindowedApplication xmlns:mx="<a href="http://www.adobe.com/2006/mxml"">http://www.adobe.com/2006/mxml"</a> layout="absolute"> <br />    <mx:Script> <br />        <![CDATA[ <br />            private var kirimConn:LocalConnection=new LocalConnection(); <br />             private function kirimData():void <br />             { <br />             var namaLengkap:String=nama.text; <br />            kirimConn.send("_myConnection", "TampilData",namaLengkap) <br />            } <br />        ]]> <br />    </mx:Script> <br />    <mx:Form x="0" y="0" width="341" height="174"> <br />        <mx:FormItem label="Nama lengkap"> <br />            <mx:TextInput id="nama"/> <br />        </mx:FormItem> <br />        <mx:Button label="Kirim Data" click="kirimData()"/> </p> <p>    </mx:Form> <br /></mx:WindowedApplication></p> <p> </p> <p>Aplikasi Air 2 sebagi receiver:</p> <p><?xml version="1.0" encoding="utf-8"?> <br /><mx:WindowedApplication xmlns:mx="<a href="http://www.adobe.com/2006/mxml"">http://www.adobe.com/2006/mxml"</a> <br />    layout="absolute" applicationComplete="init();"> <br />    <mx:Script> <br />        <![CDATA[ <br />            private var terimaConn:LocalConnection=new LocalConnection(); <br />            private function init():void{ <br />            terimaConn.client=this; <br />            terimaConn.allowDomain("*"); <br />            terimaConn.connect("_myConnection"); </p> <p>            } <br />            private function TampilData(s:String):void{ <br />            nama.text=s; <br />            } <br />        ]]> <br />    </mx:Script> <br />    <mx:TextArea x="167" y="88" width="221" height="131" id="nama"/> <br /></mx:WindowedApplication></p> <p> </p> <p>Ada yang tahu kenapa???</p> <p> </p> <p>Bacaan Lainnya yang berhubungan dengan AIR Connection</p> <ol> <li><a title="http://blog.everythingflex.com/2008/01/11/more-fun-with-air-localconnection-source-included/" href="http://blog.everythingflex.com/2008/01/11/more-fun-with-air-localconnection-source-included/">http://blog.everythingflex.com/2008/01/11/more-fun-with-air-localconnection-source-included/</a></li> <li><a title="http://www.lonhosford.com/lonblog/2008/03/13/flex-liveconnection-and-legacy-flash-swfs/" href="http://www.lonhosford.com/lonblog/2008/03/13/flex-liveconnection-and-legacy-flash-swfs/">http://www.lonhosford.com/lonblog/2008/03/13/flex-liveconnection-and-legacy-flash-swfs/</a></li> <li><a title="http://blog.kazumakzak.com/2008/11/26/flex-actionscript-project-sandbox-error-error-2044/" href="http://blog.kazumakzak.com/2008/11/26/flex-actionscript-project-sandbox-error-error-2044/">http://blog.kazumakzak.com/2008/11/26/flex-actionscript-project-sandbox-error-error-2044/</a></li> </ol> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com1tag:blogger.com,1999:blog-4306126322132936929.post-22159079763248390462009-02-22T14:43:00.001+07:002009-02-22T14:57:59.948+07:00Latihan Membuat Native Window di AIR<p>Di AIR terdapat Fasilitas untuk membuat window dengan nama Native window, umumnya aplikasi yang menggunakan native window mudah dalam hal release memory daripada menggunakan single window.kita mulai saja membuat Native window di AIR</p> <p> </p> <p>1. buat project di AIR namakan dengan ProjectNativeWindows</p> <p>2. ProjectNativeWindows.MXML isi dengan kode berikut:</p> <p><?xml version="1.0" encoding="utf-8"?> <br /><mx:WindowedApplication xmlns:mx="<a href="http://www.adobe.com/2006/mxml"">http://www.adobe.com/2006/mxml"</a> layout="absolute"> <br /><mx:Script> <br />    <![CDATA[ <br />        import windows.MyNativeWindow <br />         private var win:MyNativeWindow; <br />         private function openWindow():void{ <br />          win=new MyNativeWindow(); <br />          win.open(); <br />         } <br />         private function CloseWindow():void{ <br />          if(win!=null){ <br />          win.close(); <br />          win=null; <br />          } <br />         } <br />    ]]> <br /></mx:Script> <br /><mx:Button label="open window" click="openWindow()" x="248" y="132"/> <br /><mx:Button label="Close Window" click="CloseWindow()" x="248" y="162"/> <br /></mx:WindowedApplication></p> <p>3. buat folder pada folder scr dengan nama windows</p> <p>4. buat komponen berdasarkan (based on) window nama kan dengan MyNativeWindow</p> <p><a href="http://lh4.ggpht.com/_UeBap64SbaA/SaECAlkwP2I/AAAAAAAAAL4/VeT7257V9PE/s1600-h/pic1%5B3%5D.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="pic1" src="http://lh5.ggpht.com/_UeBap64SbaA/SaECDutR5yI/AAAAAAAAAL8/CIEEB4taeoI/pic1_thumb%5B1%5D.png?imgmax=800" width="371" height="349" /></a> </p> <p>5. isi file MyNativeWindow.MXML dengan kode berikut :</p> <p><?xml version="1.0" encoding="utf-8"?> <br /><mx:Window xmlns:mx="<a href="http://www.adobe.com/2006/mxml"">http://www.adobe.com/2006/mxml"</a> <br />    layout="absolute" <br />    width="400" <br />    height="300" <br />    title="My NativeWindows"> <br />    <mx:Script> <br />        <![CDATA[ <br />            private function TampilFullScreen():void{ <br />            this.stage.displayState=StageDisplayState.FULL_SCREEN; <br />            } <br />            private function TampilNormal():void{ <br />            this.stage.displayState=StageDisplayState.NORMAL; <br />            } <br />        ]]> <br />    </mx:Script> <br />    <mx:Button label="close" click="close()" x="171.5" y="156"/> <br />    <mx:Button label="FullScreen" click="TampilFullScreen()" x="156.5" y="79"/> <br />    <mx:Button label="NormalScreen" click="TampilNormal()" x="146" y="109"/> <br /></mx:Window></p> <p>Oke slamat mencoba..</p> <p>Happy coding with Flex and AIR</p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com0tag:blogger.com,1999:blog-4306126322132936929.post-69502880806060776792009-02-20T08:21:00.001+07:002009-02-20T08:24:02.831+07:00Garbage Collection, Flex Performance, Memory Management, & Object Caching<p>if you have problem with memory management try this blog and read, hope can help you</p> <ol> <li><a title="http://www.insideria.com/2008/03/flex-performance-memory-manage.html" href="http://www.insideria.com/2008/03/flex-performance-memory-manage.html">http://www.insideria.com/2008/03/flex-performance-memory-manage.html</a></li> <li><a title="http://blogs.eyepartner.com/adrian/flex/flex-tip-6-garbage-collection-in-flex/" href="http://blogs.eyepartner.com/adrian/flex/flex-tip-6-garbage-collection-in-flex/">http://blogs.eyepartner.com/adrian/flex/flex-tip-6-garbage-collection-in-flex/</a></li> <li><a title="http://www.nutrixinteractive.com/blog/?p=132" href="http://www.nutrixinteractive.com/blog/?p=132">http://www.nutrixinteractive.com/blog/?p=132</a></li> <li><a title="http://www.flexer.info/2007/10/26/garbage-collector-and-events/" href="http://www.flexer.info/2007/10/26/garbage-collector-and-events/">http://www.flexer.info/2007/10/26/garbage-collector-and-events/</a></li> <li><a title="http://blogs.warwick.ac.uk/stevencarpenter/entry/airflex_memory_optimisation" href="http://blogs.warwick.ac.uk/stevencarpenter/entry/airflex_memory_optimisation">http://blogs.warwick.ac.uk/stevencarpenter/entry/airflex_memory_optimisation</a></li> <li><a title="http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html" href="http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html">http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html</a></li> <li><a title="http://www.craftymind.com/2008/04/09/kick-starting-the-garbage-collector-in-actionscript-3-with-air/" href="http://www.craftymind.com/2008/04/09/kick-starting-the-garbage-collector-in-actionscript-3-with-air/">http://www.craftymind.com/2008/04/09/kick-starting-the-garbage-collector-in-actionscript-3-with-air/</a></li> <li><a title="http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/Flex/Q_24095116.html" href="http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/Flex/Q_24095116.html">http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/Flex/Q_24095116.html</a></li> </ol> <p> </p> <p>Download</p> <ul> <li><a href="http://www.craftymind.com/wp-content/uploads/2008/11/sean_christmann_optimizing_air_final.pdf">Optimizing Adobe AIR.pdf</a></li> <li><a href="http://blogs.adobe.com/aharui/GarbageCollection/GCAtomic.ppt">GarbageCollection slide.ppt</a></li> </ul> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com0tag:blogger.com,1999:blog-4306126322132936929.post-48495219057275458942009-02-13T21:51:00.001+07:002009-02-13T21:51:13.511+07:00Kumpulan Aplikasi AIR yang keren (2)<ol> <li> <h6><a href="http://www.robertnyman.com/gmdesk/">GMDesk</a></h6> <p><strong>GMDesk</strong> is an application that lets you run Gmail, Google Calendar, Google Docs and Google Maps as a stand-alone application to do all your mail handling, calendar event reading etc with.</p> <p><img alt="GMDesk" src="http://hongkiat.s3.amazonaws.com/adobe_air/GMDesk.jpg" width="400" height="282" /></p> </li> <li> <h6><a href="http://code.google.com/p/readair/">ReadAir</a></h6> <p>ReadAir is a desktop client for Google Reader.</p> <p><img alt="readair" src="http://hongkiat.s3.amazonaws.com/adobe_air/readair.jpg" width="400" height="306" /></p> </li> <li> <h6><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1282521">Google Analytics Reporting Suite</a></h6> <p><strong>Google Analytics Reporting Suite</strong> brings Google Analytics to the desktop, with a host of features that help you understand how your website is performing and where you can improve.</p> <p><img alt="Google_Analytics" src="http://hongkiat.s3.amazonaws.com/adobe_air/Google_Analytics.jpg" width="400" height="291" /></p> </li> </ol> <h5>Photo & Video</h5> <p>Adobe AIR applications that allow you to search, edit, save or upload photo and video.</p> <ol> <li> <h6><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1694529">Flickr Desktop Search</a></h6> <p><strong>Flickr <br />Desktop Search</strong> is an Adobe AIR based utility which helps you to search Flickr images.</p> <p><img alt="Flickr_desktop_search" src="http://hongkiat.s3.amazonaws.com/adobe_air/Flickr_desktop_search.jpg" width="400" height="228" /></p> </li> <li> <h6><a href="http://blog.everythingflex.com/air-central/applications-air/">ImageDropr</a></h6> <p><strong>ImageDropr</strong> is a new tool for uploading your images to flickr. This application takes a unique approach towards preparing your content, titles, tags, etc. by creating tools that expedite this process.</p> <p><img alt="imagedropr" src="http://hongkiat.s3.amazonaws.com/adobe_air/imagedropr.jpg" width="400" height="298" /></p> </li> <li> <h6><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1425518">Flickr Flipper</a></h6> <p><strong>Flickr Flipper</strong> allows you to search for Flickr photos and also search for photos from specific Flickr users. It uses Papervision to display the photos one at a time and even allows you to download the photo to your computer.</p> <p><img alt="flickr_flipper" src="http://hongkiat.s3.amazonaws.com/adobe_air/flickr_flipper.jpg" width="394" height="262" /></p> </li> <li> <h6><a href="http://snook.ca/snoto/">Snoto</a></h6> <p><strong>Snoto Photo</strong> is a desktop application for browsing your recent photos as well as the recent photos of others. You can also do a slideshow of the photos.</p> <p><img alt="Snoto" src="http://hongkiat.s3.amazonaws.com/adobe_air/Snoto.jpg" width="400" height="296" /></p> </li> <li> <h6><a href="http://www.riaforge.co.uk/go/flvplay/">FLVPlay HD </a></h6> <p><strong>FLVPlay HD</strong> plays your local or remote flv and mp4 videos, as well as the ones from the YouTube servers which are available via the “Search” feature of the application.</p> <p><img alt="FLVPlayer" src="http://hongkiat.s3.amazonaws.com/adobe_air/FLVPlayer.jpg" width="400" height="278" /></p> </li> <li> <h6><a href="http://theflashblog.com/?p=363">AIRTube Video Downloader</a></h6> <p><strong>AIRTube Video Downloader</strong> allows you to download YouTube FLV videos by simply dragging or pasting in the video’s URL. After the video downloads the application will expand and show you a preview of the video.</p> <p><img alt="AIRTube_Video_Downloader" src="http://hongkiat.s3.amazonaws.com/adobe_air/AIRTube_Video_Downloader.jpg" width="400" height="267" /></p> </li> <li> <h6><a href="http://www.richapps.de/?p=48">RichFLV</a></h6> <p><strong>RichFLV</strong> allows you to read and edit FLV data. You can cut FLVs, convert the sound of the flv to mp3 and convert flv to swf.</p> <p><img alt="richflv" src="http://hongkiat.s3.amazonaws.com/adobe_air/richflv.jpg" width="400" height="303" /></p> </li> <li> <h6><a href="http://www.uvlayer.com/">uvLayer</a></h6> <p><strong>UvLayer</strong> is a social video application where you can discover, watch, collect and share video media. Searching currently focuses on videos from YouTube and Truveo.</p> <p><img alt="uvlayer" src="http://hongkiat.s3.amazonaws.com/adobe_air/uvlayer.jpg" width="400" height="247" /></p> </li> <li> <h6><a href="http://www.mooflair.com/">mooFlair</a></h6> <p>A desktop application that helps you to manage and watch both online and offline FLVs videos. More than a simple flv player, build your own FLV library and save your compilations in playlists.</p> <p><img alt="mooFlair" src="http://hongkiat.s3.amazonaws.com/adobe_air/mooFlair.jpg" width="400" height="333" /></p> </li> <li> <h6><a href="http://www.adobe.com/products/mediaplayer/">Adobe Media Player </a></h6> <p><strong>Adobe Media Player </strong>allows you to queue up and download your favorite Internet TV content, track and download new episodes automatically, and manage your personal video library for viewing at your convenience.</p> <p><img alt="adobe_media_player" src="http://hongkiat.s3.amazonaws.com/adobe_air/adobe_media_player.jpg" width="400" height="241" /></p> </li> </ol> <h5>Design</h5> <p>Adoeb AIR tools that sharpen your design skill.</p> <ol> <li> <h6><a href="http://myspyder.net/tools/websnapshot/">Websnapshot</a></h6> <p><strong>Websnapshot </strong>allows you type a URL then take a snapshot using one of the three sizing methods; Thumbnail, Browser or fullpage view.</p> <p><img alt="websnapshot" src="http://hongkiat.s3.amazonaws.com/adobe_air/websnapshot.jpg" width="400" height="170" /></p> </li> <li> <h6><a href="http://toki-woki.net/p/Shrink-O-Matic/">Shrink-O-Matic</a></h6> <p>Shrink O’Matic is an AIR application to easily (batch) resize (shrink) images. It handles JPGs, GIFs and PNGs.</p> <p><img alt="shrink_o_matic" src="http://hongkiat.s3.amazonaws.com/adobe_air/shrink_o_matic.jpg" width="400" height="263" /></p> </li> <li> <h6><a href="http://colorpicker.riaforge.org/">Colorpicker</a></h6> <p><strong>colorPicker</strong> is a widget-like AIR application that lets you either choose a “web-safe” color from a color grid or design a color using sliders to adjust the red, green, and blue values of the color.</p> <p><img alt="colorpicker" src="http://hongkiat.s3.amazonaws.com/adobe_air/colorpicker.jpg" width="400" height="214" /></p> </li> <li> <h6><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1468018">ColourLovers Desktop Color Finder</a></h6> <p><strong>Desktop Color Finder</strong> lets you search our entire database of nearly 1 million named colors and more than 300,00 user created color palettes.</p> <p><img alt="colourlovers" src="http://hongkiat.s3.amazonaws.com/adobe_air/colourlovers.jpg" width="400" height="494" /></p> </li> <li> <h6><a href="http://richardsprojects.co.uk/products/font-picker/">Font Picker</a></h6> <p>Font picker allows you to find the right font for the job.</p> <p><img alt="fontpicker" src="http://hongkiat.s3.amazonaws.com/adobe_air/fontpicker.jpg" width="400" height="219" /></p> </li> <li> <h6><a href="http://clockmaker.jp/labs/air_icon/">Icon Generator</a></h6> <p><strong>Icon Generator</strong> is a little application that lets you generate a CS3 or Web 2.0 style icon, only 3 step. Pick color, type characters, and save it.</p> <p><img alt="icon_generator" src="http://hongkiat.s3.amazonaws.com/adobe_air/icon_generator.jpg" width="400" height="426" /></p> </li> <li> <h6><a href="http://toki-woki.net/p/WebKut/">WebKut</a></h6> <p><strong>WebKut</strong> is an AIR application that allows you to capture web pages, or parts of them in a very simple way.</p> <p><img alt="webkut" src="http://hongkiat.s3.amazonaws.com/adobe_air/webkut.jpg" width="400" height="237" /></p> </li> <li> <h6><a href="http://code.google.com/p/colorbrowser/">Color Browser</a></h6> <p><strong>Color Browser</strong> is a simple way to create and organize your favorite color palettes. Sets of colors are easily viewable in a clean interface.</p> <p><img alt="colorbrowser" src="http://hongkiat.s3.amazonaws.com/adobe_air/colorbrowser.jpg" width="400" height="289" /></p> </li> <li> <h6><a href="https://www.photoshop.com/express/landing.html">Photoshop Express Uploader</a></h6> <p><strong>Photoshop Express Uploader</strong> lets you drag and drop photos from your desktop to upload to Photoshop Express.</p> <p><img alt="adobe_photoshop_uploader" src="http://hongkiat.s3.amazonaws.com/adobe_air/adobe_photoshop_uploader.jpg" width="400" height="260" /></p> </li> </ol> <h5>Microblogging</h5> <p>Adobe AIR applications that allow you to communicate with microblogs easier and faster.</p> <ol> <li> <h6><a href="http://www.tweetdeck.com/beta/">TweetDeck</a></h6> <p><strong>TweetDeck</strong> is an Adobe Air desktop application that aims to evolve the existing functionality of Twitter by taking an abundance of information.</p> <p><img alt="TweetDeck" src="http://hongkiat.s3.amazonaws.com/adobe_air/TweetDeck.jpg" width="400" height="273" /></p> </li> <li> <h6><a href="http://alertthingy.com/">Alert Thingy</a></h6> <p><strong>Alert Thingy </strong>allows users to see the data stream from people they follow on FriendFeed, and post new messages directly to the service.</p> <p><img alt="alert_thingy" src="http://hongkiat.s3.amazonaws.com/adobe_air/alert_thingy.jpg" width="400" height="295" /></p> </li> <li> <h6><a href="http://feedalizr.com/">Feedalizr</a></h6> <p>Life streaming to your desktop. View, rate and comment on what your friends are sharing online, using one simple and easy to use desktop tool.</p> <p><img alt="feedalizr" src="http://hongkiat.s3.amazonaws.com/adobe_air/feedalizr.jpg" width="400" height="274" /></p> </li> <li> <h6><a href="http://www.mysocial247.com/air">MySocial AIR</a></h6> <p><strong>MySocial</strong> is the newest Twitter/FriendFeed desktop app on the block, although MySocial has previously released a Firefox sidebar addon that offers similar functionality.</p> <p><img alt="mysocial_air" src="http://hongkiat.s3.amazonaws.com/adobe_air/mysocial_air.jpg" width="400" height="343" /></p> </li> <li> <h6><a href="http://www.twhirl.org/">Twhirl</a></h6> <p><strong>Twhirl</strong> connects to multiple Twitter, laconi.ca, Friendfeed and seesmic accounts.</p> <p><img alt="twhirl" src="http://hongkiat.s3.amazonaws.com/adobe_air/twhirl.jpg" width="400" height="234" /></p> </li> <li> <h6><a href="http://spreadingfunkyness.com/posty/">Posty</a></h6> <p><strong>Posty</strong> simplifies your microblogging. All you have to do is writing the message and clicking a button. Posty will automatically deliver your message to the services you selected.</p> <p><img alt="posty" src="http://hongkiat.s3.amazonaws.com/adobe_air/posty.jpg" width="400" height="326" /></p> </li> <li> <h6><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1694544">Toro</a></h6> <p><strong>Toro</strong> is a very simple Twitter client that aims for a speedier Twitter.</p> <p><img alt="toro" src="http://hongkiat.s3.amazonaws.com/adobe_air/toro.jpg" width="400" height="258" /></p> </li> <li> <h6><a href="http://funkatron.com/spaz">Spaz</a></h6> <p><strong>Spaz</strong> is a Twitter client for users who value free, open-source software, attractive design, and customizability</p> <p><img alt="spaz" src="http://hongkiat.s3.amazonaws.com/adobe_air/spaz.jpg" width="400" height="308" /></p> </li> <li> <h6><a href="http://www.sobees.com/index.php?option=content&task=view&id=53">bTT</a></h6> <p><strong>bTT</strong> lets you receive update from friendfee, post to friendfeed, send and receive tweets with twitter out of one application on your desktop.</p> <p><img alt="bTT" src="http://hongkiat.s3.amazonaws.com/adobe_air/bTT.jpg" width="400" height="294" /></p> </li> <li> <h6><a href="http://www.tweet-r.com/">Tweetr</a></h6> <p><strong>Tweetr</strong> lets you send files to your friends, but just dragging any file on to Tweetr. Tweetr will automatically upload your file and when it is done will provide a short url to send to your friends</p> <p><img alt="tweetr" src="http://hongkiat.s3.amazonaws.com/adobe_air/tweetr.jpg" width="400" height="269" /></p> </li> </ol> <h5>Social Network</h5> <p>Adobe AIR applications that blend your favourite social networks into your desktop.</p> <ol> <li> <h6><a href="http://www.gskinner.com/DiggTop/">DiggTop</a></h6> <p><strong>DiggTop</strong> is an application for Windows and MacOSX that lets you view a blended list of your favourite Digg topic or keyword feeds.</p> <p><img alt="diggtop" src="http://hongkiat.s3.amazonaws.com/adobe_air/diggtop.jpg" width="400" height="202" /></p> </li> <li> <h6><a href="http://www.robertnyman.com/facedesk/">Facedesk</a></h6> <p><strong>facedesk</strong> is an application that, when installed, becomes a stand-alone application to do all your Facebook surfing with.</p> <p><img alt="facedesk" src="http://hongkiat.s3.amazonaws.com/adobe_air/facedesk.jpg" width="400" height="270" /></p> </li> <li> <h6><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1435019">Flair</a></h6> <p><strong>Flair</strong> is a free, easy to install application that lets you know whenever you’re poked, or someone writes on your wall, or adds you as a friend - without having to constantly check the Facebook website or your email.</p> <p><img alt="flair" src="http://hongkiat.s3.amazonaws.com/adobe_air/flair.jpg" width="400" height="180" /></p> </li> <li> <h6><a href="http://www.babuki.com/mainpage/">Babuki</a></h6> <p>Now all your contacts are in one place wherever you are. There’s no need to create an account and you only have to add details for the other IM networks once.</p> <p><img alt="babuki" src="http://hongkiat.s3.amazonaws.com/adobe_air/babuki.jpg" width="400" height="309" /></p> </li> <li> <h6><a href="http://merhl.com/?p=17">MINI DIGG</a></h6> <p>The Digg mini client brings the latest news from Digg to your desktop. It also allows you to store the stories to your computer<strong>.</strong></p> <p><img alt="mini_digg" src="http://hongkiat.s3.amazonaws.com/adobe_air/mini_digg.jpg" width="400" height="237" /></p> </li> </ol> <h5>Miscellaneous</h5> <p>Other useful desktop Adobe AIR applications.</p> <ol> <li> <h6><a href="http://www.danieldura.com/code/moderator">Wordpress Comment Moderator</a></h6> <p><strong>Moderator</strong> is a WordPress Plugin and associated desktop application, built using Adobe AIR, that allows you to view and moderate comments from your desktop.</p> <p><img alt="moderator" src="http://hongkiat.s3.amazonaws.com/adobe_air/moderator.jpg" width="400" height="215" /></p> </li> <li> <h6><a href="http://apprisereader.com/">Apprise Reader</a></h6> <p><strong>Apprise</strong> lets you read all your news in one place, and share it all in one place, too. With built-in support for over ten different ways to share stories,</p> <p><img alt="apprise_reader" src="http://hongkiat.s3.amazonaws.com/adobe_air/apprise_reader.jpg" width="400" height="284" /></p> </li> <li> <h6><a href="http://www.johnwu.com/ora">Ora Time and Expense</a></h6> <p><strong>Ora Time and Expense</strong> is a small easy-to-use application for tracking and generating timesheets, expense reports, and invoices.</p> <p><img alt="oral_time_space" src="http://hongkiat.s3.amazonaws.com/adobe_air/oral_time_space.jpg" width="400" height="153" /></p> </li> <li> <h6><a href="http://www.rad3.com/timeloc/">Timeloc</a></h6> <p><strong>Timeloc</strong> is a desktop widget that keeps track of the time you have spent working on a job or project. It will no longer be a case of guess work as to how much you need to bill your clients or assign to a project</p> <p><img alt="timeloc" src="http://hongkiat.s3.amazonaws.com/adobe_air/timeloc.jpg" width="400" height="175" /></p> </li> <li> <h6><a href="http://www.doominow.com/">Doomi</a></h6> <p><strong>Doomi </strong>is a simple to-do-list application that designed to stay out of your way, be easy to use and look pretty.</p> <p><img alt="doomi" src="http://hongkiat.s3.amazonaws.com/adobe_air/doomi.jpg" width="400" height="402" /></p> </li> <li> <h6><a href="http://klok.mcgraphix.com/klok/index.htm">Klok</a></h6> <p>Klok is a tool intended to be used by individuals, who have a need to track the time they spend on projects, tasks or anything else for that matter.</p> <p><img alt="klok" src="http://hongkiat.s3.amazonaws.com/adobe_air/klok.jpg" width="400" height="300" /></p> </li> <li> <h6><a href="http://minitask.betriebsraum.de/">MiniTask</a></h6> <p><strong>MiniTask</strong> is a FREE, fast and easy-to-use task management application that helps you with organising your daily todos more efficiently.</p> <p><img alt="minitask" src="http://hongkiat.s3.amazonaws.com/adobe_air/minitask.jpg" width="400" height="192" /></p> </li> <li> <h6><a href="http://www.agileagenda.com/">Agile Agenda</a></h6> <p><strong>Agile Agenda</strong> is a project scheduling utility focused on allowing project managers to enter data about tasks. The software is capable of dynamically adjusting to changing conditions that occur during a project life cycle.</p> <p><img alt="agileagenda" src="http://hongkiat.s3.amazonaws.com/adobe_air/agileagenda.jpg" width="400" height="307" /></p> </li> <li> <h6><a href="http://xdrive.com/desktop-lite/">Xdrive Desktop Lite</a></h6> <p><strong>Xdrive Desktop Lite</strong> allows you to easily upload files and folders right from your hard drive, desktop, USB devices, or removable storage drives directly into your Xdrive web storage.</p> <p><img alt="xdrive_desktop_lite" src="http://hongkiat.s3.amazonaws.com/adobe_air/xdrive_desktop_lite.jpg" width="400" height="312" /></p> </li> <li> <h6><a href="http://airtalkr.com/">AirTalkr</a></h6> <p><strong>AirTalkr</strong> is a multi-protocol Instant Messenger that connects to MSN, Yahoo!, GTalk, AOL and ICQ. Not only that, it also has connects to to various Web 2.0 services like Flickr and YouTube.</p> <p><img alt="airtalk" src="http://hongkiat.s3.amazonaws.com/adobe_air/airtalk.jpg" width="400" height="193" /></p> </li> <li> <h6><a href="http://pownce.com/download/">Pownce Desktop 2.0</a></h6> <p><strong>Pownce</strong> makes it even faster to read and send notes to your friends</p> <p><img alt="pownce" src="http://hongkiat.s3.amazonaws.com/adobe_air/pownce.jpg" width="400" height="346" /></p> </li> <li><a href="http://www.cldesktop.com/"><strong>CL Desktop</strong></a> <br />- Craigslist is huge, and this application just makes sense. It’s easy to use and saves you time with saved searches and the ability to view pictures right from the original list. </li> <li><a href="http://www.earthbrowser.com/"><strong>EarthBrowser</strong></a> <br />- EarthBrowser is a revolutionary new platform for viewing and creating geographically based information. </li> <li><a href="http://desktop.ebay.com/blog/"><strong>ebay Desktop</strong></a> <br />- eBay Desktop is made for search, bidding, browsing, and watching. It’s all there, with a brand new interface. </li> <li><a href="http://www.finetune.com/desktop/"><strong>Finetune Desktop</strong></a> <br />- Finetune Desktop gives you quick access to your custom playlists and will keep track of your favorite music from Finetune. </li> <li><a href="http://www.pandora.com/desktop"><strong>Pandora Desktop</strong></a> <br />- With the Pandora Desktop Application, you can play your Pandora stations right from your desktop – without opening a new browser window. </li> <li><a href="http://www.cldesktop.com/"><strong>Snackr</strong></a> <br />- Snackr is a RSS ticker that pulls random items from your feeds and scrolls them across your desktop. When you see a title that looks interesting, you can click on it to pop up the item in a window. </li> <li><a href="http://merhl.com/?page_id=75"><strong>AIR iPhone</strong></a> <br />- AIR iPhone is a desktop application created with Adobe AIR and Adobe Flex 3, it simulates the UI of the iPhone. It has the capabilities to make calls, receive calls, check voicemail, add contacts and even send voice messages. </li> <li><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1427019"><strong>Adobe Developer Connection Developer Desktop</strong></a> <br />- Adobe Developer Connection Developer Desktop (ADC Desktop) is an Adobe AIR application that delivers a number of helpful resources for Developers. </li> </ol> <h5>Resources</h5> <p>Resources, tutorials and collections of Adobe AIR applications.</p> <ol> <li> <h6><a href="http://www.robertnyman.com/gmdesk/">airapps Wiki </a></h6> <p>A collection of Adobe® AIR™ applications out in the wild that the community can update.</p> <p><img alt="airapps" src="http://hongkiat.s3.amazonaws.com/adobe_air/airapps.jpg" width="400" height="182" /></p> </li> <li> <h6><a href="http://www.riaforge.org/index.cfm?event=page.category&id=11">RIAForge</a></h6> <p>An online community site, built using their own products and targeted to support developers building open source projects for our products and platform.</p> <p><img alt="riaforge" src="http://hongkiat.s3.amazonaws.com/adobe_air/riaforge.jpg" width="400" height="253" /></p> </li> <li> <h6><a href="http://apollohunter.com/">Apollo Hunter</a></h6> <p>A community to share and download Adobe AIR applications with no cost.</p> <p><img alt="apollo_hunter" src="http://hongkiat.s3.amazonaws.com/adobe_air/apollo_hunter.jpg" width="400" height="215" /></p> </li> <li> <h6><a href="http://www.o2apps.com/">O2Apps</a></h6> <p>The ultimate resource for enthusiasts of Adobe AIR.</p> <p><img alt="o2apps" src="http://hongkiat.s3.amazonaws.com/adobe_air/o2apps.jpg" width="400" height="202" /></p> </li> <li> <h6><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&exc=24">Adobe AIR Marketplace</a></h6> <p><strong>Adobe AIR Marketplace</strong> is a place where AIR developers can publish their Adobe AIR applications for users to download.</p> <p><img alt="adobe_air_marketplace" src="http://hongkiat.s3.amazonaws.com/adobe_air/adobe_air_marketplace.jpg" width="400" height="222" /></p> </li> <li> <h6><a href="http://www.adobeairtutorials.com/">Adobe Air Tutorials</a></h6> <p>Adobe AIR Tutorials. Articles, resources, tutorials, and downloads.</p> <p><img alt="adobe_air_tutorials" src="http://hongkiat.s3.amazonaws.com/adobe_air/adobe_air_tutorials.jpg" width="400" height="276" /></p> </li> <li> <h6><a href="http://refreshingapps.com/">Refreshing Apps</a></h6> <p>Adobe AIR application showcase and resources.</p> <p><img alt="refreshingapps" src="http://hongkiat.s3.amazonaws.com/adobe_air/refreshingapps.jpg" width="400" height="260" /></p> </li> </ol> <p><em></em></p> <p><em></em></p> <p><em>sumber : </em></p> <p><em><a href="http://www.hongkiat.com">http://www.hongkiat.com</a></em> <br /><a title="http://blog.tuvinh.com/60-useful-adobe-air-applications-you-should-know/" href="http://blog.tuvinh.com/60-useful-adobe-air-applications-you-should-know/">http://blog.tuvinh.com/60-useful-adobe-air-applications-you-should-know/</a></p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com0tag:blogger.com,1999:blog-4306126322132936929.post-57724478964534106922009-02-12T20:38:00.001+07:002009-02-12T20:44:28.229+07:00Kumpulan Aplikasi AIR yang Keren<p><a href="http://www.adobe.com/products/air/">Adobe AIR</a> is a platform that allows developers to create applications that run on your desktop. Adobe AIR is a good platform to build desktop apps, these apps work both on windows and mac computers (Linux coming soon). Some of the folks have built useful desktop apps using Adobe AIR, here i am going to list some of the useful Apps i came across or used at least once. The below mentioned applications are listed in no particular order.</p> <p><a href="http://www.twhirl.org/"><strong>Twhirl</strong></a>: This is my favorite and always runs on my computer (<a href="http://www.teknobites.com/2008/03/04/twhirl-twitter-client/">earlier Review</a>). Twhirl supports twitter, pownce, jaiku and friendfeed. Twhirl updates features very frequently so you can rely on this client. It supports tinyurl, snurl and ls.gd for converting links to short urls. Twitpic is also integrated in to Twhirl. This is the best and popular twitter client available. <br /><img title="Twhirl: Twitter Client" alt="Twhirl" src="http://www.teknobites.com/wp-content/images/tekno/twhirl.jpg" width="311" height="397" /></p> <p><a href="http://alertthingy.com/"><strong>Alert Thingy</strong></a>: This is also i am using regularly to keep up to date with Friendfeed (<a href="http://www.teknobites.com/2008/04/13/alert-thingy-friendfeed-desktop-app/">earlier review</a>). I have never came across any good Friendfeed client other than Alert Thingy. Twhirl also supports Friendfeed but this one is the best for friendfeed. It also supports twhirl, tinyurl and flickr.</p> <p><img title="Alert Thingy" alt="Alert Thingy" src="http://www.teknobites.com/wp-content/images/tekno/alertthingy.jpg" width="235" height="261" /></p> <p><a href="http://pownce.com/download/"><strong>Pownce Desktop Client</strong></a>: If you use Pownce you may check out this, this is the official Pownce client, i prefer Twhirl over this because its support to twitter and others.</p> <p><img title="Pownce Desktop Application" alt="Pownce" src="http://www.teknobites.com/wp-content/images/tekno/pownce.jpg" width="197" height="270" /></p> <p><a href="http://blog.mootools.net/2008/3/15/snippely"><strong>Snippely</strong></a><strong>:</strong> Snippely <a href="http://www.teknobites.com/2008/04/01/snippely-take-notes-and-code-snippets/">(earleir review)</a> is a little app that is quite useful for collecting code snippets across the web. <a href="http://code.google.com/p/snippely/downloads/detail?name=Snippely-1.0.air">Download</a>, </p> <p><img title="Take Notes and Code Snippets" alt="Snippely" src="http://www.teknobites.com/wp-content/images/web20/snippely.jpg" width="508" height="340" /></p> <p><a href="http://labs.adobe.com/technologies/kuler/"><strong>Kuler desktop</strong></a>: Kuler Desktop is a desktop app for the popular Adobe kuler application that lets you design color themes for your designs. It displays RSS feeds of color themes from Kuler for inspiration. It lets you search color themes and copy hex color values to your clipboard. <a href="http://download.macromedia.com/pub/labs/kuler/kuler.air">download</a></p> <p><img title="Kuler Desktop Adobe AIR App" alt="Kuler Desktop" src="http://www.teknobites.com/wp-content/images/tekno/kuler.jpg" width="270" height="294" /></p> <p><a href="http://www.aboutnico.be/index.php/google-analytics-air-beta-sign-up/"><strong>Google Analytics</strong></a>: Most of the bloggers are stat junkies and this is particularly useful for the stat junkies. This app brings Google Analytics to desktop, almost all the features are supported. Download from here. It also supports multiple accounts, set different profiles for each account. The tabbed interface of the application allows you to switch between reports easily. Reports can be exported to PDF, Excel and XML. </p> <p><img title="Google Analytics Adobe AIR Application" alt="Google Analytics" src="http://www.teknobites.com/wp-content/images/tekno/ganalytics.jpg" width="507" height="378" /></p> <p><a href="http://music.aol.com/help/syndication/desktop-widgets"><strong>AOL Top 100 Videos</strong></a><strong>:</strong> This desktop app features top 100 hottest music videos form AOL Music. It allows you to bookmark videos and watch them whenever you want. </p> <p><img title="AOL TOP 100 Music Videos" alt="AOL TOP 100 Videos" src="http://www.teknobites.com/wp-content/images/tekno/aoltop100videos.jpg" width="444" height="340" /></p> <p><a href="http://www.xdrive.com/desktop-lite/"><strong>XDrive Desktop Lite</strong></a>: Xdrive Desktop Lite is a desktop client for AOL’s Xdrive. Xdrive is a online data storage service from AOL that gives you 5GB of free storage. With Xdrive Desktop lite you can easily manage all your files including photos, music, videos and files in your Xdrive account. It allows you to just drag and drop from your computer.</p> <p><img title="Xdrive Desktop Lite" alt="Xdrive Desktop Lite" src="http://www.teknobites.com/wp-content/images/tekno/xdrive.jpg" width="154" height="113" /></p> <p><a href="http://desktop.ebay.com/"><strong>eBay Desktop</strong></a>: eBay Desktop is a desktop client for accessing eBay listings. You can use this tool to browse, bid, search and jeep track of your eBay auctions.</p> <p><img title="eBay Desktop Adobe AIR Application" alt="eBay Desktop" src="http://www.teknobites.com/wp-content/images/tekno/ebaydesktop.jpg" width="321" height="100" /></p> <p><strong><a href="http://toki-woki.net/p/WebKut/">WebKut</a></strong>: WebKut is a desktop application that lets you to capture the web pages, or parts of the web pages. It provides 3 options to capture the pages, entire page, current view or only a selection.</p> <p><img title="WebKut Adobe AIR Application" alt="WebKut" src="http://www.teknobites.com/wp-content/images/tekno/webkut.jpg" width="505" height="234" /></p> <p><a href="http://klok.mcgraphix.com/klok/index.htm"><strong>Klok</strong></a>: “Klok is a personal time tracking application that makes it easy for anyone working with multiple clients, projects or tasks to keep track of their hours. Klok is meant for those of us who want to press a button when we start working and another when we stop. Klok allows entry of time spent in the past as well and also allows for editing time entries. The application features drag and drop, excel export, archive and a collapsed view that stays our of your way.”</p> <p><img title="Klok Time Tracking Application" alt="Klok" src="http://www.teknobites.com/wp-content/images/tekno/klok.jpg" width="503" height="377" /></p> <p><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1425518"><strong>Flickr Flipper</strong></a>: This is useful for people who spent lot of time on Flickr it allows you to search for Flickr photos in general or from a specific user. It uses Papervision to display the photos one at a time and even allows you to download the photo to your computer. The limitation is that it only returns up to 100 photos of your search.</p> <p><strong><a href="http://www.adobe.com/products/mediaplayer/">Adobe Media Player</a></strong>: allows you to watch downloaded, streamed, or your personal videos stored on your computer. The interface is clean you can find all the content providers from the catalog. Currently only few content providers are listed including CBS, MTV, UMG, PBS. (<a href="http://www.teknobites.com/2008/04/10/adobe-media-player/">earlier review</a>)</p> <p><img title="Adobe Media Player" alt="Adobe Media Player" src="http://www.teknobites.com/wp-content/images/web20/adobe_media_player.jpg" width="500" height="375" /></p> <p><strong><a href="http://www.shifd.com/">ShifD</a></strong>: (<a href="http://www.teknobites.com/2008/02/25/shifd-take-notes-on-web-desktop-and-mobile-phones/">earlier review</a>) ShifD allows users to shift notes, links and addresses between desktops and mobile devices. You can access ShifD through web interface or through browser bookmarklet or using a desktop application on top of Adobe AIR. </p> <p><img title="ShifD Note Taking Application" alt="ShifD" src="http://www.teknobites.com/wp-content/images/tekno/shifd.jpg" width="503" height="141" /></p> <p><strong><a href="http://uvlayer.com/">uvLayer</a></strong>: uvLayer (<a href="http://www.teknobites.com/2008/02/05/watch-and-share-videos-from-your-desktop/">earlier review</a>) is a Adobe AIR application that allows you to watch and share videos with your friends. uvLayer lets share the videos you are watching with your uvLayer friends or Facebook friends.</p> <p><img title="uvlayer" alt="uvlayer" src="http://www.teknobites.com/wp-content/images/web20/uvlayer.jpg" width="510" height="277" /></p> <p><strong><a href="http://toki-woki.net/p/WebKut/">WebKut</a></strong> is an AIR application that allows you to capture web pages, or parts of them in a very simple way. It provides you 3 capture options: the entire page, the current view, or only a selection. Useful. </p> <p>The <strong><a href="http://www.aboutnico.be/index.php/google-analytics-air-beta-sign-up/">Google Analytics Reporting suite</a></strong> is an Adobe AIR application that brings Google Analytics to the desktop. It uses it’s own custom API to interact with Google and nearly implements all features of Google Analytics. </p> <p>This is my favorite one! <strong><a href="http://www.twhirl.org/">Twhirl</a></strong> supports Twitter and Friendfeed and also cross-post updates to Pownce and Jaiku. Twitpic is also integrated into Twhirl. This is the best and most popular Twitter client available till now. </p> <p><strong><a href="http://klok.mcgraphix.com/klok/index.htm">Klok</a></strong> is a tool intended to be used by individuals, like myself, who have a need to track the time they spend on projects, tasks or anything else for that matter. </p> <p><strong><a href="http://www.shifd.com/">ShifD</a></strong> allows users to shift notes, links and addresses between desktops and mobile devices. You can access ShifD through web interface or through browser bookmarklet or using a desktop application. </p> <p><b><a href="http://airtalkr.com/">AirTalkr</a></b> is a multi platform IM client that connects to Gtalk, MSN, Yahoo!, AIM, ICQ as well as to Flickr and YouTube. </p> <p><strong><a href="http://snippage.gabocorp.com">Snippage</a></strong>: Easily make desktop widgets out of any site! Wouldn't it be great if you could take pieces of your favorite web sites and put them on your desktop? Things like that auction you've got your eye on, your web mail's inbox, or even that search box you're always using. Well, Snippage lets you do just that. </p> <p><strong><a href="http://www.agileagenda.com/">AgileAgenda</a></strong> is a project scheduling utility which lets project managers enter data about tasks. The app, an Adobe AIR Derby Best in Show winner, dynamically adjusts to the changing conditions of a project. It knows today's date and it will automatically adjust tasks that are or aren't complete based on that. Tasks can be moved, extended, or split as needed. A light table lets you view the tasks, reassign them, change their priority, or change the durations. And like most project scheduling utilities, a GANTT view is available as well. Your data can either be stored locally, or even better, on AgileAgenda's web service. AgileAgenda supports data sharing via XML or PDF exports and/or a web-based view on their web service. </p> <p><strong><a href="http://www.johnwu.com/ora">ORA Time and Expense</a></strong> is an application for tracking timesheet tasks and expenses. It can also generate and export reports such as timesheets, expense reports, and invoices. It uses the webcam APIs assist in the filing of expense reports by taking pictures of receipts and including them in the expense reports. </p> <p><strong><a href="http://www.doominow.com/">Doomi</a></strong>: Clear'n simple to-do's. Designed to stay out of your way, be easy to use, and look pretty. </p> <p> </p> <h4>AgileAgenda</h4> <p><img align="left" src="http://www.readwriteweb.com/images/AIR/agileagenda_001.png" /><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1289518">AgileAgenda </a>is a project scheduling utility which lets project managers enter data about tasks. The app, an Adobe AIR Derby Best in Show winner, dynamically adjusts to the changing conditions of a project. It knows today's date and it will automatically adjust tasks that are or aren't complete based on that. Tasks can be moved, extended, or split as needed. A light table lets you view the tasks, reassign them, change their priority, or change the durations. And like most project scheduling utilities, a GANTT view is available as well. Your data can either be stored locally, or even better, on AgileAgenda's web service. AgileAgenda supports data sharing via XML or PDF exports and/or a web-based view on their web service. <strong>Download <a href="http://www.agileagenda.com/download/AgileAgenda.air">it here</a>.</strong></p> <p><strong></strong></p> <h4>RichFLV</h4> <p><img align="left" src="http://www.readwriteweb.com/images/AIR/richflv.jpg" /><a href="http://www.richapps.de/?p=48">RichFLV</a> is an AIR app that lets you edit Flash Video (FLV) files. The app reads FLV metadata - while importing the video, the app outputs the number and types of tags found for video, sound, keyframe (Keyframe Tags), and data (DataTags). With RichFLV, you can read, edit, modify, or delete cuepoints and cut FLV files. You can also use the app as a conversion tool, and convert the FLV files to SWF (Shockwave Flash) format. The sound in the FLV can be converted to an MP3, as well. Although serving a niche audience, this popular app has already been downloaded 654 times from the AIR Marketplace. <strong>Download <a href="http://www.richapps.de/files/richflv/RichFLV.air">it here</a>.</strong></p> <p><strong></strong></p> <p><a href="http://thedesktube.com/"><b><u>DeskTube</u></b></a>. DeskTube is THE desktop YouTube application. Featuring the ability to search videos, view profiles, post comments, upload videos, and much much more! DeskTube features the ability to post updates to Twitter, and even text message and make phone calls right from your desktop. </p> <p><a href="http://www.earthbrowser.com/"><b><u>EarthBrowser</u></b></a>. EarthBrowser is an innovative earth simulation that combines an easy to navigate 3 dimensional globe with real-time weather conditions and 7 day forecasts for thousands of locations worldwide. Live earthquakes, hurricanes, webcams, volcanoes and cloud animations are just some of data that is available in an instant. A great aid to teachers for visualizing earth and space with their students. A must have for anyone who loves to watch the weather. </p> <p><a href="http://www.feedalizr.com/"><b><u>feedalizr</u></b></a>. Post text, images, links and videos. Update your status, reply to messages, comment, watch videos and 'like' posts. Keep up to date with your feeds and friend's online activities. </p> <p><a href="http://minitask.betriebsraum.de/"><b><u>MiniTask</u></b></a>. MiniTask is a FREE, fast and easy-to-use task management application that helps you with organising your daily todos more efficiently. It supports features like drag 'n' drop reorder, alarm timers, printing of pretty task sheets, copying tasks from and to other applications etc.</p> <h5>Featured applications</h5> <p><a href="http://www.adobe.com/cfusion/showcase/index.cfm?event=casestudydetail&casestudyid=530039&loc=en_us"><img alt="Mini" src="http://www.adobe.com/products/air/showcase/images/mini_156x60.jpg" width="156" height="60" /></a></p> <p>Trendsetting automotive manufacturer extends its iconic MINI brand and lifestyle proposition through online marketing.</p> <ul> <li><a href="https://shop.bmwgroup.com/is-bin/INTERSHOP.enfinity/WFS/Store-MINIShop-Site/en_GB/-/EUR/Deeplink-Start?MM=EPRORFADBWGT&pageid=ccw">Download application</a></li> </ul> <p><a href="http://www.adobe.com/cfusion/showcase/index.cfm?event=casestudydetail&casestudyid=384066&loc=en"><img alt="NASDAQ" src="http://www.adobe.com/products/air/showcase/images/nasdaq_156x60.jpg" width="156" height="60" /></a></p> <p>NASDAQ enables investors and brokers to replay market activity in great detail at any given point in time.</p> <ul> <li><a href="https://data.nasdaq.com/mr.aspx">Download application</a></li> </ul> <p><a href="http://www.adobe.com/cfusion/showcase/index.cfm?event=casestudydetail&casestudyid=384086&loc=en_us"><img alt="Nickelodeon Online" src="http://www.adobe.com/products/air/showcase/images/nickelodeon_156x60.jpg" width="156" height="60" /></a></p> <p>Entertainment leader extends the reach of its brand and engages fans with interactive games.</p> <ul> <li><a href="http://www.nick.com/mynick/air/index.jhtml?promoid=BTLNZ">Download application</a></li> </ul> <p><a href="http://www.adobe.com/cfusion/showcase/index.cfm?event=casestudydetail&casestudyid=391534&loc=en_us"><img alt="New York Times" src="http://www.adobe.com/products/air/showcase/images/nyt_156x60.jpg" width="156" height="60" /></a></p> <p>The New York Times provides a new way to share information across the desktop and devices.</p> <ul> <li><a href="http://shifd.com">Download application</a></li> </ul> <p> </p> <p>Sumber: </p> <p><a title="http://www.readwriteweb.com/archives/some_adobe_air_apps_worth_a_look.php" href="http://www.readwriteweb.com/archives/some_adobe_air_apps_worth_a_look.php">http://www.readwriteweb.com/archives/some_adobe_air_apps_worth_a_look.php</a> <br /><a title="http://www.teknobites.com/2008/05/04/useful-adobe-air-apps/" href="http://www.teknobites.com/2008/05/04/useful-adobe-air-apps/">http://www.teknobites.com/2008/05/04/useful-adobe-air-apps/</a> <br /><a title="http://anabubula.com/Top10-AIR-applications-productivity" href="http://anabubula.com/Top10-AIR-applications-productivity">http://anabubula.com/Top10-AIR-applications-productivity</a> <br /><a title="http://blog.code-purity.com/archives/2009/2/11/top_5_adobe_air_applications/" href="http://blog.code-purity.com/archives/2009/2/11/top_5_adobe_air_applications/">http://blog.code-purity.com/archives/2009/2/11/top_5_adobe_air_applications/</a> <br /><a title="http://www.adobe.com/products/air/showcase/" href="http://www.adobe.com/products/air/showcase/">http://www.adobe.com/products/air/showcase/</a></p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com0tag:blogger.com,1999:blog-4306126322132936929.post-33980939262233337482009-02-12T07:53:00.001+07:002009-02-12T07:53:13.827+07:00Create Skinnable Application Using Flex + AIR<p>Ok so we start with the <b>“main-app.xml”</b> file. This is the AIR specific configuration file, where we can change the Application specific parameters like: <ol> <li>Application Name <li>Version <li>Description etc...</li></ol> <p>But we’ll directly move to the following settings which allow us to change the windows related settings. When dealing with custom chrome window, following settings need to keep in mind. <ol> <li><b>SystemChrome</b> <ul> <li>For creating skinnable application, this parameter should be <b>“none”</b></li></ul> <li><b>Transparent</b> <ul> <li>This parameter should be <b>“true”</b></li></ul></li></ol> <p>Initially in the configuration file, both the properties (1 & 2) may be commented, so you need to remove the comment for these parameters & then set their values. <p>There may be a possibility that our Application doesn’t require resizing of the window (because of the odd shape). So we can remove the resizing option by changing the <b>“resizable”</b> parameter value to <b>“false”</b>. <p>Ok that’s all we need to change in the configuration file. <p>Now we can move to <b>“main.mxml”</b> file. This is our main UI where we want to set the Application skin. Here we need to set the following properties. <ol> <li>borderStyle = “none” <ul> <li>By setting this value, window won’t show the border around it.</li></ul> <li>backgroundAlpha = “0” <ul> <li>This will make windows background transparent. This’ll be helpful when you place an transparent image (PNG file with alpha transparency) on the main Application interface.</li></ul> <li>showTitleBar = “false” <li>showStatusBar = “false” <ul> <li>By default Title Window & Status Bar display is true (Even if the background is transparent, because default value is true). We need to set these values to false.</li></ul> <li>horizontalScrollPolicy = “off” <li>vertical ScrollPolicy = “off”</li></ol> <p> </p><pre class="csharpcode"><mx:WindowedApplication<br /><br /> xmlns:mx=<span class="str">"http://www.adobe.com/2006/mxml"</span><br /><br /> width=<span class="str">"350"</span> height=<span class="str">"350"</span> layout=<span class="str">"absolute"</span><br /><br /> borderStyle=<span class="str">"none"</span> backgroundAlpha=<span class="str">"0"</span><br /><br /> showTitleBar=<span class="str">"false"</span> showStatusBar=<span class="str">"false"</span><br /><br /> horizontalScrollPolicy=<span class="str">"off"</span> verticalScrollPolicy=<span class="str">"off"</span><br /><br /> initialize=<span class="str">"{evntAppInit()}"</span><br /><br /> applicationComplete=<span class="str">"{evntAppComplete()}"</span><br /><br />></pre><pre class="csharpcode"> </pre><pre class="csharpcode">sumber:<a title="http://www.actionscript.org/resources/articles/834/1/Create-Skinnable-Application-Using-Flex--AIR/Page1.html" href="http://www.actionscript.org/resources/articles/834/1/Create-Skinnable-Application-Using-Flex--AIR/Page1.html">http://www.actionscript.org/resources/articles/834/1/Create-Skinnable-Application-Using-Flex--AIR/Page1.html</a> </pre><br /><style type="text/css">.csharpcode, .csharpcode pre<br />{<br /> font-size: small;<br /> color: black;<br /> font-family: consolas, "Courier New", courier, monospace;<br /> background-color: #ffffff;<br /> /*white-space: pre;*/<br />}<br />.csharpcode pre { margin: 0em; }<br />.csharpcode .rem { color: #008000; }<br />.csharpcode .kwrd { color: #0000ff; }<br />.csharpcode .str { color: #006080; }<br />.csharpcode .op { color: #0000c0; }<br />.csharpcode .preproc { color: #cc6633; }<br />.csharpcode .asp { background-color: #ffff00; }<br />.csharpcode .html { color: #800000; }<br />.csharpcode .attr { color: #ff0000; }<br />.csharpcode .alt <br />{<br /> background-color: #f4f4f4;<br /> width: 100%;<br /> margin: 0em;<br />}<br />.csharpcode .lnum { color: #606060; }<br /></style> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com0tag:blogger.com,1999:blog-4306126322132936929.post-73364774730714435252009-02-12T00:36:00.001+07:002009-02-12T00:36:20.041+07:0025 OpenSource PHP Framework<p>PHP Framework nowadays is getting more popular to web application developers who uses PHP as their main language. A web application framework is a software framework that is designed to support the development of dynamic websites, Web applications and Web services. The framework aims to alleviate the overhead associated with common activities used in Web development. For example, many frameworks provide libraries for database access, templating frameworks and session management, and often promote code reuse. And needless to say that it can cutoff half of your regular development time.</p> <p>So lets begin with the list (no particular order).</p> <h6>1. Zend Framework</h6> <p><a href="http://framework.zend.com/"><img alt="Zend Framework" src="http://framework.zend.com/images/logo.gif" /></a></p> <p>Extending the art & spirit of PHP, Zend Framework is based on simplicity, object-oriented best practices, corporate friendly licensing, and a rigorously tested agile codebase. Zend Framework is focused on building more secure, reliable, and modern Web 2.0 applications & web services, and consuming widely available APIs from leading vendors like Google, Amazon, Yahoo!, Flickr, as well as API providers and cataloguers like StrikeIron and ProgrammableWeb.</p> <p>Expanding on these core themes, we have implemented Zend Framework to embody extreme simplicity & productivity, the latest Web 2.0 features, simple corporate-friendly licensing, and an agile well-tested code base that your enterprise can depend upon. <br />Extreme Simplicity & Productivity</p> <p><strong>Zend Framework Components</strong></p> <ul> <li>Model-View-Controller (MVC) </li> <li>Database </li> <li>Internationalization (i18n) and Localization (l10n) </li> <li>Authentication, Authorization, and Session management </li> <li>Web and Web Services </li> <li>Mail, Formats, and Search </li> <li>Core Infrastructure </li> </ul> <h6>2. CakePHP </h6> <p><img alt="CakePHP" src="http://www.cakephp.org/img/cake-logo.png" width="130" /></p> <p><a href="http://www.cakephp.org/">CakePHP</a> is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications. Using commonly known design patterns like MVC and ORM within the convention over configuration paradigm, CakePHP reduces development costs and helps developers write less code. </p> <p><strong>Hot Features</strong></p> <ul> <li><strong>No Configuration</strong> - Set-up the database and let the magic begin </li> <li><strong>Extremely Simple</strong> - Just look at the name…It’s Cake </li> <li><strong>Active, Friendly Community</strong> - Join us #cakephp on IRC. We’d love to help you get started. </li> <li><strong>Flexible License</strong> - Distributed under the MIT License </li> <li><strong>Clean IP</strong> - Every line of code was written by the CakePHP development team </li> <li><strong>Best Practices</strong> - covering security, authentication, and session handling, among the many other features. </li> <li><strong>OO</strong> - Whether you are a seasoned object-oriented programmer or a beginner, you’ll feel comfortable </li> </ul> <p><strong>Basic Features</strong></p> <ul> <li><a href="http://wikipedia.com/wiki/Model-view-controller">Model, View, Controller Architecture</a></li> <li>Application Scaffolding </li> <li>Code generation via Bake </li> <li>Helpers for HTML, Forms, Pagination, AJAX, Javascript, XML, RSS and more </li> <li>Access Control Lists and Authentication </li> <li>Simple yet extensive validation of model data </li> <li>Router for mapping urls and handling extensions </li> <li>Security, Session, and RequestHandler Components </li> <li>Utility classes for working with Files, Folders, Arrays and more </li> </ul> <h6>3. CodeIgniter</h6> <p><img alt="code igniter" src="http://codeigniter.com/images/design/ci_logo2.gif" /></p> <p><a href="http://codeigniter.com/">CodeIgniter </a>is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications. If you’re a developer who lives in the real world of shared hosting accounts and clients with deadlines, and if you’re tired of ponderously large and thoroughly undocumented frameworks CodeIgniter is right for you.</p> <h6>4. SilverStripe</h6> <p><img alt="SilverStripe" src="http://www.silverstripe.org/themes/silverstripe/templates/email/logo.jpg" /></p> <p><a href="http://silverstripe.com/">SilverStripe </a>is a free and open source programming framework and content management system (CMS) for creating and maintaining websites. The CMS provides an intuitive web-based administration panel, allowing any person to maintain their website without knowledge of markup or programming languages.</p> <p>SilverStripe offers a flexible MVC development framework known as Sapphire. Much like Ruby on Rails, but for PHP, it ensures developers are capable of extending and enhancing the functionality of the CMS and the website. More importantly, SilverStripe provides developers with complete control of the generated markup; allowing for higher, semantic standards of XHTML.</p> <h6>5. Akelos Framework</h6> <p><img alt="Akelos Framework" src="http://www.akelos.org/images/logo.jpg" width="150" /></p> <p><a href="http://www.akelos.org/">The Akelos PHP Framework</a> is a web application development platform based on the MVC (Model View Controller) design pattern. Based on good practices, it allows you to:</p> <ul> <li>Write views using Ajax easily </li> <li>Control requests and responses through a controller </li> <li>Manage internationalized applications </li> <li>Communicate models and the database using simple conventions. </li> </ul> <p>Your Akelos based applications can run on most shared hosting service providers since Akelos only requires that PHP be available at the server. This means that the Akelos PHP Framework is the ideal candidate for distributing standalone web applications as it does not require any non-standard PHP configuration to run.</p> <h6>6. Symfony</h6> <p><img alt="Symfony" src="http://www.symfony-project.org/images/symfony_logo.gif" /></p> <p><a href="http://www.symfony-project.org/">Symfony </a>is a full-stack framework, a library of cohesive classes written in PHP5.</p> <p>It provides an architecture, components and tools for developers to build complex web applications faster. Choosing symfony allows you to release your applications earlier, host and scale them without problem, and maintain them over time with no surprise.</p> <p>Symfony is based on experience. It does not reinvent the wheel: it uses most of the best practices of web development and integrates some great third-party libraries.</p> <p>Thousands of developers already trust symfony for their applications!</p> <p>New users join the community every day, and that makes of symfony the most popular PHP5 framework around. A large community means easy-to-find support, user-contributed documentation, plugins, and free applications. </p> <h6>7. Zoop Framework</h6> <p><img alt="ZOOP" src="http://www.zoopframework.com/sites/zoopframework.com/files/zoop_grid_logo.png" /></p> <p>Far from being Yet Another PHP Framework or Rails clone, <a href="http://www.zoopframework.com/">Zoop </a>has been in development since 2001 and in use for the last 6 years in a number of different production environments. While it predates the recent proliferation of PHP frameworks, it’s based on solid MVC principles, including separation of display, logic, and data layers. It’s designed to be efficient, modular, and extensible, striking a balance between lightweight and fully-featured.</p> <ol> <li>A well-organized, fully-featured <strong>front controller</strong>. </li> <li>A Smarty based <strong>view layer</strong>, enhanced with form generation and rich UI controls. </li> <li>Several integrated <strong>data model</strong> access styles. </li> <li>Automation of common mundane tasks. </li> <li>Great native libraries and friendly integration with many third-party projects. </li> </ol> <h6>8. PHP on TRAX</h6> <p><img alt="php on trax" src="http://www.phpontrax.com/images/l_i.png" /></p> <p><a href="http://www.phpontrax.com">Php On Trax</a> (formerly Php On Rails) is a web-application and persistance framework that is based on Ruby on Rails and includes everything needed to create database-backed web-applications according to the Model-View-Control pattern of separation. This pattern splits the view (also called the presentation) into “dumb” templates that are primarily responsible for inserting pre-build data in between HTML tags. The model contains the “smart” domain objects (such as Account, Product, Person, Post) that holds all the business logic and knows how to persist themselves to a database. The controller handles the incoming requests (such as Save New Account, Update Product, Show Post) by manipulating the model and directing data to the view.</p> <p>In Trax, the model is handled by what’s called a object-relational mapping layer entitled Active Record. This layer allows you to present the data from database rows as objects and embellish these data objects with business logic methods. </p> <h6>9. eZcomponents</h6> <p><img alt="EzComponents" src="http://ezcomponents.org/images/01a.gif" width="200" /></p> <p><a href="http://ezcomponents.org">eZ Components</a> is an enterprise ready, general purpose PHP components library. It is used independently or together for PHP application development. As a collection of high quality independent building blocks, eZ Components will both speed up development and reduce risks. An application can use one or more components effortlessly as they all adhere to the same naming conventions and follow the same structure. All components require atleast PHP 5.2.1.</p> <h6>10. Fusebox</h6> <p><img alt="FuseBox" src="http://www.fusebox.org/css/images/fuseboxlogo.gif" width="200" /></p> <p><a href="http://www.fusebox.org/">Fusebox </a>is the most popular framework for building ColdFusion and PHP web applications. “Fuseboxers” find that the framework releases them from much of the drudgery of writing applications and enables them to focus their efforts on creating great, customer-focused software.</p> <h6>11. PRADO</h6> <p><img alt="Prado" src="http://www.pradosoft.com/css/pradoheader.gif" width="200" /></p> <p><a href="http://www.pradosoft.com/">PRADO </a>is a component-based and event-driven programming framework for developing Web applications in PHP 5. PRADO stands for PHP Rapid Application Development Object-oriented.</p> <p><strong>What does PRADO require?</strong></p> <p>The sole requirement to run PRADO-based applications is a Web server supporting PHP 5.1.0 or higher. PRADO is free. You can use it to develop either open source or commercial applications.</p> <h6>12. Seagull</h6> <p><img alt="Seagull" src="http://seagullproject.org/themes/seagull/images/logo.png" /></p> <p><a href="http://seagullproject.org/">Seagull</a> is a mature OOP framework for building web, command line and GUI applications. Licensed under BSD, the project allows PHP developers to easily integrate and manage code resources, and build complex applications quickly.</p> <p>Many popular PHP applications are already seamlessly integrated within the project, as are various templating engines, testing tools and managed library code. If you’re a beginner, the framework provides a number of sample applications that can be customised and extended to suit your needs. If you’re an intermediate or advanced developer, take advantage of Seagull’s best practices , standards and modular codebase to build your applications in record time.</p> <p>Once your development cycle is complete, use Seagull’s features for deploying and maintaining your apps locally and remotely. Check out the friendly and active Seagull community and see if Seagull’s a good fit for you.</p> <p><strong>Features:</strong></p> <p>Check out the screenshots page to see Seagull in action. Or compare the features list with your current framework/CMS. Seagull offers the following key features:</p> <ul> <li>PHP 4/5 compatible </li> <li>compact core framework with basic CMS and other modules included to get you started </li> <li>ease of use: learning curve not as steep as other frameworks </li> <li>enterprise ready, performance conscious design </li> <li>tight integration with PEAR libraries, great for prototyping complex projects <br />integrated ORM for RAD </li> <li>highly configurable, easy to integrate with 3rd party code </li> <li>community support: the project enjoys participation from a large and active developer community, want the documentation in Chinese, looking for Seagull devs near you? </li> <li>loosely coupled components, use template engine of your choice, output to multiple devices or CLI </li> <li>staying power: started in 2001, the Seagull project has been steadily growing in popularity and now enjoys international recognition </li> </ul> <h6>13. PhpOpenbiz</h6> <p><a href="http://www.phpopenbiz.org/"><img alt="PhpOpenbiz" src="http://www.phpopenbiz.org/jim/uploads/aberdeen-liquid_logo.gif" width="200" /></a></p> <p>Want to build a data centric business application without dirty code - <a href="http://www.phpopenbiz.org/">PhpOpenbiz (Openbiz)</a> is the solution! OpenBiz is a PHP application framework for professional IT developers and consultants to build web-based enterprise applications. Key features includes:</p> <ul> <li><strong>XML Metadata-driven</strong> design principal. Developers declare business logic in metadata (zero-coding development) </li> <li><strong>AJAX </strong>enabled browser client, Model-View-Controller (<strong>MVC</strong>), Object Relational Mapping (<strong>ORM</strong>) </li> <li><strong>Eclipse plugin</strong> authoring tool </li> </ul> <h6>14. WASP</h6> <p><strong>What is WASP?</strong></p> <p><a href="http://wasp.sourceforge.net/content/">WASP</a> is a powerful web application framework built on PHP 5. WASP strives to allow web developers to make great applications with more fun and less code, but in the familiar playground of PHP.</p> <p><strong>Why use WASP?</strong></p> <p>WASP was written from the ground up in pure Object Oriented PHP5. WASP fully utilizes all of the enhancements made to PHP in version 5.</p> <p>This means you use less code to create enterprise class applications. <br />This isn’t your hacker’s PHP. </p> <h6>15. WACT</h6> <p><a href="http://www.phpwact.org/">WACT = The Web Application Component Toolkit</a> is a framework for creating web applications. WACT facilitates a modular approach where individual, independent or reusable components may be integrated into a larger web application. WACT assists in implementing the Model View Controller pattern and the related Domain Model, Template View, Front Controller and Application Controller patterns.</p> <p>The WACT framework is developed with the philosophy of continuous refactoring and Unit Testing. WACT encourages these activities in applications based on the framework. WACT uses Simple Test as a unit testing framework.</p> <p>WACT emphasizes writing secure web applications. See Web Application Security for more information.</p> <h6>16. PHPDevShell</h6> <p><img alt="PHPDevShell" src="http://blog.insicdesigns.com/wp-content/uploads/2008/10/phpdevshell.jpg" /></p> <p><a href="http://www.phpdevshell.org/">PHPDevShell</a>serves as a UI “sea shell like” for developers to integrate or develop their applications within, giving the developer an immediate UI advantage of most required web application functionaries.</p> <p><strong>Features:</strong></p> <p><a href="http://www.phpdevshell.org/">PHPDevShell</a> features a number of great pre-developed components. Unlike most other frameworks where power was concentrated on the backend, PHPDevShell has concentrated on a balance providing the developer both a backend and a frontend ui.</p> <p>Some pre-developed components include;</p> <p>Backend providing basic development help with:</p> <ul> <li>Good clean file structure. </li> <li>Multiple site/domain configuration options. </li> <li>Core Class : General php functionality. </li> <li>Database Class : General database functions required. </li> <li>Email Class : Providing emailing support with PHPMailer. </li> <li>File Manager Class : Providing basic file management support. </li> <li>Form Class : Very basic form functions. </li> <li>Navigation Class : Handless all navigation for your application and PHPDevShell itself. </li> <li>Security Class : Handless all security for your application and PHPDevShell itself. </li> <li>Template Class : Manages flexible and light template system. </li> <li>WYSIWYG Class : Manages wysiwyg editor needs with TinyMCE. </li> <li>Iana Language Class : Manages multiple languages for your software and PHPDevShell itself. </li> <li>Plugin Manager : Does all plugin based calculations and transactions for you. </li> <li>Time Zone Class : Manages correct timezones for your application. </li> </ul> <h6>17. DIY</h6> <p><a href="http://www.xml.lt/Resources/Framework">DIY</a> is an open-source lightweight web application framework based on object-oriented PHP 5, MySQL, and XSLT. It is fully object-oriented and designed following the MVC architecture and REST design principles. The idea behind it is not to reinvent the wheel but instead to combine existing and proven technologies in a convenient and effective way.</p> <p>The DIY Framework is a compact class library which can be extended and included by user applications. It puts few restrictions and gives flexibility. In contrast, most of the current web application frameworks are designed inside-out: they define the general structure and only allow your application to fit within their constraints.</p> <p>For the same reasons, the framework does not contain plugins, scaffolding, routing, AJAX, widgets or other buzzwords. We see them as helper applications at best, not as parts of the framework itself. No frills are included (hence the name) — just precise control over your sever-side code.</p> <p>Because of the framework’s nature, the following descriptions of architecture and file structure should be seen merely as guidelines for applications. They are also used in the included sample files.</p> <p>Using the DIY Framework, not a single line of SQL or HTML needs to be hardcoded, constructed “by hand” or mixed with the PHP code. Almost no URL hacking or chopping is needed. The UTF-8 encoding is used exclusively.</p> <p>The framework exploits PHP 5’s features such as more advanced object model, type hinting and class autoloading. HTTP request, response and session data is accessed via Java servlet-style OO wrappers. The framework has been straightforwardly ported to Java.</p> <p>It has been successfully used in several small to medium production solutions and is currently used to build a large community-based social website.</p> <h6>18. QPHP</h6> <p><a href="http://qphp.net/">QPHP</a> stands for Quick PHP and is a MVC framework similar as architecture to ASP.NET.</p> <p>I, as the author of the project, have spent the last 8 years working on web projects using various Java frameworks, ASP.NET and PHP. This framework tries to get the best of the above platforms as well as to avoid the problematic parts. Basically it:</p> <ul> <li>Brings the elegance of Java and C# </li> <li>Drops all Perl like bizzare statements that other PHP frameworks use </li> <li>Relies extensively on OOP concepts </li> </ul> <p>Code-behind approach is used, so every webpage consists of 2 files:</p> <ul> <li>.PHP - presentation logic </li> <li>.PHP.SCRIPT - business/programming logic </li> </ul> <h6>19. Ambivalence</h6> <p><a href="http://amb.sourceforge.net/">Ambivalence </a>is a Model-View-Controller framework for PHP web development. Based on the Java-based Maverick project, Ambivalence also offers clean MVC separation and an XML sitemap. Ambivalence provides an optional service to authenticate and enforce access controls upon users, based on the JBoss implementation of the J2EE Java Authorization and Authentication Service (JAAS).</p> <p><strong>Core features include:</strong></p> <ul> <li>Configuration using an XML sitemap. </li> <li>Easily encapsulate variable content within a common layout, look-and-feel, etc. </li> <li>Cleanly separate application security logic from application functionality via XML security map. </li> </ul> <h6>20. ATK Framework</h6> <p><img alt="ATK" src="http://www.atk-framework.com/img/atkframework/logo.jpg" width="200" /></p> <p><a href="http://www.atk-framework.com/">ATK </a>is a business framework. It is written in PHP, and allows you to build web applications with minimal amounts of code. The only code you write is business logic.</p> <p>The framework is particularly useful for creating business applications; to manipulate data. CRM, HRM, ERP are all area’s where ATK can be used to build custom applications with minimal effort. Check the demo to see examples.</p> <h6>21. Canvas</h6> <p>Canvas is an open-source web application framework built with and for PHP5. Canvas employs the model-view-controller (MVC) design pattern, as well as abstracting database interaction with an object-relational mapping (ORM) model that presents data in a database as real world objects.</p> <p>Canvas is in active development at Clayton State University’s Office of Information Technology and Services department The HUB. The framework is currently at version 1.1, but has many more releases planned and under way.</p> <p>The framework was developed out of a need for a simple and common way for the entire department to develop web applications with rapid ease. A great deal of inspiration was pulled from Ruby on Rails and the simplistic beauty it provides the Ruby community. The goal for the design of the system was semantic simplicity and beauty. Agile development methods were employed to enhance the system as much as possible, particularly the “don’t repeat yourself” principle, orthogonality, decoupled design, and others.</p> <p>The framework uses MySQL as the default relational database engine and Smarty as the default templating system, but is easily modified to use other databases and templating systems.</p> <h6>22. Chisimba</h6> <p><a href="http://en.wikipedia.org/wiki/Chisimba">Chisimba</a> is a Web 2.0 enabled rapid application development framework for creating web applications that are platform independent, browser independent, XHTML compliant, and can use a number of common databases. The framework is written in PHP5 using the model-view-controller paradigm, implemented via a modular architecture. Chisimba has an API that can be used by other applications over the Web, and it is Free Software licensed under the GNU GPL.</p> <h6>23. Orinoco Framework</h6> <p>The Orinoco Framework is an open source, object-oriented, full-stack web framework implemented in PHP and released under the MIT License. The framework follows the Model-View-Controller architecture and implements the Model 2 design paradigm. Like any other MVC frameworks, Orinoco Framework allows developer to create web applications in less codes and easily maintainable modules.</p> <h6>24. Ash.MVC </h6> <p><img alt="ash MVC" src="http://ash-mvc.org/media/Image/ash-mvc.gif" /></p> <p><a href="http://www.ash-mvc.org/">ash.MVC</a> is a simple PHP programming framework proposed by Ash. The basic approach of this framework is to adopt a middle-path approach between faster development cycle, and a robust and scalable application. Moreover, the schemes proposed in the framework stick to the line of simplicity all along.</p> <p>While encountering this new framework, ash.MVC, one may wonder with various questions, like:</p> <ol> <li>Do we need a framework at the first place? </li> <li>Why do we need another framework when there are numerous ones available? </li> <li>Why do we use MVC design pattern for this framework? </li> </ol> <p>All the above questions have been addressed in the FAQs page.</p> <p>The framework revolves round the concept of MVC design pattern as expected. There are four elements: 1. web browser, 2. Controller, 3. Model, and 4. View. These four elements interact with one another to establish a data-flow that is initiated by HTTP Request from client browser, and is successfully terminated with the receipt of HTTP Response at the client browser.</p> <h6>25. Studs</h6> <p><a href="http://www.mojavelinux.com/projects/studs/">Studs </a>began simply as a port of Apache’s Jakarta Struts MVC Framework to PHP, though it has turned out to be decidedly more. I started this project to study the internals of J2EE web applications and then to bring these design concepts into the PHP environment. Now it is time the see if the code lives up to this challenge.</p> <p>Studs Workflow DiagramThe primary goal of this project, apart from being a road tested implementation of the MVC pattern for PHP, is to provide a learning platform for developers looking to give J2EE a try, while at the same time providing a comfortable PHP environment for those people familiar with Java Servlet technology. One way Studs manages this neutral ground is by relying on many of the standard deployment descriptors used in Java Servlets and Struts, including such files as web.xml, struts-config.xml and taglib.tld. By achieving this level of compatibility, existing tools can be leveraged to help develop applications in this environment.</p> <p>That’s it a total of 25 OpenSource PHP Framework I’ve found. If ever you have any suggestions or addition just leave a comment.</p> <p>source: <a title="http://blog.insicdesigns.com/2008/10/25-opensource-php-framework/" href="http://blog.insicdesigns.com/2008/10/25-opensource-php-framework/">http://blog.insicdesigns.com/2008/10/25-opensource-php-framework/</a></p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com2tag:blogger.com,1999:blog-4306126322132936929.post-43788138068027315342009-02-11T22:34:00.001+07:002009-02-12T00:43:34.522+07:00Membuat add button pada TabNavigator<p>Kmarin saya sempat bingung bagaimana cara membuat add button pada TabNavigator, setelah googling2 akhirnya menemukan suatu petunjuk bahwa untuk membuat button pada TabNavigator bisa menggunakan cara simple daripada repot2 membuat extended class dari SuperTabNavigator FlexLib.....</p> <p><a href="http://lh3.ggpht.com/_UeBap64SbaA/SZMOPDc7YKI/AAAAAAAAALw/aADYWuyGCoo/s1600-h/addButton%5B5%5D.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="addButton" src="http://lh5.ggpht.com/_UeBap64SbaA/SZMOQzuOjbI/AAAAAAAAAL0/WiE6UG4i55U/addButton_thumb%5B3%5D.png?imgmax=800" width="491" height="180" /></a> </p> <p>caranya begini:</p> <p>pertama: buat fungsi yang dapat memposiskan button pada sisi kanan Tab:</p> <pre class="csharpcode"><span class="kwrd">public</span> function positionAddNewTabButton():<span class="kwrd">void</span><br />{<br />var i:<span class="kwrd">int</span>=nav.numChildren-1;<br />addNewTabButton.x=nav.getTabAt(i).x +<br />(nav.getTabAt(i).width) + 1<br />addNewTabButton.y=nav.getTabAt(i).y +<br />(nav.getTabAt(i).height/2) - 10<br />}</pre><br /><style type="text/css"><br /><br />.csharpcode, .csharpcode pre<br />{<br /> font-size: small;<br /> color: black;<br /> font-family: consolas, "Courier New", courier, monospace;<br /> background-color: #ffffff;<br /> /*white-space: pre;*/<br />}<br />.csharpcode pre { margin: 0em; }<br />.csharpcode .rem { color: #008000; }<br />.csharpcode .kwrd { color: #0000ff; }<br />.csharpcode .str { color: #006080; }<br />.csharpcode .op { color: #0000c0; }<br />.csharpcode .preproc { color: #cc6633; }<br />.csharpcode .asp { background-color: #ffff00; }<br />.csharpcode .html { color: #800000; }<br />.csharpcode .attr { color: #ff0000; }<br />.csharpcode .alt <br />{<br /> background-color: #f4f4f4;<br /> width: 100%;<br /> margin: 0em;<br />}<br />.csharpcode .lnum { color: #606060; }</style><br /><br /><p>Kedua: gunakan Event  <em>creationComplete </em>dan <em>updateComplete</em> untuk memproses posisi button pada saat ada penambahan Tab</p><br /><br /><p>creationComplete="positionAddNewTabButton()"  <br />updateComplete="positionAddNewTabButton()"</p><br /><br /><p>Lebih lengkap:</p><br /><br /><pre class="csharpcode"><?xml version=<span class="str">"1.0"</span> encoding=<span class="str">"utf-8"</span>?><br /><mx:WindowedApplication xmlns:mx=<span class="str">"http://www.adobe.com/2006/mxml"</span> layout=<span class="str">"absolute"</span>><br /> <mx:Script><br /> <![CDATA[<br /> <br /> <span class="kwrd">public</span> function positionAddNewTabButton():<span class="kwrd">void</span><br /> {<br /> var i:<span class="kwrd">int</span>=nav.numChildren-1;<br /> addNewTabButton.x=nav.getTabAt(i).x +<br /> (nav.getTabAt(i).width) + 1<br /> addNewTabButton.y=nav.getTabAt(i).y +<br /> (nav.getTabAt(i).height/2) - 10<br /> }<br /> ]]><br /> </mx:Script><br /> <mx:Button id=<span class="str">"addNewTabButton"</span> label=<span class="str">"Add"</span>/><br /> <mx:TabNavigator id=<span class="str">"nav"</span> width=<span class="str">"100%"</span> height=<span class="str">"100%"</span> <br /> creationComplete=<span class="str">"positionAddNewTabButton()"</span> <br /> updateComplete=<span class="str">"positionAddNewTabButton()"</span> cre><br /> <mx:Canvas label=<span class="str">"Home"</span> width=<span class="str">"100%"</span> height=<span class="str">"100%"</span>><br /> </mx:Canvas><br /> </mx:TabNavigator><br /></mx:WindowedApplication></pre><br /><br /><p>oke itu saja....:)</p> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com1tag:blogger.com,1999:blog-4306126322132936929.post-15335567470191675572009-02-06T22:37:00.000+07:002009-02-06T22:38:13.913+07:00XML di Flex<p>Akhirnya saya bisa meluangkan waktu untuk menulis blogs lagi, banyak sekali kegiatan yang saya lakukan setelah lulus kuliah...senang rasanya bisa menulis kembali di blogs FlexIndonesia. Btw, sudah lebih dari 6 bulan blogs ini tidak saya update..Padahal sekarang Perkembangan FLEX dan AIR semakin canggih..tadinya cman belajar amfPHP dan WebORB, eh skrang sudah ada BLazeDS buat backbone Java...Eh terus skrang udah ada Flex 4....oke sekian dulu ceritanya...</p> <p>XML di Flex mengikuti aturan ECMAScript for XML (E4X) di helpnya sech dibahas bahwa tujuan menggunakan format E4X, yaitu:</p> <ul> <li>Simplicity--Where possible, E4X makes it easier to write and understand code for working with XML data. </li> <li>Consistency--The methods and reasoning behind E4X are internally consistent and consistent with other parts of ActionScript. </li> <li>Familiarity--You manipulate XML data with well-known operators, such as the dot (.) operator. </li></ul> <p>contoh penggunaan XML pada Flex</p><pre class="csharpcode">var ids:Array = [121, 122, 123]; <br />var names:Array = [[<span class="str">"Murphy"</span>,<span class="str">"Pat"</span>], [<span class="str">"Thibaut"</span>,<span class="str">"Jean"</span>], [<span class="str">"Smith"</span>,<span class="str">"Vijay"</span>]]<br />var x:XML = <span class="kwrd">new</span> XML(<span class="str">"<employeeList></employeeList>"</span>);<br /><br /><span class="kwrd">for</span> (var i:<span class="kwrd">int</span> = 0; i < 3; i++)<br />{<br /> var newnode:XML = <span class="kwrd">new</span> XML(); <br /> newnode =<br /> <employee id={ids[i]}><br /> <last>{names[i][0]}</last><br /> <first>{names[i][1]}</first><br /> </employee>;<br /><br /> x = x.appendChild(newnode)<br />}<br /><br /></pre><br /><style type="text/css">.csharpcode, .csharpcode pre<br />{<br /> font-size: small;<br /> color: black;<br /> font-family: consolas, "Courier New", courier, monospace;<br /> background-color: #ffffff;<br /> /*white-space: pre;*/<br />}<br />.csharpcode pre { margin: 0em; }<br />.csharpcode .rem { color: #008000; }<br />.csharpcode .kwrd { color: #0000ff; }<br />.csharpcode .str { color: #006080; }<br />.csharpcode .op { color: #0000c0; }<br />.csharpcode .preproc { color: #cc6633; }<br />.csharpcode .asp { background-color: #ffff00; }<br />.csharpcode .html { color: #800000; }<br />.csharpcode .attr { color: #ff0000; }<br />.csharpcode .alt <br />{<br /> background-color: #f4f4f4;<br /> width: 100%;<br /> margin: 0em;<br />}<br />.csharpcode .lnum { color: #606060; }<br /></style><br /><br /><p>Mungkin contoh diatas masih simpel, coba lihat code berikut</p><pre class="csharpcode">[Bindable]<br /><span class="kwrd">private</span> var MenuList:XML=<span class="kwrd">new</span> XML(<span class="str">""</span> + <br /> <span class="str">"<root>"</span> + <br /> <span class="str">"<menuitem label='File' id='file'>"</span> + <br /> <span class="str"><menuitem label='Exit' id='Exit'/>"</span>+<br /> <span class="str"></menuitem>"</span> + <br /> <span class="str">"</root></span>);</pre><br /><style type="text/css">.csharpcode, .csharpcode pre<br />{<br /> font-size: small;<br /> color: black;<br /> font-family: consolas, "Courier New", courier, monospace;<br /> background-color: #ffffff;<br /> /*white-space: pre;*/<br />}<br />.csharpcode pre { margin: 0em; }<br />.csharpcode .rem { color: #008000; }<br />.csharpcode .kwrd { color: #0000ff; }<br />.csharpcode .str { color: #006080; }<br />.csharpcode .op { color: #0000c0; }<br />.csharpcode .preproc { color: #cc6633; }<br />.csharpcode .asp { background-color: #ffff00; }<br />.csharpcode .html { color: #800000; }<br />.csharpcode .attr { color: #ff0000; }<br />.csharpcode .alt <br />{<br /> background-color: #f4f4f4;<br /> width: 100%;<br /> margin: 0em;<br />}<br />.csharpcode .lnum { color: #606060; }<br /></style><br /><br /><p>Pertanyaan???</p><br /><p>1. Bagaimana menambah menuitem setelah label exit?? supaya hasilnya menjadi...</p><pre class="csharpcode"> <root><br /> <menuitem label=<span class="str">"File"</span> id=<span class="str">"file"</span>><br /> <menuitem label=<span class="str">"Exit" </span><span class="str">id="Exit"'</span>/><br /> <menuitem label=<span class="str">"Open" id="Open"</span>/><br /> </menuitem><br /> </root>)</pre><br /><style type="text/css">.csharpcode, .csharpcode pre<br />{<br /> font-size: small;<br /> color: black;<br /> font-family: consolas, "Courier New", courier, monospace;<br /> background-color: #ffffff;<br /> /*white-space: pre;*/<br />}<br />.csharpcode pre { margin: 0em; }<br />.csharpcode .rem { color: #008000; }<br />.csharpcode .kwrd { color: #0000ff; }<br />.csharpcode .str { color: #006080; }<br />.csharpcode .op { color: #0000c0; }<br />.csharpcode .preproc { color: #cc6633; }<br />.csharpcode .asp { background-color: #ffff00; }<br />.csharpcode .html { color: #800000; }<br />.csharpcode .attr { color: #ff0000; }<br />.csharpcode .alt <br />{<br /> background-color: #f4f4f4;<br /> width: 100%;<br /> margin: 0em;<br />}<br />.csharpcode .lnum { color: #606060; }<br /></style><br /><br /><p>Jawab: </p><br /><p>untuk bisa menambahkan child setelah label exit kita bisa menggunakan XML method <samp>insertChildAfter()</samp></p><pre class="csharpcode"> .....<br /> var newNode:XML = <span class="kwrd">new</span> XML(<span class="str">"<menuitem label='Open' id='Open'/>"</span>);<br /> var contentNode:XML = MenuList.menuitem.menuitem[0];<br /> var parentNode:XML = MenuList.menuitem[0];<br /> parentNode.insertChildAfter(contentNode, newNode[0] );<br /> ....</pre><br /><style type="text/css">.csharpcode, .csharpcode pre<br />{<br /> font-size: small;<br /> color: black;<br /> font-family: consolas, "Courier New", courier, monospace;<br /> background-color: #ffffff;<br /> /*white-space: pre;*/<br />}<br />.csharpcode pre { margin: 0em; }<br />.csharpcode .rem { color: #008000; }<br />.csharpcode .kwrd { color: #0000ff; }<br />.csharpcode .str { color: #006080; }<br />.csharpcode .op { color: #0000c0; }<br />.csharpcode .preproc { color: #cc6633; }<br />.csharpcode .asp { background-color: #ffff00; }<br />.csharpcode .html { color: #800000; }<br />.csharpcode .attr { color: #ff0000; }<br />.csharpcode .alt <br />{<br /> background-color: #f4f4f4;<br /> width: 100%;<br /> margin: 0em;<br />}<br />.csharpcode .lnum { color: #606060; }<br /></style><br /><pre class="csharpcode"> </pre><br /><style type="text/css">.csharpcode, .csharpcode pre<br />{<br /> font-size: small;<br /> color: black;<br /> font-family: consolas, "Courier New", courier, monospace;<br /> background-color: #ffffff;<br /> /*white-space: pre;*/<br />}<br />.csharpcode pre { margin: 0em; }<br />.csharpcode .rem { color: #008000; }<br />.csharpcode .kwrd { color: #0000ff; }<br />.csharpcode .str { color: #006080; }<br />.csharpcode .op { color: #0000c0; }<br />.csharpcode .preproc { color: #cc6633; }<br />.csharpcode .asp { background-color: #ffff00; }<br />.csharpcode .html { color: #800000; }<br />.csharpcode .attr { color: #ff0000; }<br />.csharpcode .alt <br />{<br /> background-color: #f4f4f4;<br /> width: 100%;<br /> margin: 0em;<br />}<br />.csharpcode .lnum { color: #606060; }<br /></style><br /><br /><p><a name="120987"><br /><h4><a name="120748">XML methods </h4><br /><p>The following methods allow you to work with the hierarchical structure of XML objects: <br /><ul><br /><li><samp>appendChild()</samp><br /><li><samp>child()</samp><br /><li><samp>childIndex()</samp><br /><li><samp>children()</samp><br /><li><samp>descendants()</samp><br /><li><samp>elements()</samp><br /><li><samp>insertChildAfter()</samp><br /><li><samp>insertChildBefore()</samp><br /><li><samp>parent()</samp><br /><li><samp>prependChild()</samp></li></ul><br /><p>The following methods allow you to work with XML object attributes: <br /><ul><br /><li><samp>attribute()</samp><br /><li><samp>attributes()</samp></li></ul><br /><p>The following methods allow you to you work with XML object properties: <br /><ul><br /><li><samp>hasOwnProperty()</samp><br /><li><samp>propertyIsEnumerable()</samp><br /><li><samp>replace()</samp><br /><li><samp>setChildren()</samp></li></ul><br /><p>The following methods are for working with qualified names and namespaces:<br /><ul><br /><li><samp>addNamespace()</samp><br /><li><samp>inScopeNamespaces()</samp><br /><li><samp>localName()</samp><br /><li><samp>name()</samp><br /><li><samp>namespace()</samp><br /><li><samp>namespaceDeclarations()</samp><br /><li><samp>removeNamespace()</samp><br /><li><samp>setLocalName()</samp><br /><li><samp>setName()</samp><br /><li><samp>setNamespace()</samp></li></ul><br /><p>The following methods are for working with and determining certain types of XML content:<br /><ul><br /><li><samp>comments()</samp><br /><li><samp>hasComplexContent()</samp><br /><li><samp>hasSimpleContent()</samp><br /><li><samp>nodeKind()</samp><br /><li><samp>processingInstructions()</samp><br /><li><samp>text()</samp></li></ul><br /><p>The following methods are for conversion to strings and for formatting XML objects:<br /><ul><br /><li><samp>defaultSettings()</samp><br /><li><samp>setSettings()</samp><br /><li><samp>settings()</samp><br /><li><samp>normalize()</samp><br /><li><samp>toString()</samp><br /><li><samp>toXMLString()</samp></li></ul><br /><p>There are a few additional methods: <br /><ul><br /><li><samp>contains()</samp><br /><li><samp>copy()</samp><br /><li><samp>valueOf()</samp><br /><li><samp>length()</samp></li></ul></a></a> TB Saepul Anwarhttp://www.blogger.com/profile/10088822594855349509noreply@blogger.com0