I am Adobe Certified Expert Flex | AIR (Indonesia)

Adobe Certified Expert (ACE) Flex | AIR

Certified_Expert_Flex_badge

 

ACE_Tubagus_

Flex logo Past And Now

Flex_past_now

  • Adobe Flex 2
  • Adobe Flex 3
  • Adobe Flex 4
  • Adobe Flex 4.5
  • Adobe Flex 4.6

Visit:

http://incubator.apache.org/flex/

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 sini.

Format-nya sebagi berikut :

http://green.tandif.com/api/v1/text/check?api_key=your_api_key_here&text=your_text_here
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

1 <?xml version="1.0" encoding="utf-8"?>
2 <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
3 xmlns:s="library://ns.adobe.com/flex/spark"
4 creationComplete="view1_creationCompleteHandler(event)" title="Filter">
5 <fx:Declarations>
6 <!-- Place non-visual elements (e.g., services, value objects) here -->
7 </fx:Declarations>
8 <s:TextInput id="TextInput_URL" x="10" y="30" width="178" height="37" text=""/>
9 <s:Label x="10" y="10" text="URL"/>
10 <s:TextArea id="TextArea_Content" x="9" y="75" width="279" height="130"
11 text="fuck my ass and my dick"/>
12 <s:Button x="200" y="27" width="88" height="41" label="Ektract"
13 click="button2_clickHandler(event)"/>
14 <s:Label x="10" y="263" text="Result"/>
15 <s:TextArea id="TextArea_Result" x="10" y="286" height="116"/>
16 <s:Button x="201" y="213" width="88" height="41" label="Filter"
17 click="button1_clickHandler(event)"/>
18
19 <fx:Script>
20 <![CDATA[
21 import com.adobe.utils.StringUtil;
22
23 import mx.events.FlexEvent;
24 import mx.rpc.events.ResultEvent;
25 import mx.rpc.http.HTTPService;
26
27 private static const API_KEY_TANDIF:String = "YOUR_API_KEY_HERE";
28 private static const API_KEY_ALCHEMY:String = "YOUR_API_KEY_HERE";
29 private static const INCREMENT:int = 1000;
30
31 private var _httpService_Filter:HTTPService = new HTTPService();
32 private var _httpService_Ektract:HTTPService = new HTTPService();
33 private var _dataArrayStrings:Array = [];
34
35 private var _last:int = 0;
36 private var _index:int = 1;
37
38 private function do_filter():void{
39
40 _index = 1;
41 _dataArrayStrings = [];
42
43 var str:String = TextArea_Content.text;
44
45 // Proses Menyimpan String ke dalam Array, supaya bisa dipecah menjadi String yang lebih pendek.
46 if(str.length>INCREMENT){
47
48 var count:int = Math.floor(str.length/INCREMENT);
49
50 for (var i:int=0; i<count; i++){
51
52 var s1:String = "";
53
54 if(i == count){
55 s1 = str.substr(i*INCREMENT, str.length);
56 }else{
57 s1 = str.substr(i*INCREMENT, INCREMENT*(i+1));
58 }
59
60 _dataArrayStrings.push(s1);
61 }
62 }
63 if(_dataArrayStrings.length>0){
64
65 _httpService_Filter.url = "http://green.tandif.com/api/v1/text/check?api_key="+API_KEY_TANDIF+"&text="+_dataArrayStrings[0];
66 _dataArrayStrings.shift();
67 }else{
68 _httpService_Filter.url = "http://green.tandif.com/api/v1/text/check?api_key="+API_KEY_TANDIF+"&text="+TextArea_Content.text;
69 }
70 _httpService_Filter.send();
71 }
72
73 private function do_ektract():void {
74 _httpService_Ektract.url = "http://access.alchemyapi.com/calls/url/URLGetRawText?apikey="+API_KEY_ALCHEMY+"&url="+TextInput_URL.text+"&outputMode=json";
75 _httpService_Ektract.send();
76
77 }
78
79 protected function view1_creationCompleteHandler(event:FlexEvent):void
80 {
81 _httpService_Filter.addEventListener(ResultEvent.RESULT, onResult_Filtering, false, 0, true);
82 _httpService_Filter.resultFormat = HTTPService.RESULT_FORMAT_TEXT;
83 _httpService_Filter.showBusyCursor = true;
84
85 _httpService_Ektract.addEventListener(ResultEvent.RESULT, onResult_Ekstract, false, 0, true);
86 _httpService_Ektract.resultFormat = HTTPService.RESULT_FORMAT_TEXT;
87 _httpService_Ektract.showBusyCursor = true;
88
89 }
90
91 private function onResult_Filtering(e:ResultEvent):void{
92
93 try{
94 var data:Object = JSON.parse(e.result as String);
95 TextArea_Result.text += "String "+_last+" - "+(INCREMENT*_index) +" : "+(data.result as String)+"\n";
96 }catch(e:Error){
97
98 TextArea_Result.text += "No Result \n";
99 }
100
101 if(_dataArrayStrings.length > 0){
102
103 _httpService_Filter.url = "http://green.tandif.com/api/v1/text/check?api_key="+API_KEY_TANDIF+"&text="+_dataArrayStrings[0];
104 _httpService_Filter.send();
105 _dataArrayStrings.shift();
106
107 _last = (INCREMENT*_index);
108 _index++;
109
110 }
111 }
112
113 private function onResult_Ekstract(e:ResultEvent):void{
114
115 var data:Object = JSON.parse(e.result as String);
116 var str:String = data.text;
117
118 str = str.replace(/[^a-zA-Z0-9]/g, ' ');
119 str = str.replace(/\n/g, '');
120 str = StringUtil.trim(str);
121 TextArea_Content.text = str;
122
123 }
124
125 private function htmlUnescape(str:String):String
126 {
127 return new XMLDocument(str).firstChild.nodeValue;
128 }
129
130 protected function button1_clickHandler(event:MouseEvent):void
131 {
132 do_filter();
133 }
134
135 protected function button2_clickHandler(event:MouseEvent):void
136 {
137 do_ektract();
138 }
139
140 ]]>
141 </fx:Script>
142 </s:View>
Source Code | App Android (APK)

