Programavimas

„Java EE and Flex“, 1 dalis. Įtikinamas derinys

„Adobe Flex“ tampa populiariu pasirinkimu kuriant įmonės „Java“ programų kliento pusę. Šiame pirmame iš dviejų straipsnių Dustinas Marxas parodo, kaip „Flex“ gali padėti jums pateikti labai interaktyvias vartotojo sąsajas, pasiekiančias jūsų „Java EE“ programos logiką. Gaukite praktinį paprasto „Flex“ kliento tobulinimo įvadą, tada leiskite jam bendrauti su „Java EE“ serveriu. Lygis: pradedantysis

„Flex 3“ suteikia jums kitą pasirinkimą kurti naršyklės vartotojo sąsajas „Java EE“ programoms. Jei dar nesuvokėte, kaip paprasta pridėti turtingų klientų prie įmonės „Java“ programų naudojant „Flex“, šis straipsnis gali būti jūsų įėjimo taškas. Sužinosite, kokius privalumus „Flex“ suteikia lentelėje, kaip sukurti programų maketus naudojant „Flex“ XML gramatiką ir kaip priversti „Flex“ klientą dirbti su „Java EE“ programa.

„Java“ kūrėjai, pritaikę „Flex“

Mes žinome, kad kai kurie „Java“ kūrėjai yra atsparūs „Flex“ kaip „Java EE“ patobulintai technologijai, tačiau yra rimtas argumentas suteikti „Flex“ galimybę. Autorius Dustinas Marxas aptaria veiksnius, skatinančius „Flex“ pritaikymą „Java“ bendruomenėje šoninėje šio praktinio straipsnio juostoje.

Prieš paprašydami įdiegti „Flex“ ir pradėti kurti pavyzdinę programą, apsvarstykime „Flex“ kaip kliento technologijos naudojimo pranašumus. „Flex“ siūlo „Java“ kūrėjams būdingus pranašumus ir kai kuriuos bendresnius. Mes pažvelgsime į abu.

Kodėl verta rinktis „Flex“?

Naujos technologijos pritaikymas reiškia mokymosi kreivės pritaikymą, kuris gali būti įtikinamas. Štai keletas bendrų „Flex“ naudojimo pranašumų:

  • Galite vieną kartą parašyti „Flex“ kodą ir paleisti jį bet kurioje žiniatinklio naršyklėje, kuriai yra „Flash Player“ papildinys. Nereikia nė vieno naršyklės aptikimo ar objekto aptikimo kodo, būdingo „JavaScript“ ar „Ajax“ programoms.
  • Tikslinis vykdymo laikas („Flash Player 9“ ar naujesnė versija) yra įdiegtas daugiau nei 95 proc. Žiniatinklio naršyklių visame pasaulyje.
  • „Flex“ yra pagrįstas standartais. Jo scenarijų kalbos („ActionScript 3.0“) šaknys yra „ECMAScript“ (ta pati specifikacija, įdiegta „JavaScript“), o išdėstymo kalba yra specifinė XML gramatika, vadinama MXML. Susipažinimas su pagrindiniais standartais gali padėti palyginti lengvai išmokti „Flex“.
  • „Flex“ turi gaiviai paprastą mechanizmą, susiejantį vieno „Flex“ programos objekto ypatybes su kito „Flex“ objekto savybe. Ši priklausomybę sukelianti savybė paprastai vadinama turto įpareigojimas. (JSR 295: „Beans Binding“ skirta įtraukti šią funkciją į „Java“ kalbą, tačiau ji nebus įtraukta į „Java SE 7“.)
  • „Flex“ pagrindu veikiančią sąsają galite susieti su bet kuria „back-end“ technologija, naudodami metodus, kurie skatina laisvą sujungimą. „Flex“ teikia integruotą palaikymo ryšį su užpakalinėmis dalimis per tradicines HTTP ir SOAP pagrįstas žiniatinklio paslaugas.
  • „Flex“ siūlo gausų komponentų rinkinį, „Flash“ efektus (įskaitant animaciją, vaizdo įrašus ir garsą) ir pritaikymo neįgaliesiems funkcijas, leidžiančias lengvai pridėti žiniatinklio programų turtingumo ir nepaprastos patirties.

