Flex: A flash új reneszánsza?

Valamikor a kilencvenes évek végén leginkább egy német partnercég ügyfeleinek készítettünk weboldalakat. A partnercég vezetője egyik alkalommal nálunk járt, és teátrálisan rámutatott egy weboldalra: Bemutatom az internet jövőjét! - mondta. Egy flash oldal volt, kínosan lassú, és (mai szemmel) rendkívül kezdetleges. Aztán, talán még ugyanabban az évben olvastuk, hogy tönkrement a dotkom lázban feltuningolt angol(?) internet áruház, amely a világon elsőként teljes egészében flash-ben készült.

Múltak az évek, és (számunkra) a flash el is felejtődött. Vagyis megmaradt a céges weboldalak funkciótlan látványelemének, netes játékok platformjának, meg a bannerek technológiájának, de az e-business területén nemigen használta senki.

És akkor megjelent a Flex.

A Flex az Adobe vállalat fejlesztői keretrendszere, amellyel flash fájlok készíthetők. A technológia célja, hogy látványos kliens oldali alkalmazások készüljenek, amelyek akár a weben, akár lokális programként a gépen (az Adobe Air program segítségével), akár mobilon futtathatók. A Flex nem elsősorban a designereknek készült, hanem a web fejlesztőknek. Nem cégbemutató web oldalakra vagy bannerekre optimalizálták, hanem összetett kliens oldali alkalmazások fejlesztésére.

Valójában már 2004-ben megjelent az első verziója, de a látványos evolúciója azután kezdődött, hogy a korábban elég drága fejlesztőeszközt az Adobe 2008 februárjától nyílt forráskódúvá tette.

Azóta a rich internet application (talán élménygazdag internetes alkalmazásnak lehetne fordítani) az egyik feltörekvő buzzword lett a fejlesztők körében. Az elmúlt fél évben a kisebb, kísérletezőbb cégeket a nagyok is követték, és Flex alkalmazásokat vezetett be az Oracle (Sales Prospector értékesítést támogató szoftver), a Volkswagen (használtautó-kereső), a Sony Ericsson (mobiltelefon katalógus), vagy a Yahoo (Yahoo Maps, Yahoo Messenger webes verziója). De a látványos Flex alkalmazásokat hosszan sorolhatnám.

A rákattant fejlesztők a jövő webes platformjának nevezik, az új Flash Player megjelenése óta a legelvetemültebbek már Flexben készült háromdimenziós webáruházakat és környezeteket vizionálnak.

Hogy kinek lesz igaza, nyilván az idő eldönti, de kétségtelen, hogy Flexben rendkívül látványos alkalmazások készíthetők, és az üzleti alkalmazások területén nem elhanyagolható, hogy ezek az Adobe Air segítségével lokálisan is futtathatók.

Kíváncsi lennék, Magyarországon mennyire használják a Flexet webes ill. céges alkalmazások területén. Ha tudtok ilyenről, írjátok meg a venmarton kukac gmail pont com címre, ha vannak érdekesek, írnék belőlük egy posztot.

Címkék: flash flex
2008.11.05. 23:12. írta: Vén Márton

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Na és mi van a Java-val? Ha jól tudom, egy időben a MS szívatta a Java-t (pontosabban az Applet platformot) azzal, hogy az MSIE Java-verziója befagyott, de a mostani divatos böngészők korrektek ezzel kapcsolatban. Illetve a gépek lassúak voltak hozzá, de ez sem gond már, plusz ott van a webstart... azaz hol is?
Amig a keresok nem tamogatjak a flash formatumot nem hiszem erdemes Flexben fejleszteni.

Azonkivul minden erosebb Javascript platform (Yahoo UI, Google AWT, Dojo, jQuery, ...) ugyanazt nyujtja vegeredmenyben mint a Flex.

A Google Gears-el pedig ugyanugy futtathatunk webes alkalmazast a desktopon.

Ujra, az Adobe szemben a vilaggal ...
Az adott feladathoz kell kiválasztani az eszközt, és rögtön kiderül, hogy adott helyen melyik a jó választás. A flash-alapú technológiák előnye, hogy nem kell szívni a böngészőkompatibilitással, ami bizony nem elhanyagolható, kompakt prezentációs, design-központú feladatokra szintén kiválóan megfelel. Ha viszont a szövegközpontúság, kereshetőség, táblázatos jellegű feladatok vannak a fókuszban, akkor jobb lehet a html, javascript irányt választani.
A cél meghatározása nélkül nélkül nem sok értelme van az eszközök versenyeztetésének. Egy Ferrari pl. gyorsabb egy szamárnál, de egy sziklás hegyoldalra még mindig egy csacsival lehet a legjobban felvinni a terhet.
csbartus:
googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html