[Review] Presentation at Flash Camp Indonesia January 20, 2011

70760_1016721490_1256827_n Acara Flash Camp pada tanggal 20 januari sudah berlalu, tetapi kesannya masih terus ada. Keinginan terus memajukan komunitas Adobe semakin besar, terutama komunitas Flex dan AIR 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 “Development Playbook Application With Adobe AIR 2.5 dan QNX SDK”, 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.

 

 

 

Berikut aplikasi demo G-Spot pada Flash Camp Indonesia

Apa sech G-Spot?

G-Spot kepanjangan dari Gayaku Spot, saat ini sedang dikembangkan oleh Tubagus Saepul Anwar, Yoga Pratama, Adhi Pamungkas, dan Yoanudin. Project dimulai tanggal 1 januari 2010.

Teknologi apa yang digunakan untuk pengembangan aplikasi G-Spot?

Adobe AIR 2.5 dan QNX SDK

Apa saja fitur-fiturnya?

Saat ini fitur yang tersedia Cinema, Event, Restaurant, Shopping (Search), Wheather, Sport, dan Info kost

Device Apa saja yang support sekarang ini?

Masih tersedia untuk Galaxy Tab dan Playbook, dan masih Beta Version

 

Apa saja kebutuhan G-Spot?

saat ini G-Spot masih menggunakn server biasa tapi kedepannya akan seperti ini

  • MINIMAL SPECIFICATION FOR SERVER G-SPOT
  • Server Type : Shared Hosting (Prefer. Dedicated)
  • Server OS : Any Linux (Prefer. RedHat or Debian Distro)
  • HDD Capacity : 1.2 GB (PHP 5 and MySQL 5)
  • Server RAM : 2 GB (Prefer. 4G)
  • Bandwidth : Unlimited (Local and International)

 

 

Screen shot dari G-Spot di Galaxy Tab

Samsung_Galaxy_Tab_1

 

Samsung_Galaxy_Tab_2Samsung_Galaxy_Tab_3Samsung_Galaxy_Tab_4   Samsung_Galaxy_Tab_21 Samsung_Galaxy_Tab_20 Samsung_Galaxy_Tab_19

 

Samsung_Galaxy_Tab_15

 

