Archív

Archív pro ‘flex’ Kategorie

Jednoduchá aplikace v PHP a Flex

Protože jsem byl na Adobe Air nedalo mi to a řekl jsem si že udělám jednoduchou aplikaci pro vyhledávání v našem univerzitním LDAPu. Stáhnul jsem si trial verzi Flex Builduru 3, to se ocení zvláště pokud chcete dát aplikaci nějaký design. Výsledná aplikace vypadá takto, skládá se z několika prvků, textové pole (mx:TextInput), tlačítka (mx:Button), výběr (mx:ComboBox), ty jsou strčené do společného hboxu. Potom dole je umístěný datagrid (mx:DataGrid) pro zobrazování dat. image

Tvorba aplikace

Vytvořte projekt: File -> New -> Flex project image Tady je vidět, že nejdůležitější je nastavit mx:HTTPService na komunikaci s naším PHP skriptem, který funguje normálně jako u webové aplikace nebo spíše u AJAXové aplikace. Data vracím v XML, aby se dobře zobrazovali pomocí datagridu, ale mohl by to být i obyčejný text.

   			{txtInput.text}
   			{department.text}

Tady je část mx:Script, která se stará o ošetření toho co přijde z PHP a zobrazuje to.

			import mx.rpc.events.ResultEvent;
			import mx.rpc.events.FaultEvent;
			import mx.collections.ArrayCollection;

			public function handleResultXML(event:ResultEvent):void {
				// the result object is our xml root
				// we get the row nodes of our result object
				// the data of the dataprovider populates the component
				myDataGrid.dataProvider = event.result.row;
			}
			// this function is called when we get an error from the server
			public function handleFault(event:FaultEvent):void {
					//txtArea.text = "Fault Response from HTTPService call:\n " + event.fault.toString();
			}

Vlastní PHP skript je jednoduchý, používá mojí knihovnu, kde zadáte část jména a vrátí celé jméno i s tituly a k tomu odpovídající telefon.

$debug=false;
/**
  * Flex SSU
  */
if (!$debug) $name=$_REQUEST['query'];
else $name='prskavec';
error_log("[".date('r')."] Query: ".$_REQUEST['query']." Department:".$_REQUEST['department']."\n",3,"./flex.log");

if ($_REQUEST['department']=="VIC")
$vic=true;
else
 $vic=false;    

include "inc/config.inc.php";
include_once "inc/ldap_class.php";
$ldap=new Ldap($config);

print "";
print "";

foreach ($ldap->get_person($name,$vic) as $person)
{
  $phone=$ldap->ldap_phone($person['cvutphone']['0']);
   if (!empty($phone))
   {
    if ($debug) var_dump($person);
    print "";
    print "".$person['cn;lang-cs']['0']."";
	print "".$phone."";
    print "".$person['preferredemail']['0']."";
	print "";

    error_log("[".date('r')."] Result: ".$person['cn;lang-cs']['0']." | ".$phone." | ".$person['preferredemail']['0']."\n",3,"./flex.log");
    }
}
print "";

Pokud vám všechno funguje v Flex builderu, stačí dát Project -> Export Release Build a vytvořit AIR soubor, který je nainstalovatelný jako desktopová aplikace.

Závěr

Přijde mi to rozhodně jednodušší než PHP-GTK. Jednoduchá aplikace, kterou používám denně, obdobných aplikací jsou dnes desítky a nejlepší mi přijde, že se dá udělat pěkné rozhraní k online službě v PHP a nedá to moc práce a na straně PHP není žádná práce navíc. Vlastní tvorba GUI dá zabrat podle mě všude.

Categories: adobe, adobe air, flex, php Tags:

on Air Tour v Praze

10.06.2008 Bez komentářů

air_appicon Adobe nás přivítala ve velkém stylu, tak dobře organizačně připravenou akci jsem dlouho nezažil. Na začátku jsem dostal materiály, vizitku, k dispozici je internet, občerstvení po celou dobu akce a každý byl osobně uveden jejich pracovníkem a obsluha se o vás stará.  Balíček co jsem dostal obsahoval: Adobe AIR for Javascript Developers, ActionScript Reference, Flex Early Evalutation: Assessing Flex Your Project Needs. Nejsou to jen propagační materiály, ale příručka co se může opravdu hodit a reference ActionScriptu, která je sice k dispozici online, ale někdy se to hodí i vytištěné. Do místnosti kde se ve Staropramen pivovaru přednášelo, byly přidány prodlužováky se zásuvkami pro každého a jediný dojem z celé akce trochu ničil hluk z ulice hned za okny.

Program akce byl velmi dobře sestaven a zaměřen převážně na začínající vývojáře na platformě Adobe Air, která tu je od února a teď v červnu bude k dispozici verze 1.1.

Na úvod jedna poznámka pro ty co se s Air ještě nesetkali. Adobe Air je runtime prostředí pro běh aplikací napsaných v JS, HTML, Flash (Flex). Není to jen Flash, aplikace může být jen např. HTML a JS. Během vývoje mělo Adobe Air vývojový název Apollo, pod kterým občas něco najdete. Adobe Air je k dispozici pro Windows, Mac a Linux (alpha).

Program

Nebudu detailně probírat každou přednášku, ale jen to lehce shrnu a uvedu nejzajímavější odkazy. V Keynote Ryan Stewart řekl co to Adobe Air je, kam se bude ubírat Flash Player 10 a kam další verze Adobe Air, které na nás brzo čeká.

V další sérii přednášek byli ukázky jak vybudovat Adobe Air aplikaci pomocí Adobe Flex 3 builderu, Adobe Flex SDK a notepadu nebo pomocí Aptana IDE, které je zdarma.

Kromě vývojových nástrojů byla také představeny různé aplikace, které v Adobe Air jsou již vyrobeny. Pokud budete dělat vlastní aplikace je potřeba je digitálně podepsat, aby při instalaci jste byli důvěryhodní chce to také důvěryhodný certifikát a ne self signed. Certifikáty vydává pro Firefox např. Thawte ($299 za rok).

V rámci přednášek také byli přestaveny projekty www.flash.cz a www.flexgarden.net, které nám problematiku vývoje ve Flexu přinášjí v české a slovenském jazyce.

Přenášeli většinou američané a bylo to poznat např. na tom jak intenzivně používají sociální sítě jak Twitter, Brightkite, Tabrio, Facebook a další. O tomto fenoménu, který u nás ještě není tak rozvinutý přinesu další článek někdy později.

Další materiály jsou k dispozci také na stránkých akce, kde najdete např. i videoblog.

Keynote – Ryan Stewart

Building your first Adobe AIR application with Adobe Flex – Mike Chambers

Jak udělat jednoduchou aplikaci a další témata, které byli probírány na přednáškách? Stačí si pročíst knížku Adobe Air for Javascript Developers. Tam najdere všechny důležité informace o Adobe Air.

Building your first AIR application with HTML and JavaScript – Kevin Hoyt

Leveraging HTML and JavaScript within Adobe AIR – Kevin Hoyt

Deploying and Updating AIR Applications – Serge Jespers

Adobe AIR API Overview – Daniel Dura

Google App Engine and RIAs – Dion Almaer

Google App engine má jako runtime Python a využívá část framewroku Django.

Data Intensive Enterprise AIR Applications – Enrique Duvos

Using JavaScript Frameworks in AIR Applications – Andre Charland

AIR Conditioning – Lee Brimelow

Adobe Air Aplikace

Fotografie

http://www.flickr.com/photos/tags/onair2008prague/

Categories: adobe, adobe air, akce, flex, javascript Tags:

Switch to our mobile site