Přejít k navigační liště

Zdroják » Různé » K čemu slouží Adobe Flex

K čemu slouží Adobe Flex

Články Různé

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?

Komentáře

Subscribe
Upozornit na
guest
30 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Jamex

Pan "autor" se zrejmne domniva,ze slohova stranka clanku nehraje roly, ale to je chiba.At se ten vivojar nauci cesky.Neumi psat.

Ujo klobasa

Ked kritizujete nieco okolo gramatiky pisania clanku tak aspon svoj prispevok napiste bez CHIBI.

honza

zrejmne, roly, chiba, vivojar … a jinak zdraví slouží nebo to bylo úmyslně?

MD

Tady nekdo nepochopil ironii…

mirrec

tesim sa, ze tu bude aj serial o flexe,

chcel by som sa spytat ze ako casto bude tento serial vychadzat a kolko casti autor planuje.

dakujem za odpoved

mirrec

planujete zaradit nejake clanky aj o oficialnom flex frameworku Cairngorm ?

mirrec

no podla mna je MVC dost dobre ukazat na nejakych prikladoch. ludia aspon sa naucia robit veci "tak ako by sa mali" :)

mna viac zaujima ako aplikacie pisat, to ze ci tam uz je taky alebo taky komponent to uz je vecou skusania. ale je na vas o com budete pisat :)

prihovaral by som sa ale za nejake sample vyuzivajuce MVC model :)

slimejs

proc se vsichni mohou z eclipse tak zfamfrnet? nerikam, ze je to nejhorsi IDE, ale neni zdaleka ani nejlepsi. asi jsem jeden z nejvetsich smolaru, kteri toto IDE pouzivaji, protoze jinak si nedovedu predstavit takovou zprofanovanovst. naseptavac kodu zlobi (ukazuje nesmysly, pokud ale vubec neco ukaze), obcas shodi cele eclipse, "otevirani" projektu stale ! neexistuje a manipulace s projekty mi prijde opravdu krkolomna. java/phpdoc (pro pdt) funguje snad jen na dobre slovo, a pak je tu fura malickosti jako je zasekavani scrollu nebo mizeni panelu… nemluvim zde o instalaci na jedinem pocitaci, ale daval sem sanci eclipse na hodne "systemech" a porad to same. a kdyz mi kamarad ukazoval nejakou javu v eclipse, jeho pocitac vytusil, ze sedim opodal a eclipse se seklo – na coz kamarad reagoval se slovy "to je divny, to se mi jeste nikdy nestalo"…

tak sem si trosku vylil srdce, rad bych videl plugin i pro netbeans… jinak aby to nebylo tak offtopic, – flex se mi zda zajimavou alternativou k silverlight :) i kdyz si nejsem uplne jisty tou multiplatformitou – neblbne ten flash tak trosku na linuxu? a jeste si neodpustim jedno vyliti srdicka – PROC PHP?! ja uz ho nechci ani videt! piste clanky o necem jinem, at lidi poznaji, ze existuje i neco jineho – a lide, zakaznici, dotlaci hostingy take k nejake jine technologii!… takhle tu budeme mit porad tenhle paskvil, naznak pseudo skriptovaciho jazyka…

… a predem se omlouvam za rozpoutani pripadneho flejmu.

Anonymní

S PHP to mozna zlobi, ale s Javou funguje paradne. Eclipse je platforma, podpora jazyku je dana tim, jake mas nainstalovane pluginy. Ja Eclipse pouzivam na Javu a nedam na nej dopustit :) Naseptavac funguje perfektne, stejne jako dokumentace a pad uz dlouho nepamatuji. Nezavrhoval bych Eclipse jako takove i kdyz je dost dobre mozne ze podpora pro PHP za moc nestoji. Michodem co myslis tim, ze neexistuje otvirani projektu?

slimejs

