Programiranje

Java EE in Flex, 1. del: prepričljiva kombinacija

Adobe Flex postaja priljubljena izbira za generiranje odjemalske strani poslovnih aplikacij Java. V tem prvem od dveh člankov Dustin Marx prikazuje, kako vam lahko Flex pomaga pri zagotavljanju zelo interaktivnih uporabniških vmesnikov, ki dostopajo do poslovne logike vaše aplikacije Java EE. Pridobite si praktičen uvod v izpopolnjevanje preprostega odjemalca Flex, nato pa mu omogočite komunikacijo s strežnikom Java EE. Raven: Začetnik

Flex 3 vam ponuja še eno izbiro za izdelavo uporabniških vmesnikov na osnovi brskalnika za vaše programe Java EE. Če še niste odkrili, kako enostavno je dodajati bogate odjemalce podjetniškim programom Java s programom Flex, lahko ta članek služi kot vstopna točka. Izvedeli boste, kakšne prednosti Flex prinaša v mizo, kako ustvariti postavitve aplikacij s pomočjo Flexove slovnice XML in kako narediti odjemalca Flex, da deluje z aplikacijo Java EE.

Razvijalci Java so sprejeli Flex

Vemo, da so nekateri razvijalci Java odporni na Flex kot čelno tehnologijo za Java EE, vendar obstaja močan argument, da se Flexu da priložnost. Avtor Dustin Marx v stranski vrstici tega praktičnega članka razpravlja o dejavnikih, ki spodbujajo uporabo Flex-a v skupnosti Java.

Preden vas prosim, da namestite Flex in začnete sestavljati vzorčno aplikacijo, si oglejmo prednosti uporabe Flex-a kot odjemalske tehnologije. Flex ponuja prednosti, značilne za razvijalce Java, in nekatere bolj splošne. Ogledali si bomo obe.

Zakaj izbrati Flex?

Sprejetje nove tehnologije pomeni sprejetje učne krivulje, kar lahko traja nekaj prepričljivo. Tu je nekaj splošnih prednosti uporabe Flex:

  • Kodo Flex lahko napišete enkrat in jo zaženete v katerem koli spletnem brskalniku, za katerega obstaja vtičnik Flash Player. Zahtevana ni nobena koda za zaznavanje brskalnika ali zaznavanje predmetov, značilna za aplikacije JavaScript ali Ajax.
  • Ciljni čas izvajanja (Flash Player 9 ali novejši) je nameščen v več kot 95 odstotkih spletnih brskalnikov po vsem svetu.
  • Flex temelji na standardih. Njegov skriptni jezik (ActionScript 3.0) ima korenine v ECMAScriptu (enako specifikacijo izvaja JavaScript), jezik postavitve pa je posebna slovnica XML, imenovana MXML. Poznavanje osnovnih standardov vam lahko pomaga, da se Flexa naučite z relativno lahkoto.
  • Flex ima osvežujoče preprost mehanizem za vezavo lastnosti enega predmeta v aplikaciji Flex na lastnost drugega predmeta v Flexu. Ta zasvojenost se običajno imenuje vezava lastnine. (JSR 295: Beans Binding naj bi to funkcijo dodal v jezik Java, vendar ne bo vključen v Java SE 7.)
  • Sprednji del, ki temelji na Flexu, lahko povežete s katero koli zaledno tehnologijo z uporabo tehnik, ki spodbujajo ohlapno spenjanje. Flex nudi vgrajeno podporo za komunikacijo z zalednimi omrežji prek tradicionalnih spletnih storitev, ki temeljijo na HTTP in SOAP.
  • Flex ponuja bogat nabor komponent, učinke bliskavice (vključno z animacijo, videom in zvokom) in funkcije dostopnosti, ki olajšajo dodajanje bogastva in zelo tekočih izkušenj v spletno aplikacijo.

Flex za razvijalce Java

Splošne koristi so morda dovolj, da vas privabijo v Flex, vendar obstajajo tudi druge, ki so v glavnem ali v celoti namenjene razvijalcem Java.

Ena takšnih prednosti je presenetljiva podobnost med Java in ActionScript 3.0 v jezikovnih lastnostih, konceptih in sintaksi. Jeziki uporabljajo podobne pogojne stavke, zankasto sintakso in celo kodiranje. (Sporno je, da je ActionScript bolj podoben Javi kot JavaFX Script.) Flexovo orodje za ustvarjanje dokumentacije ASDoc, podobno Javadocu, uporablja isto sintakso komentarjev, kot jo uporabljate v Javi za ustvarjanje dokumentacije. Struktura embalaže programa ActionScript je povezana s strukturo imenikov na popolnoma enak način, kot se Java približuje paketom in imenikom.

ActionScript 3 ponuja tudi objektno usmerjene funkcije, ki temeljijo na razredih (kot so razredi v smislu Java, dedovanje in vmesniki) in statično tipkanje. Ti dodatki k temu, česar smo v JavaScript navajeni večina, olajšajo učenje in uporabo programa ActionScript. (ActionScript še vedno omogoča dinamično tipkanje in dedovanje na podlagi prototipov za primere, ko želite ali potrebujete tiste funkcije tradicionalnega JavaScripta.)