Google has been developing a new algorithm for indexing textual content in Flash files of all kinds, from Flash menus, buttons and banners, to self-contained Flash websites.
A Google tudja indexálni a flasht: googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html

A legnagyobb különbség az a JS alapú API-kkal ellentétben, hogy a Flex böngésző független tud lenni, valamint, hogy a nézet oldali kódot tudja lokálisan cache-elni a böngésző, így azt nem kell mindig letölteni. Csak az adatokat.

Én nem ismerem a Google Gears-t. Lehet vele a diszken lévő fájlt írni/olvasni (természetesen szerver nélkül, lokálisan a kliens gépén)?
csbartus:
No igen, de azt azért ne felejtsük, hogy onnatól kezdve hogy javascript, CSS + legalább két különböző támogatandó böngésző és a webfejlesztő élete máris színtiszta szívás...
Ezzel szemben ott a FlashPlugin + Flex combo, innentől kezdve gyakorlatilag böngészőfüggetlenül vidáman lehet dolgozni.

Kb. másfél éve használom a cuccot, egy-két projektet le is toltem vele, megvannak a maga hülyeségei, de határozottan más, kellemesebb világ, mint a hagyományos webfejlesztés.
Persze, mindenre ez se jó, de admin felületekhez meg mindenféléhez, ahol elsősorban a control és nem a content az elsődleges sztem remekül használható.
A flash indexalas tok lenyegtelen a flex szempontjabol. Igazabol maga a flash indexalas is lenyegtelen. A flasht jelenleg nagyreszt arra hasznaljak, hogy nyomi webfejlesztok hasznalhatatlan minibrowsereket implementaljanak bennuk, es aztan ha a szerencsetlen juzer az adott weboldalnak latszo URL-re teved, akkor kenytelen legyen azt hasznalni a jol megszokott bongeszoje helyett. Keresgelheted kulon a back gombot mindegyiken. Mar ha van, es ha nem reflexbol a browser back-et nyomod. A betu meret allitast, szovegben keresest, kijelolest, stb. mind el lehet felejteni.

Na az ilyen szuper megoldasokon segit a flash indexeles, ami igazabol inkabb karos, mint nem, mivel odavezeti afelhasznalot, ahova nem kene.

Amirol a hiradas szol az viszont egy vekonykliens technologia, amit akkor ertelmes alkalmazni, amikor egy kicsit tobbre van szukseg, mint az adatok (plane dokumentumok) puszta megjelenitesere. Amikor a UI-nak inkabb kene egy desktop alkalmazasra mint egy form alapu webalkalmazasra hasonlitania. Valoban, van mar erre tobb megoldas is, lenyegeben minden AJAX-os webalkalmazas UI-anal ezt latjuk. Ez egy plusz megoldas, es tenyleg versenyez meg a javaval is.

A 3D aruhaz tema az nagyon erdekes - ezt mar legalabb 10-12 eve probaljak eladni a juzereknek, es minden uj technlogoia elokerulesekor szobajon, de hat a felhasznalok csak nem akarjak :). (Eddig sem technologiai problema volt, keszult pl. magyar implementacio is, meg az index is hulyere cikizte.) Ki akarna egeret tologatni meg forgolodni ahelyett, hogy berina egy keresomezobe a termek nevet?
Érdemes megjegyezni, hogy hamarosan (?) az Adobe is beszáll a nagyok SaaS bizniszébe. A Photoshop Express - igaz, egyelőre nagyon gagyi - például full Flexben van, böngészőből futtatható, teljesen platformfüggetlen. Ha jól tudom, a CS5 még nem, de az utána következő verzió már lehet, hogy csak webes lesz.
Mikor volt az elozo reneszansza?
a flex mindossze annyiban erdekes, h xml alapu koddal lehet benne leirni egy flashes feluletet, ahelyett, h flash editorral kene binaris .fla fileokat buzeralni. ez jelentos elorelepes, mert ugyanazt a feluletet igy egyidejuleg tobben fejleszthetik (mivel a text alapu kodban tortent modositasokat tobbnyire konnyeden osszefesuli pl az svn).

