K čemu slouží Adobe Flex

Flex je open source framework z dílen Adobe, s jehož pomocí můžete vytvářet vysoce interaktivní webové (RIA – Rich Internet Applications) i klasické desktopové aplikace. V seriálu se zaměříme hlavně na webové aplikace. K pochopení tohoto i následujících článků nejsou vyžadovány téměř žádné předchozí znalosti.

K nasazení Flexu na web nepotřebujete žádný speciální hosting, ani doinstalovávat na server nějaká rozšíření. Flex běží, podobně jako například starší bráška Flash, na straně klienta. S Flashem má Flex společnou ještě jednu velmi příjemnou vlastnost – běží pod Flash Playerem. Pro mě osobně to byla jedna z klíčových věcí, kvůli kterým jsem se při výběru rozhodl právě pro Flex. Flash Player je totiž nainstalován na drtivé většině počítačů připojených k internetu.

K čemu se Flex hodí

Ve zkratce se dá říct, že Flex se hodí všude tam, kde vám už nestačí klasické techniky pro vývoj webových aplikací pomocí HTML, CSS nebo JavaScriptu. Díky Flexu můžete svým uživatelům nabídnout relativně jednoduchým způsobem profesionálně vypadající aplikace, které svým vzhledem, funkčností a hlavně způsobem práce budou hodně připomínat aplikace běžící na vašem počítači.

Flex - ukázka aplikace

Co Flex není

I když má Flex s Flashem hodně společného, na rozdíl od něj se nehodí pro výrobu bannerů či animací. Flex běží na straně klienta, což také znamená jistá omezení v interakci například s databází. Je bezpečnostním rizikem přistupovat k databázi přímo z Flexu, a proto se často pro tento účel používá mezivrstva na serveru. V tomto seriálu bude v takových příkladech použito PHP, protože toto řešení považuji za nejdostupnější. V České republice funguje nespočet webhostingů, které mnohdy i zadarmo podporu PHP poskytují. Tím je zajištěno, že si příklady můžete sami vyzkoušet nejen doma, ale i v reálných podmínkách na internetu. Jak jsem ale uvedl na začátku článku, znalost PHP nebudete potřebovat.

Technologie dvou jazyků

MXML

Pro vývoj ve Flexu se používají dva jazyky. Prvním z nich je MXML, který primárně slouží pro tvorbu grafického rozhraní aplikace. MXML je jazyk postavený na XML, který je intuitivní a snadno čitelný stroji i lidmi. Proto předpokládám, že nikomu nebude dělat potíž.

Ukázka MXML:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Label x="146" y="350" text="Ahoj světe" color="#000000" fontWeight="bold"/>
</mx:Application> 