Source Pengembangan Playbook dengan Adobe AIR 2.5 dan QNX SDK

 

*****

I’m Speaker Adobe Flash Camp 2011 Indonesia

 

Capture_bagusBesok saya akan mempresentasikan “Development Playbook Application with Adobe AIR 2.5 and QNX SDK”, 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

“See You Tommorow guys!”

 

 

 

 

 

Here the detail schedule Flash Camp 2011

Time Agenda
07:30 - 08:00 Registration
08:00 - 08:15 Opening
08:16 - 09:15 Bridging Adobe Flex, Adobe Air to Java Web Application with Adobe BlazeDS by Nova Saputra, Java Developer
09:16 - 10:15 Developer and Designer Workflow by Ahmad Fathi Hadi and Nata Chen, RIA Developer, Game/Creative Producer
10:16 - 11:15 Behind the scenes of MAX Racer and building realtime multiplayer experiences by Tom Krcha, Adobe Evangelist
11:16 - 12:15 Creating mashup apps using various social media API's and AS3 by Arie M. Prasetyo, Flex & Web Developer
12:16 - 13:15 Break
13:16 - 14:15 Virtual World with AS3isolib by Anggie Bratadinata, Flash Engineer
14:16 - 15:15 70760_1016721490_1256827_n





Development Playbook Application with Adobe AIR 2.5 and QNX SDK by Tubagus S. Anwar, Flex/AIR Developer
12:16 - 13:15 Break
15:46 - 16:45 Augmented Reality by Rizal Akbar, Flash Developer
16:46 - 17:15 Adobe User Group Indonesia by Ahmad Fathi Hadi
17:16 - 18:00 DoorPrize

***

Alamat Tempat Ujian ACE di Indonesia

Adobe Certified

Adobe Certified

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.

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 disini untuk melihat Apa saja yang diujikan !. Untuk lebih detailnya lagi, silahkan klik disini. Terdapat banyak tempat di jakarta seperti :

  • Brainmatics – Menara Bldakara suite 0205, 2nd Fl, JI.
    Gatot Subroto Kav. 71-73,Pancoran.
    Jakarta, 12870
    +62-21-83793383
  • Jaringan Nusantara – Wisma Kosgoro 8th Floor
    Jl. MH. Thamrin kav. 53
    Jakarta, 10350
    021-39832414
  • NetTrain Informatika – The East Building 16th floor no. 1
    Jl. Lingkar Mega Kuningan Kav E3.2 no. 1
    Jakarta, 12950
    +62-21-57938538
  • PT Datacraft Indonesia – Menara Imperium LG Floor #06
    Jin.HR. Rasuna Said Kav. 1
    Jakarta, 12980
    +62-21-285-48092
  • PT. Andalan Nusantara Teknologi – Wisma Slipi 11th Floor
    JI Letjen S. Parman
    Kav. 12
    Jakarta, 11480
    +62215307228

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.

source : http://goo.gl/huC69

http://images.groups.adobe.com/132b7f5/adobe_camp.png

Dear Community
Perkenalkan kami dari Adobe User Group Indonesia akan mengadakan acara Adobe Camp Indonesia. 
Seperti di kutip dari Adobe, bahwa Adobe Camp adalah :

  • 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.
  • 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
  • events that feature case studies and examples of projects built using Adobe technologies
  • events that raise awareness of the local Adobe community and introduce attendees to the local user groups

Kami mengundang teman-teman komunitas untuk mengadiri acara ini, berikut detail acara :

Nama:Adobe Camp Indonesia

Focus:Adobe Flash Platform

Tempat:Universitas Budi Luhur

Jl. Cileduk Raya Petukangan Utara

Jakarta Selatan 12260

Tanggal:20 Januari 2011. Pukul 08-00 s/d 17:00

Biaya:Free

Pembicara

Tomas Krcha (Adobe Platform Evangelist)

Ahmad Fathi Hadi (RIA and Mobile Developer)

Ari Setyo (Flex and Web Developer)

Anggie Baratadinata (senior Flash Game engineer -handson.com)

Tubagus Saepul Anwar (Flex and AIR Developer)

Nata Chen (Game / Creative Producer)

Nova Saputra (Java Developer)