„Flex“ skirtas „Java“ kūrėjams

Gali pakakti bendros naudos, kad pritrauktumėte prie „Flex“, tačiau yra ir kitų, kurie dažniausiai arba visiškai skirti „Java“ kūrėjams.

Viena tokių privalumų yra ryškus „Java“ ir „ActionScript 3.0“ panašumas kalbų ypatybėse, sąvokose ir sintaksėje. Kalbos naudoja panašius sąlyginius sakinius, ciklo sintaksę ir net kodavimo konvencijas. (Galima ginčytis, ar „ActionScript“ labiau panaši į „Java“, o ne į „JavaFX“ scenarijų.) „Flex“ „Javadoc“ tipo ASDoc dokumentacijos generavimo įrankis naudoja tą pačią komentarų sintaksę, kurią naudojate „Java“, kad generuotumėte dokumentaciją. „ActionScript“ pakuočių struktūra yra susijusi su katalogų struktūra taip pat, kaip „Java“ artėja prie paketų ir katalogų.

„ActionScript 3“ taip pat teikia į klases orientuotas objektu pagrįstas funkcijas (pvz., Klases „Java“ prasme, paveldėjimą ir sąsajas) ir statinį rinkimą. Šie papildymai, prie kurių dauguma esame įpratę „JavaScript“, palengvina „ActionScript“ mokymąsi ir naudojimą. („ActionScript“ vis tiek suteikia galimybę dinamiškai rinkti tekstus ir paveldėti prototipais, kai norite ar reikia tų tradicinio „JavaScript“ funkcijų.)

„Flex“ galimybė bendrauti su „Java EE“ vidine įranga, naudojant HTTP ar SOAP pagrįstas žiniatinklio paslaugas, yra labai naudinga, tačiau jūs neapsiribojate šiais komunikacijos būdais. „Blaze DS“ - atskiras, atviro kodo „Adobe“ produktas - suteikia dar didesnį lankstumą bendraujant tarp „Flex“ ir „Java EE“. „BlazeDS“ leidžia naudoti JMS komunikacijai ir objektų nuotolinį valdymą naudojant „Java“. „BlazeDS“ taip pat prideda galimo našumo pranašumų, nes jis naudoja dvejetainį AMF3 formatą, kad greitesnis ryšys nei įprasta naudojant XML.

Trečiosios šalies atvirojo kodo produktas, vadinamas „GraniteDS“, siūlo dar daugiau pasirinkimų, kaip pritaikyti „Flex“ pagrindu veikiančią priekinę dalį „Java EE“ programai. „GraniteDS“ siūlo AMF3 dvejetainio formato palaikymą ir kai kurias funkcijas, kurių nėra „BlazeDS“. Pavyzdžiui, „GraniteDS“ siūlo įrankius ir paslaugų sistemas, kad būtų lengviau integruoti „Flex“ su galinėmis dalimis, pagrįstomis „EJB 3“, „Spring Framework“, „Guice“ ar „Seam“.

Iki šiol aptardamas „Flex“, aš ne kartą vartojau žodžius paprastas ir lengva. Bet ne tik imk mano žodį. Geriausias būdas suprasti, kokie paprasti ir lengvi yra „Flex“ pagrindai, yra išbandyti juos patiems. Kituose skyriuose įdiegsite programos pavyzdį, pakeiskite ją, kad pridėtumėte funkcijų ir sumažintumėte katilo kodą, ir užmegzkite ryšį tarp naujojo „Flex“ pagrindu sukurto kliento ir „Java“ servleto.

„Flex“ įsigijimas ir įdiegimas

Šio straipsnio pavyzdžiuose naudojamas „Flex 3.2 SDK“. Jei norite sukurti ir paleisti pavyzdžius, atsisiųskite „Flex SDK“ (įskaitant komandų eilutės kompiliatorių ir derintuvą). Viename ZIP faile yra „Flex SDK“ kelioms platformoms.