ern0: a java appletek annak idejen nagyon faszak voltak, teljesen uj lehetosegeket biztositottak. csak ott lett elbaszva a dolog, h tulsagosan altalanos felhasznalasra szantak oket, mikozben a lehetosegei nagy reszere akkor meg egyaltalan nem volt szukseg, sot, sokra meg azota sincs. a nem sokkal kesobb megjelent flash ellenben kezdetben megelegedett azzal, h jopofa (es vmilyen minimalis szinten interaktiv) animaciokat lehetett vele csinalni, amivel le lehetett valtani az bunronda animgifeket (plusz az interaktivitas), cserebe viszont (az akkori modemes savszelesseg mellett) nagysagrendekkel gyorsabban jott le, mint egy ugyanazt megjeleniteni kepes java applet. ezert terjedt el a flash, es halt ki az applet szinte teljesen. ma mar ennek kisebb a jelentosege, bar meg mindig erzekelheto a kulonbseg. mellesleg egy interaktiv flash animacio osszerakasa (es az ehhez szukseges tudas megszerzese) elmondhatatlanul kevesebb idot vesz igenybe, mint ugyanez javaval.
Tudtommal az FLV videók is a Flash halmazba tartoznak. Tehát nemcsak látványelem vagy banner a Flash, hanem videó is, amit rengeteg oldal használ.
@langolier:
"A legnagyobb különbség az a JS alapú API-kkal ellentétben, hogy a Flex böngésző független tud lenni,"

...mint barmelyik CSS framework, lasd BlueprintCSS vagy YahooGrid amelybe barmilyen JS/AJAX framework illesztheto

Igen, ha a fejlesztoi munkat nezzuk sokkal elonyosebb a Flex mint XHTML-t generalni.
De ez is csak nezopont kerdese: egy CSS grid + JS/AJAX framework + SASS/HAML + mondjuk Ruby combo hatekonyabb lehet mint a Flex egymagaban.

Nem beszelve arrol, hogy a Flex zart, a tobbi pedig nyitott rendszer.

Ha viszont csakis a vegeredmenyt nezzuk nem latom egy Flex alkalmazas mennyivel lehet:
- szebb
- konyebben hasznalhato
- gyorsabb
- portolhatobb (mobil, desktop, stb)
- seo-barat
- nyitottabb (API / mashup)
mint egy 'klasszikus' XHTML.

Megemlíthető még az OpenLaszlo is, flasht és dhtmlt is lehet generálni vele. Nem nagyon terjedt el.
csabartus:
Fejlesztői szempontból lehet, hogy az általad felsorolt framework-ok böngészőfüggetlenek, de a végeredmény szempontjából biztosan nem... És ha már végeredmény, ugyan a szépség megítélése szubjektív, de szvsz egy Flex-ben az alap widget készletből pillanatok alatt összedobálható alkalmazás és ugyanennek a HTML-es párja azért nincsenek egy súlycsoportban.

Egyébként, mint azt az összefoglaló is említi, a flex opensource, és igen komoly támogatást nyújt pl. egy java alapú, akár j2ee business layer használatához.

De persze nem akarok senkit győzködni, csak egyszercsak azért ki kell majd nőni a HTML-t... :)
Amíg újságok lesznek a neten, addig a html megmarad. Arra - ugye eleve emiatt jött létre - kifejezetten még sokáig alkalmas marad. Sztem.
wice: > ezert terjedt el a flash, es halt ki az applet szinte
> teljesen. ma mar ennek kisebb a jelentosege, bar meg mindig
> erzekelheto a kulonbseg.

Igazad van, a java a teljesseg felol kozelitett, a weboldalba beagyazhato bigyok egy komplex rendszer egy alkalmazasa volt, a flashnel meg maga a cel, es onnan kezdett el komplett rendszerre fejlodni. (Ha jol emlekszem a javanal az applet kifejezetten a nepszerusitest szolgalta.)

> mellesleg egy interaktiv flash animacio osszerakasa (es az
> ehhez szukseges tudas megszerzese) elmondhatatlanul
> kevesebb idot vesz igenybe, mint ugyanez javaval.

A fentiek miatt viszont ennek az osszehasonlitasnak nem nagyon van ertelme. A flash ma elvileg egy programnyelv es egy keretrendszer is, amikor valaki animaciokat dobal ossze, akkor a keretrendszer szolgaltatasait is hasznalja. Ha animaciot akarsz osszedobalni, akkor olyan eszkozt kell hasznalni, amit pl. java eseten is megtehetsz elvileg. Ha nincs ra jo eszkoz, az nyilvan azert van, mert igeny sincs ra :), pl. pont a flash miatt.

De a flex lenyege az lenne, hogy normalis thin clienteket lehetne benne irni.

_tibcsi_: masra valo a html es masra a flashfoshok, csak epp - neha kenyszerusegbol - szoktuk ugyanarra is hasznalni oket. A html elsosorban dokumentumok (tehat szoveg, adatok) megjelenitesere lett kitalalva, a flash pedig most epp egy korlatozott JS alapu alkalmazas fejlesztoi kornyezet.
atleta: az, h kevesebb idot vesz igenybe a megtanulasa es alkalmazasa, pont ugyanugy ervenyes volt korabban is. egyebkent (foleg egy webdesignernek, aki ert a html-hez, meg a javascripthez, de komolyabb programnyelvekhez nem) a flex megtanulasa es abban thin client fejlesztese is konnyebb, mint ha ugyanezt javaban akarna megcsinalni.