Rizal Akbar (Flash Developer)

Contact:
Ahmad Fathi Hadi (081808497749)

Anda dapat mendaftar melalui http://adobecampindonesia2011.eventbrite.com/
Pada akhir acara kami akan mengundi satu orang pemenang yang akan berhak mendapatkan lisensi dengan total $2100

--

Ahmad Fathi Hadi
http://blog.fathihadi.net
Rich Internet Application and Mobile Developer Specializing in Adobe Technology
Adobe Community Champio

Adobe AIR, Pandangan, Harapan ..

Hampir 2 tahun ini saya bergelut dengan Adobe AIR untuk membuat software real-time 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 “from zero to Hero”, seperti Flex SDK terbaru aja from zero to Hero.

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 (Adobe Integrated Runtime ) 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 :

 

  1. Native process API, dukungan nativeProses yang memungkin kita bisa berkomunikasi dengan native aplikasi , misalkan aplikasi yang dibuat menggunakan bahasa C, C++, java, dan .NET. dan komunikasi tersebut dilakukan dengan standar  input dan output

  2. 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.

  3. Local microphone API

  4. UDP networking support

  5. lebih jelas dapat di lihat di sini

 

 

Untitled-1

                                 [  FLEX = AIR = Flash = ActionScript ]

cartoon14

Pandangan Singkat:

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.

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 versi 2.2 (Froyo).

android

Beberapa Vendor yang menggunakan AIR yang tergolong kreatif dan terus berkembang

  1. ebay
  2. nasdaq
  3. Lebih detil lihat di market place Adobe dan success Stories

 

Harapan Kedepan:

  1. Adobe AIR/Flash/Flex memiliki penanganan multithread, bukan singlethread . Karena pada umumnya teknologi dektop lebih mumpuni jika bisa memiliki kemampuan tersebut.
  2. Adobe bisa memberikan harapan kepada semua orang dengan project open source-nya seperti Adobe AIR for Android, Open Screen Project, dan lain-lain
  3. Dukungan Adobe for Indonesia, paling tidak memiliki perwakilan di Indonesia (*saya siap jadi calon Direkturnya >_<)

android-adobe-air 

Continue …

 

source :

http://en.wikipedia.org/wiki/Adobe_Integrated_Runtime

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 :

P14-09-09_15.33

 

 

 

 

 

 

 

 

 

 

 

 

Bersama dengan Marco Casario

 

P14-09-09_08.53

 

 

 

 

 

 

 

 

 

 

 

 

di depan ruangan konfrensi TAC'09

 

P14-09-09_15.31

 

 

 

 

 

 

 

 

 

 

 

 

saya (tubagus) dengan Peter Elst

P14-09-09_11.33

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P15-09-09_1305

saya(tubagus), team papervision 3d (madoka & takanori kessoku), dan jhony..

P14-09-09_08.59

 

continue ...

Project Flex yang lagi HOT

Berikut Link project flex yang lagi berkembang

touchimg TouchLib, 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.

 

Merapi, 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.bridge

 

degrafa-icon-lrg Degrafa 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.

 

 

 

banner_mate2

Mate is a tag-based, event-driven Flex framework.

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.

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.

 

openflux-logo-002

OpenFlux is an open-source component framework for Flex which makes radically custom component development fast and easy.

 

 

 

flexlib_logo

The FlexLib project is a community effort to create open source user interface components for Adobe Flex 2 and 3.

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

 

anybody want to add this list??

Kenalan dengan BlazeDS

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.

BlazeDS merupakan open source, tersedia secara free. BlazeDS didesain untuk mengirimkan data dan memproses pesan dari apllikasi Flex runtime. BlazeDS memiliki fitur sebagia berikut:

  • 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
  • Remoting Service, adalah sebuah server-side gateway yang memperbolehkan aplikasi Flex untuk memanggil method kelas server-side java menggunakan binary AMF
  • 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.

Download BlazeDS

Referensi : Enterprise Flex with BlazeDS, Brian Telintelo (2009)

IDE untuk pengembangan FLEX dan AIR

Berikut IDE untuk pengembangan FLEX dan AIR :