dobra, java.. mozna – ja mam na javu radeji ty netbeans, ale to je veci zvyku a myslim ze v tomhle sou si eclipse a nb rovni.
a otevirani projektu – "open solution" ve visual studiu, "open project" v nb… v eclipse muzu jen "importovat" a nebo vytvorit novy projekt pres stavajici :) jiste, nejak to jde, ale neni to proste primo "otevrit" :)

eclipse_guru

nehaň něco, čemu prd rozumíš.

Anonymní

jo, ale my chcem na serveru python, abys nepsal mimo okruh zajmu

mirrec

no ja pouzivam pdt plugin a nemam s nim problemy, o ktorych pises. obcas sa sice stane ze mi neponukne nejake metody resp premenne v code assist, ale inak vseko v poriadku.

okial mas ten plugin ? mozno v tom bude problem

ja som stiahol all in one zo zend stranky. link: http://www.zend.com/en/community/pdt

a ad php :) ja mam php rad :)

na ostatne reagovat nebudemm :)

slimejs

plugin mam z eclipse/pdt webu, a zkousel sem instalaci i pres pluginy primo v eclipse… myslim, ze tim "od kud" to asi nebude :P

co mi vadi v eclipse … mam treba tridy

Foo_Bar
Foo_Bar_Description

naseptavac mi ukazuje jen tu delsi (*_Description)…

Oldis

nechapu co ti vadi na php, k dokonale objektovosti mu chybi snad jen moznost
vicenasobneho dedeni, to ale nema ani java, na tvorbu stredne velkych aplikaci
mi to prijde idelanejsi nez nejake ruby, python a podobne pascalovite jazyky,
asi je to tim ze mi nejvice pripomina c++, v cemz si libuji.

Tučniak (nie linuxový)

Ahoj.

No neviem ako ostatní – možno ich bude zaujímať smerovanie seriálu k multimédiám atď. ale mňa osobne by veľmi potešilo a na to sa najviac trasiem, keby bol seriál zameraný aj na "aplikačné" riešenie. Nejaká jednoduchá aplikácia, ktorá by komunikovala s databázou – využitie medzivrstvy, PHP pre prístup k dátam… Nemusí to byť nejaký zložitý kolos typu bankového systému. Ale skôr niečo, kde by bolo ukázané ako spraviť zopár obrazoviek, spravovať cez ne dáta v DB… Teraz ma tak narýchlo napadla domáca – mediatéka… Toto by sa dalo na to krásne využiť. Jednoduchý dátový model (zopár tabuliek), zopár PHP skriptov a pár obrazoviek na správu týchto dát… Šlo by to?

Tučniak (nie linuxový)

Ešte doplnok.
kedy sa asi tak možeme tešiť na ďalšiu časť?

ZdenekJi

Placený soft od Adobe, screenshot z Visty… Kam až Root zajde?

Martin Hassman

Na Zdrojáku vůči používaným operačním systémům nijak nevyhrazujeme. Prioritou je, aby byl užitečný obsah. Operační systém, který autor článku používá je podružná věc.

ZdenekJi

>Na Zdrojáku vůči používaným operačním systémům nijak nevyhrazujeme.
Nejsem si jistý, co tou špatně formulovanou větou myslíte, ale reklama je reklama, uzavřený software vykukuje z Vašeho článku všude. To dokazuje, že Vy vyhraněný jste.

>Prioritou je, aby byl užitečný obsah.
Máte chybu v bold stylu "Ahoj světe," není tučně. A co do užitečnosti – když se někdo vyhýbá Flashi kvůli přístupnosti webu a nevázanosti na proprietární software, těžko si tam nasadí akorát další graficky pěknou, ale stejně nepřístupnou komponentu. Po pravdě jsem čekal spíš nějakou JS knihovnu nebo pokročilý HTML editor, tenhle hybrid Flashe mě velmi zklamal. Odkazované samply na webové aplikace mi nefungují, jen 1. stránka s menu (mám nejnovější Flash 10) a vypadá to hodně jako vypiplaný layout s HTML+CSS+JS, akorát asi tak 10× náročnější a méně kompatibilní. Kdo nevypiplá rámečky obrázků v CSS, ten to nezvládne ani v tomhle nástroji.
Windows-like to také není. Jestli chcete vidět napodobeninu BFU GUI, podívejte se na Google Docs. Tam se jim to povedlo i bez Adobe.