Flexova sposobnost komuniciranja z zalednim računalnikom Java EE z uporabo spletnih storitev, ki temeljijo na HTTP ali SOAP, je zelo koristna, vendar niste omejeni na te komunikacijske pristope. Blaze DS - ločen odprtokodni izdelek podjetja Adobe - vam daje še večjo prilagodljivost za komunikacijo med vmesnikom Flex in vmesnikom Java EE. BlazeDS vam omogoča uporabo JMS za komunikacijo in omogoča uporabo oddaljenih predmetov z Javo. BlazeDS dodaja tudi potencialne koristi glede zmogljivosti, ker uporablja binarni format AMF3 za hitrejšo komunikacijo, kot je običajno pri XML.

Neodvisni odprtokodni izdelek, imenovan GraniteDS, ponuja še več možnosti za uporabo front-enda, ki temelji na Flex, v aplikaciji Java EE. GraniteDS ponuja podporo za binarni format AMF3 in nekatere funkcije, ki niso na voljo pri BlazeDS. Na primer, GraniteDS ponuja orodja in servisne okvire za lažjo integracijo Flex-a s hrbtnimi konci, ki temeljijo na EJB 3, Spring Framework, Guice ali Seam.

Pri dosedanjih razpravah o Flexu sem večkrat uporabil te besede preprosto in enostavno. Ampak ne verjemite mi samo na besedo. Najboljši način, kako razumeti, kako preproste in enostavne so osnove Flex, je, da jih preizkusite sami. V naslednjih razdelkih boste implementirali vzorčno aplikacijo, jo preoblikovali, da dodate funkcije in zmanjšate kodo osnovne plošče, nato pa vzpostavite komunikacijo med novim odjemalcem, ki temelji na Flexu, in strežnikom Java.

Nakup in namestitev Flex

Primeri tega članka uporabljajo Flex 3.2 SDK. Če želite zgraditi in zagnati primere, prenesite Flex SDK (vključno s prevajalnikom ukazne vrstice in razhroščevalnikom). Ena datoteka ZIP vsebuje Flex SDK za več platform.

Razpakirajte datoteko na očitno mesto, na primer C: \ flex_sdk_3_2. Za udobje dodajte lokacijo Flex SDK zabojnik na poti, tako da je mogoče orodja ukazne vrstice zagnati iz katerega koli imenika. Všeč mi je ustvariti FLEX_HOME spremenljivka okolja, ki kaže na lokacijo Flex SDK in nato doda $ FLEX_HOME / bin ali % FLEX_HOME% \ bin do POT. Pravilno namestitev Flex lahko preverite z zagonom ukaza mxmlc -verzija, kot je prikazano na sliki 1.

Čeprav za izdelavo in zagon primerov ni treba, vas morda zanima prenos FlexBuilder 3, ki je v preskusnem obdobju na voljo brezplačno. FlexBuilder vam omogoča uporabo katerega koli urejevalnika besedil (na primer JEdit ali vim) ali Java IDE (na primer NetBeans ali Eclipse) za pisanje in vzdrževanje datotek MXML in ActionScript. Aptana Studio in Spket IDE vključujeta posebno podporo za urejanje datotek, povezanih s Flexom.

MXML: Flex postavitev z XML

Flex uporablja MXML za določanje postavitve aplikacije Flex. Datoteke za postavitev Flex se običajno imenujejo z .mxml podaljšanje. Koda MXML mora biti dobro oblikovan XML in uporabljati imenske prostore XML. Primer v seznamu 1 prikazuje preprosto, a popolnoma funkcionalno aplikacijo Flex, v celoti napisano z MXML, ki prikazuje seznam izbranih člankov JavaWorld.

Seznam 1. Primer statičnega MXML

Ker je ta primer statičen, ne kaže veliko prednosti Flex-a in Flash-a. Vendar pa služi kot dober uvod v MXML.

Vsa koda v seznamu 1 je dobro oblikovan XML. Večina vrstic XML v seznamu 1 je povezanih z istimi vrsticami kode (ponavljajoče se GridRow elementi z ugnezdenimi GridItem in Oznaka elementi). Uporabljajo se za definiranje statične prikazne mreže z Mreža komponenta in njena GridRow in GridItem podelementi. Uporaba , , in organizirati in predstaviti podatke na način, podoben elementu tabele HTML

, , in se pogosto uporabljajo.

Ta prvi primer MXML tudi prikazuje korenska oznaka, ki se uporablja v vseh aplikacijah MXML. Ta oznaka vključuje izrecno širino in višino za aplikacijo Flex. The mx predpona je povezana z imenskim prostorom Flex XML kot del tega korenskega elementa.

Uporabili boste prevajalnik ukazne vrstice Flex, mxmlc, da zbere primere tega članka. Privzete vrednosti Flex (opredeljene v flex-config.xml datoteka) zadostujejo za potrebe primerov, pri čemer se izvede prevajanje z mxmlc enostavno. Ob predpostavki, da je prvi seznam MXML shranjen v datoteki z imenom Primer1.mxml, ga prevedete s tem ukazom:

mxmlc Primer1.mxml

V skladu s privzetimi nastavitvami je ta datoteka MXML zbrana v datoteko SWF, imenovano Primer1.swf, ki je v istem imeniku kot datoteka MXML, iz katere je bila ustvarjena. Datoteko SWF lahko izvedete tako, da jo odprete v spletnem brskalniku ali preprosto vnesete celotno ime datoteke v ukazno vrstico. Upodobljena datoteka SWF je podobna sliki 2.

$config[zx-auto] not found$config[zx-overlay] not found