Framework MVC di Flex dan AIR

 

  • Cairngorm (Adobe Open Source)
  • 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.

    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.

  • PureMVC (Open Source),
  • puremvc-icon

    PureMVC is a lightweight framework for creating applications based upon the classic Model, View and Controller concept.

    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.

    Two versions of the framework are supported with reference implementations; Standard and MultiCore. 

    In short, the Standard Version provides a simple methodology for separating your coding interests according to the MVC concept. Beyond that, the MultiCore Version allows multiple PureMVC applications to run within the same virtual machine; modular programming.

    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.

  • Mate (Open Source)
  • Mate is a tag-based, event-driven Flex framework.

    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.

    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.

  • Swiz (Open Source)

    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.

  • Spring ActionScript (Open Source)
  • Note: The Spring ActionScript framework was formerly known as the Prana framework and has now been moved under the Spring umbrella as a Spring Extensions project.

    Spring ActionScript is an Inversion of Control (IoC) Container for ActionScript 3.0, 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.

    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.

    Further, the framework also contains utility classes for configuring and extending Cairngorm and PureMVC 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.

Setelah membuat project AIR dengan menggunakan FlexBuilder bisanya ada beberapa File dan Folder yang terbentuk misalnya terlihat pada gambar berikut:

projectAIR

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

berikut isi dari  newProjectAIR-app.XML

<?xml version=”1.0” encoding=”UTF-8”?>
<application xmlns=”http://ns.adobe.com/air/application/1.0”>
<id>org.airbible.project</id>
<filename>newProjectAIR</filename>
<name>newProjectAIR</name>
<version>v1</version>
<initialWindow>
<content></content>
</initialWindow>
<!-- <installFolder></installFolder> -->
<!-- <programMenuFolder></programMenuFolder> -->
<!-- <icon>
<image16x16></image16x16>
<image32x32></image32x32>
<image48x48></image48x48>
<image128x128></image128x128>
</icon> -->
<!-- <customUpdateUI></customUpdateUI> -->
<!-- <allowBrowserInvocation></allowBrowserInvocation> -->
<!-- <fileTypes> -->
<!-- <fileType> -->
<!-- <name></name> -->
<!-- <extension></extension> -->
<!-- <description></description> -->
<!-- <contentType></contentType> -->
<!-- The icon to display for the file type. Optional. -->
<!-- <icon>
<image16x16></image16x16>
<image32x32></image32x32>
<image48x48></image48x48>
<image128x128></image128x128>
</icon> -->
<!-- </fileType> -->
<!-- </fileTypes> -->
</application>

Penjelasan:

Basic settings berisi

<id></id>
<filename></filename>
<name></name>
<version></version>
<description></description>
<copyright></copyright>

id, ini akan digunakan untuk mengenali aplikasi dan id ini digunakan oleh kelas LocalConnection saat memverifikasi asal aplikasi dan saat update aplikasi

filename, digunakan sebagai nama file aplikasi ketika di install, nama file bisa berisi sembarang unicode (UTF-8) kecuali karakter *, “, :, >, <, ?, \, dan |

Version, ini didefinisikan oleh publisher, version ini digunakan untuk identifikasi versi aplikasi

Description, deskripsi ini akan tampil di installer saat kita menginstal aplikasi

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

Copyright, informasi copyright akan muncul di OS X didalam about dialog Box

Installation settings berisi

<installFolder></installFolder>
<programMenuFolder></programMenuFolder>

 

Install folder, berisi path dari folder installasi.Tetapi pada umumnya jika ini tidak diisi maka dia akan secara default berada pada program file.

Program menu folder, hanya bisa digunakan di windows saja.

Window settings berisi:

<initialWindow>
<content></content>
<title></title>
<systemChrome></systemChrome>
<transparent></transparent>
<visible></visible>
<minimizable></minimizable>
<maximizable></maximizable>
<resizable></resizable>
<width></width>
<height></height>
<x></x>
<y></y>
<minSize></minSize>
<maxSize></maxSize>
</initialWindow>

Content dan title, content berisi deskripsi file dan title akan tampil di title window saat pertama kali muncul

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

transparent, ini akan berfungsi jika System chrome di set none, valuenya hanya true atau false

visible, valuenya hanya true atau false

minimizable, valuenya hanya true atau false