Išpakuokite failą į akivaizdžią vietą, pvz C: \ flex_sdk_3_2. Kad būtų patogiau, pridėkite „Flex SDK“ vietą šiukšliadėžė katalogą kelyje, kad komandinės eilutės įrankius būtų galima paleisti iš bet kurio katalogo. Man patinka kurti FLEX_HOME aplinkos kintamasis, kuris nurodo „Flex SDK“ vietą, tada pridėkite $ FLEX_HOME / šiukšliadėžė arba % FLEX_HOME% \ bin į KELIS. Galite patikrinti, ar tinkamai įdiegta „Flex“, vykdydami komandą mxmlc -versija, kaip parodyta 1 paveiksle.

Nors nebūtina kurti ir paleisti pavyzdžių, galbūt jus domina atsisiųsti „FlexBuilder 3“, kurį bandomuoju laikotarpiu galima nemokamai gauti. „FlexBuilder“ leidžia naudoti bet kokį teksto rengyklę (pvz., „JEdit“ ar „vim“) arba „Java IDE“ (pvz., „NetBeans“ ar „Eclipse“), norint rašyti ir prižiūrėti MXML ir „ActionScript“ failus. „Aptana Studio“ ir „Spket IDE“ apima specialų palaikymą redaguoti su „Flex“ susijusius failus.

MXML: lankstus išdėstymas su XML

„Flex“ naudoja „MXML“ apibrėždamas „Flex“ programos maketą. Lankstaus išdėstymo failai paprastai pavadinami a .mxml pratęsimas. MXML kodas turi būti gerai suformuotas XML ir naudoti XML vardų sritis. 1 sąrašo pavyzdys rodo paprastą, bet visiškai veikiančią „Flex“ programą, parašytą tik naudojant MXML, rodančią pasirinktų „JavaWorld“ straipsnių sąrašą.

Sąrašas 1. Statinis MXML pavyzdys

Kadangi šis pavyzdys yra statiškas, jis neparodo daugelio „Flex“ ir „Flash“ pranašumų. Tačiau tai yra gera įžanga į MXML.

Visas 1 sąrašo kodas yra gerai suformuotas XML. Dauguma X sąrašo XML eilučių yra susijusios su tomis pačiomis kodo eilutėmis (kartojasi „GridRow“ elementai su įdėtomis Tinklelio elementas ir Etiketė elementai). Jie naudojami apibrėžiant statinį rodymo tinklelį su Tinklelis komponentas ir jo „GridRow“ ir Tinklelio elementas poelementai. Panaudojimas , ir tvarkykite ir pateikite duomenis panašiai kaip HTML lentelės elementai

, ir , atitinkamai, dažnai naudojami.

Šis pirmasis MXML pavyzdys taip pat parodo šakninė žyma, naudojama visose MXML programose. Ši žyma apima aiškų „Flex“ programos plotį ir aukštį. mx prefiksas yra susietas su „Flex XML“ vardų erdve kaip šio šakninio elemento dalimi.

Jūs naudosite „Flex“ komandų eilutės kompiliatorių, mxmlc, sudaryti šio straipsnio pavyzdžius. „Flex“ numatytasis nustatymas (apibrėžtas „flex-config.xml“ byla) yra pakankami pavyzdžių poreikiams, todėl kompiliuojama naudojant mxmlc lengva. Darant prielaidą, kad pirmasis MXML sąrašas išsaugomas faile, pavadintame Pavyzdys1.mxml, sukompiliuoji jį šia komanda:

mxmlc pavyzdys1.mxml

Pagal numatytuosius nustatymus šis MXML failas yra sukompiliuojamas į SWF failą, vadinamą Pavyzdys1.swf, kuris patalpintas tame pačiame kataloge kaip ir MXML failas, iš kurio jis sugeneruotas. Galite paleisti SWF failą atidarydami jį žiniatinklio naršyklėje arba tiesiog komandų eilutėje įvesdami visą failo pavadinimą. Pateiktas SWF failas atrodo panašiai kaip 2 paveiksle.

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