javaban tudtommal nincs vizualis szerkeszto animaciokhoz, de szerintem ez nem amiatt van, mert nincs ra igeny (bar nyilvan valoban nincs, mert telleg alig hasznal vki appleteket), hanem mert a java grafikus rendszere egyszeruen sokkal bonyolultabb, es nem arra lett kitalalva, h vizualis szerkesztovel hasznaljuk, hanem arra, h programbol lenyegeben barmit meg lehessen vele csinalni. ezzel szemben a flash mar alapbol a vizualis szerkeszto figyelembevetelevel indult: layerek, shape-ek, morphing, timeline, ilyesmi. persze biztos ra lehetne huzni a java graphicsra egy ujabb reteget, ami kezeli ugyanezeket, csak akkor minden ilyen appletnek meg pluszban le kene rantani ezt a jart, tovabb novelve a letoltesi idot. felesleges.
Huh! A hozzászólások elején a legtöbben nem is a Flexről nyilatkoznak. Ne keverjük az MX Flash-el (valaki emlitette pl. hogy táblázatokhoz nem jó. Ő nyilván nem ismeri a Flex-et).
Az AIR segitsegevel a JS+CSS is "böngészőfüggetlen", mivel saját motorral jeleniti meg a tartalmat (webkit).

Ami szerintem lényeges az a FLEX Builder, amivel nagyon gyorsan össze lehet kattingatni (módosítani) egy profi UI-t, míg HTML-hez hasonlo eszközről nem tudok.
wice: > az, h kevesebb idot vesz igenybe a megtanulasa es
> alkalmazasa, pont ugyanugy ervenyes volt korabban is.

Ennek szerintem nem mondtam ellent. Sot, azt gondolom, hogy korabban meginkabb ervenyes volt, hiszen menetkozben teljes rendszerre fejlodott ki (pl. OO lett, meg normalis JS).

> ert a html-hez, meg a javascripthez, de komolyabb programnyelvekhez
> nem) a flex megtanulasa es abban thin

Na ez a JS egyik tragediaja :). Mivel bongeszo meg flash hekkelesre kezdtek hasznalni (na jo, eleve bongeszo hekkelesre talaltak ki), ezert meg mindig azt gondoljak sokan, hogy nem 'komoly' programnyelv. Pedig egy ideje az, egy eleg hatekony es magasszintu script nyelv.

> client fejlesztese is konnyebb, mint ha ugyanezt javaban
> akarna megcsinalni.

Ez nem nyelv fuggo. Korrekt szoftvert mindket kornyezetben nehez irni, valamiert a szoftvert ganyolo web designereker azt hiszik, hogy JS-ben ez magatol megy. Ennek koszonheto a sok flashes szemet, amik kozul nemelyik 100%-ra porgeti a procit, mikozben semmit nem csinal. Java nyelven pont ugyanolyan konnyu vagy nehez egy GUIt osszerakni, mint JS-ben. A kulonbseg a tamogato konyvtarakban van: a java GUI konyvtaraival (foleg a swinggel) mindent meg lehet csinalni, nagyon rugalmasak de egyben bonyolultak is. A Flex-nel meg gondolom van egy egyszeru API.

> javaban tudtommal nincs vizualis szerkeszto animaciokhoz,
> de szerintem ez nem amiatt van, mert nincs ra igeny
> (bar nyilvan valoban nincs, mert telleg alig hasznal
> vki appleteket), hanem mert a java grafikus rendszere
> egyszeruen sokkal bonyolultabb, es nem arra lett kitalalva, h vizualis szerkesztovel
> hasznaljuk, hanem arra, h programbol lenyegeben barmit
> meg lehessen vele csinalni. ezzel

:) Es a vizualis szerkeszto az nem egy program lenne, ami barmit meg tud csinalni? :) Maskepp: a flex/flash alatt valahol melyen ugyanaz a grafikus rendszer van, mint a java alatt. Ha lenne ra igeny, akkor termeszetesen javaban is lehetne vizualis animacio szerkesztot meg egyeb csodakat csinalni, amik szepen elfednek az alsobb retegeket.

> csak akkor minden ilyen appletnek meg pluszban le kene
> rantani ezt a jart, tovabb novelve a letoltesi idot. felesleges.

Igy van. De az, hogy felesleges, meg nincs ra igeny, az teljesen mast jelent, mint hogy nem lehet. Egyebkent ha lenne ra nagy igeny nyilvan resze lehetne a JRE-nek is, es akkor nem minden appletnek kene lerantania. De nincs, es ez a lenyeg.
huhh,
a www.sliderocket.com/ nagyon nagyon komoly flexxel rendelkezik ... :D