>Operační systém, který autor článku používá je podružná věc.
OS lidí, kteří jako autoři aspirují automaticky na jakýsi "kult osobnosti," jde příkladem a zvlášť na tomto serveru by se Vista Aero dalo označit za odpadlictví. Nebráním Vám používat cokoli, ale na Windows fórech by Vám s nějakým shellem nebo Gnome také rychle vyběhli, pokud by poznali, co to je, tak mě zkuste pochopit.

Martin Hassman

uzavřený software vykukuje z Vašeho článku všude

Ano. Tady nejspíš odpovím i na zbytek komentáře, na Zdrojáku nás totiž primárně zajímá, zda uvedené řešení může být pro někoho (vývojáře, tvůrce webových aplikací) užitečné. Pod jakou licencí je program dostupný není rozhodující. Proto píšeme (a budeme psát) jak o otevřených technologiích, tak i o těch zavřených. Obojí na Zdroják patří.

ZdenekJi

Nemůžu se zbavit dojmu, že odpovídáte jako politik. Tedy zdánlivě o problému, ale ve skutečnosti vlastně mimo jeho podstatu. Mně přece o uzavřenost primárně vůbec nešlo. A užitečné je minimálně pro 1 člověka všechno, o tom nemá smysl polemizovat. Píšete do sebe zacyklené tautologie. Asi jsem měl začít mnohem konkrétněji a ne jen takovým rýpnutím. Podle mého názoru jste si vybral software, který je zlatým kanónem na vrabce a nepřináší nic převratného. Pokud by se uchytil, znamenalo by to další tříštění sil a zabugování počítačů.
Poznámka mimo – nebrat jako základ zdrcující odpovědi – pro uživatele by bylo mnohonásobně přínosnější popsat označování více fotek v Průzkumníku s Controlem. Nebo jak otevřít Tento počítač a flashdisk. To jsou Achillovy paty lidstva. :)

kocour

Nemuzu se zbavit dojmu, ze jste jen zaprdeny idealista co si nevidi na spicku nosu. Zahledl jste v clanku screen z jineho nez Vami uctivaneho OS a tim je dano ze tema je spatne, neprinasi nic prevratneho a je to tak nejak celkove evil. Takze prosim neotravuj lidi co si chteji precit o web technologiich a je jim jedno na cem to zrovna bezi.
Poznamka na zaver – jdi se bodnout ty zacyklena achilovko…

ZdenekJi

Už jsem doufal, že toto jalové podvlákno odumřelo, ale ne. FYI jsem značný pesimista a Windows i používám. Nic není černobílé. Na špičku nosu si vidím, protože jsem mírně krátkozraký a vidím ostře asi od 7cm. Popisovaný produkt opisuje od volných standardů a místo nich nabízí proprietární řešení přes plugin, který, jak samo Adobe přiznává, není dobře implementován v Linuxu. Nepřináší nic převratného, akorát zase jazyk navíc.
Na závěr: Netykejte mi. Nebo pustím nejmenovanou hru a zabiju v ní kocoura.

Senior database programme

Ak ti nejde na linuxe Flash tak si nainstaluj Windows, tam s tym niesu problemy.

pas

Na tomto "placeném softu" si můžete vyzkoušet vývoj flexových aplikací (třeba na trial nebo studentské verzi) a potom klidně začít používat open source Flex SDK s libovolným open source IDE.

death.1

zkoušel jste někdo žádat o licenci pro studenty konkrétně u produkdu Flex ?
uznává adobě potvrzení o studiu z ČR ?, případně nevíte jak adobe ověřuje prevost potvrzení?

děkuji za odpověď

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.