První řádek je povinný pro jakýkoliv XML soubor a sděluje nám, že jde o XML verze 1.0 a znakovou sadou UTF-8. Druhý řádek obsahuje kořenovou značku naší aplikace. No a konečně jsme se dostali ke třetímu řádku. Tady voláme komponentu Label, která má zde jediný účel: vypsat text „Ahoj světe“, černou barvou (color=„#000000“), tučně (fontWeight=„bold“) na vzdálenosti 146px od pravého okraje (x=„146“) a 350px od horního okraje aplikace (y=„350“).

ActionScript

Dalším, již plnohodnotným, programovacím jazykem je ActionScript v aktuální verzi 3. Tento jazyk, jako většina dnes používaných jazyků, vychází syntaxí z jazyka C. Líbit se bude hlavně milovníkům Javy, protože jsou si velice podobné. Jazyk je to silně typový a objektově orientovaný. Samozřejmě můžeme ActionScript použít i pro programování vzhledu (dokonce se do ActionScriptu v jedné z fázi kompilace přepisuje MXML, ale o tom později), nicméně se v praxi používá spíše pro programování samotného fungování aplikace, tedy pro aplikační logiku.

Následuje ukázka, která dělá to samé, co předchozí ukázka v MXML.

var text:Label = new Label();
text.text = "Ahoj světe";
text.x = 350;
text.y = 146;
text.setStyle("color", "#000000");
text.setStyle("fontWeight", "bold"); 

Kód v MXML se ukládá do souborů s příponou .mxml a ActionScript do .as. Nicméně to není podmínkou. Pokud bychom chtěli spustit tuto aplikaci, museli bychom ji zkompilovat. K tomu je určený volně dostupný kompilátor. Ten ovšem není příliš pohodlný, spouští se z příkazové řádky a tak nebude pro začátečníky moc vhodný. Existuje snazší způsob.

Adobe Flex Builder

K vývoji Flex aplikací vydalo Adobe balík Flex Builder, aktuálně ve verzi 3. Flex Builder obsahuje kvalitní IDE postavené na Eclipse, kompilátor, debugger a samotný framework. Tento balík není zadarmo (jeho aktuální cenu najdete na webu Adobe), ale můžete si stáhnout šedesátidenní zkušební verzi.

Flex Builder 3 zdarma, ovšem jen pro studenty

Tady bych se rád zmínil o nabídce Adobe, která vychází vstříc studentům, kteří by se s tímto nástrojem chtěli naučit pracovat. Pokud stále studujete, můžete získat zcela legálně a zdarma licenci tohoto nástroje. Jediné, co proto musíte udělat, je zaregistrovat se na https://freeri­atools.adobe.com/flex/. K tomuto kroku budete ještě potřebovat potvrzení o studiu. Vyřízení by mělo trvat maximálně 2 týdny, ovšem v praxi to trvá tak týden.

Náhled na Adobe Flex Builder

Pokud nejste ani student, ani si Flex Builder nemůžete dovolit a vypršela vám 60denní licence, nezoufejte. Existuje i volně šiřitelný plugin do Eclipse, který podporu Flexu přidává. Jde však jen o doplňování syntaxe a zvýrazňování kódu. Kompilaci ovšem stejně budete muset dělat ručně a na debugování můžete klidně zapomenout.

To je k dnešnímu dílu všechno. Pro další informace se můžete podívat na oficiální stránky flex.org. Pokud se chcete mrknout na efektní ukázky použití Flexu, doporučuji prohlédnout showcase. Pokud si s něčím nevíte rady, podívejte se na kvalitně zpracovanou dokumentaci. Mým oblíbeným zdrojem informací je také kuchařka.

Používáte Adobe Flex?

Autor je studentem brněnského gymnázia. Aktuálně se věnuje vývoji iPhone a webových aplikací. Volný čas si rád krátí sportem, zvláště pak fotbalem a miluje moderní technologie.

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Komentáře: 30

Přehled komentářů

Jamex Sloh
Ujo klobasa Re: Sloh
honza Re: Sloh
MD Re: Sloh
mirrec tesim sa
Jakub Fojtl Re: tesim sa
mirrec Re: tesim sa
Jakub Fojtl Re: tesim sa
mirrec Re: tesim sa
slimejs eclipse :P
Anonym Re: eclipse :P
slimejs Re: eclipse :P
eclipse_guru Re: eclipse :P
Jakub Fojtl Re: eclipse :P
Anonym Re: eclipse :P
mirrec Re: eclipse :P
slimejs Re: eclipse :P
Oldis Re: eclipse :P
Tučniak (nie linuxový) Čo by som ja uvítal
Tučniak (nie linuxový) Re: Čo by som ja uvítal
ZdenekJi RE: K čemu slouží Adobe Flex
Martin Hassman RE: K čemu slouží Adobe Flex
ZdenekJi RE: K čemu slouží Adobe Flex
Martin Hassman RE: K čemu slouží Adobe Flex
ZdenekJi RE: K čemu slouží Adobe Flex
kocour RE: K čemu slouží Adobe Flex
ZdenekJi RE: K čemu slouží Adobe Flex
Senior database programme RE: K čemu slouží Adobe Flex
pas RE: K čemu slouží Adobe Flex
death.1 adobe pro studenty
Zdroj: https://www.zdrojak.cz/?p=2853