JavaFX 1.2: Rozdiel medzi revíziami
(Vytvorená stránka „Kategória:Študentské práce Kategória:Ročníkové práce Kategória:Informatika Kategória:Java {{Praca_uvod|2|Platforma JavaFX pre moderné webové ap…“) |
|||
(Jedna medziľahlá úprava od rovnakého používateľa nie je zobrazená.) | |||
Riadok 5: | Riadok 5: | ||
{{Praca_uvod|2|Platforma JavaFX pre moderné webové aplikácie|Čo je JavaFX|JavaFX 1.2|Tvorba JavaFX aplikácie||||||||}} | {{Praca_uvod|2|Platforma JavaFX pre moderné webové aplikácie|Čo je JavaFX|JavaFX 1.2|Tvorba JavaFX aplikácie||||||||}} | ||
= = | = = | ||
+ | V tejto časti mojej práce porovnám novú verziu JavaFX s jej predchodcami a priblížim jej praktické využitie na reálnom zariadení. | ||
+ | |||
+ | JavaFX1.2 poskytne neustále pripojeným spotrebiteľom to, čo hľadajú - používateľský zážitok bez ohľadu na to, na ktorom zariadení sú pripojení a či sedia za stolom, trávia čas pri cestovaní so svojimi PDA, alebo relaxujú doma. | ||
+ | Aplikácie napísané pomocou JavaFX Script využívajú vytvorené rysy technológie Java, ako napríklad prenositeľnosť, zabezpečenie aplikácií, všadeprítomnú distribúciu a podnikovú pripojiteľnosť. | ||
+ | Jedinečnosť JavaFX Script pochádza z jeho schopnosti vložiť overený výkon platformy Java a z masového rozšírenia Java na trhu, čo je dané jeho jedinečnou všade prítomnosťou a používaním v rámci 9 z 10 PC a mobilných zariadení. Okrem toho, JavaFX Script môže podporovať používateľské rozhrania akejkoľvek veľkosti alebo komplexnosti, je staticky napísaný a môže využiť programovacie modely Java (ako napríklad štruktúrovanie kódu, opätovné použitie a vlastnosti uzatvorenia), čo mu umožňuje vytvoriť a spravovať veľké programy v JavaFX Script. JavaFX Script bude zaujímavý pre autorov obsahu, pretože štruktúra písaného kódu presne zodpovedá aktuálnemu rozvrhnutiu GUI a je možné ho jednoduchšie pochopiť a udržiavať. | ||
+ | Jazyk podporuje bežné typy premenných ako string, integer a čísla s plávajúcou desatinnou čiarkou a logické (Boolean) hodnoty. Rozsiahla podpora je poskytovaná pre manipuláciu s poliami a zoznamami so silným a jednoduchým syntaxom. JavaFX objekty sú vytvárané s deklaratívnym syntaxom. To je užitočné najmä v triedach, ktoré poskytujú zjednodušený most JavaSwing tried používateľského rozhrania. | ||
+ | |||
+ | [[Súbor:bpmv2.png|center|Obr. č. 2: Java FX script – porovnanie zdrojových kódov s predchodcami]] | ||
+ | |||
+ | '''Výhody JavaFX Script''': | ||
+ | *Zvyšuje produktivitu vývojárov (aj prostredníctvom GPL licencie a prostredníctvom tzv. JavaFX community) | ||
+ | *Ponúka intuitívny jazykový (kódový) design | ||
+ | *Potrebuje menej kódu | ||
+ | *Poskytuje rýchlejšie vývojové cykly | ||
+ | *Nulové straty funkčnosti na zariadeniach | ||
+ | |||
+ | [[Súbor:bpmv3.png|center|Obr. č. 3: Ukážka možností grafického rozhrania]] | ||
+ | |||
+ | JavaFX1.2 poskytuje jednotný vývoj a využitie modelu pre vytváranie funkčne bohatých klientskych aplikácií, ktoré integrujú bohatý množstvo médií ako audio a video, grafiku, RTF a webové služby. JavaFX1.2 umožňuje vývojárom kreatívne programovať vo vizuálnom kontexte a tým im pomáha, aby svoje myšlienky uvádzali do života rýchlejšie a lepšie. Java vývojári môžu zachovať existujúce investície do opakovaných Java knižníc v aplikáciách JavaFX1.2. Plus, JavaFX umožňuje prístup k schopnostiam na prístrojoch na úrovni mobilných zariadení. Z hľadiska vývoja, môžu Java vývojári naďalej využívať globálny Java ekosystém s jeho rozsiahle vedomostnú základňu a obrovský trh. JavaFX1.2 prináša s presvedčivou "značkou" nový obsahu a bohatšie skúsenosti. S Java SE 6 Update 10 (a vyššie), môžete Drag-to-Install JavaFX aplikácie jednoduchým pretiahnutím z prehliadača - potom môžete oživiť aplikácie priamo zo svojho počítača! Drag-to-Install zjednodušuje distribúciu obsahu koncovým užívateľom a poskytuje im prístup, kedy a kde chcú. | ||
+ | |||
+ | Najviditeľnejším nedostatkom v zozname funkcií jazyka JavaFX, ktoré poskytuje, je spôsob, ako manipulovať s dátami XML syntax. Ako najvýhodnejšia možnosť pre manipuláciu s týmito predmetmi sa javí používať Swingové knižnice. Samozrejme si môžete vytvoriť vlastnú Java triedu so Swingovým skriptom a môžete ju použiť v skripte JavaFX. | ||
+ | |||
+ | [[Súbor:bpmv4.png|center|Obr. č. 4: Ukážka možností grafického rozhrania]] | ||
+ | |||
==Hardvér== | ==Hardvér== | ||
− | ==JavaFX a webové služby== | + | V tejto kapitole rozoberiem hardvérové možnosti JavaFX v praxi. Spoločnosť SUN má v podstate len dve možnosti, ako sa presadiť na trhu s freeware softvérom inštalovaných do výrobkov priamo pri ich výrobe. Prvou, tou menej pravdepodobnou, je po dohode s výrobcom svoje produkty inštalovať do už vyvinutých výrobkov, ktoré sú na trhu nejaký čas, alebo inštalovať ich do zariadení, ktoré sú práve vo vývoji, a tým v podstate participovať na evolúcii ich softvérovej, ale i hardvérovej štruktúre (keďže by bol hardvér čiastočne prispôsobovaný, vyspelejšiemu programovému vybaveniu).Vzhľadom na to, že JavaFX je na trhu pomerne krátky čas (cca 6 mesiacov), momentálny stav je taký, že do zariadení domácej zábavy a mobilných telefónov t. j. oblasť v ktorej majú staršie produkty spoločnosti SUN významné postavenie, sa neinštalujú. |
+ | V mojom prípade sa teda bude jednať o zariadenie, ktoré je podľa domovskej stránky spoločnosti SUN vo vývoji a je predbežne popisované ako ucelená jednotka domácej zábavy. Má nahradiť doteraz používané zariadenia nielen na príjem digitálneho a analógového signálu, jeho záznam na pevný disk (avizujú jeho kapacitu až 2 terrabyty), ale malo by plniť aj funkciu DVD či CD prehrávača a domáceho kina (5.1 kanálov). Po pripojení na internet by malo plniť úlohu domáceho informačného centra, kde by mali byť k dispozícii údaje ako sú napríklad správy, cestovné poriadky, televízne programy atď.. Ďalšou z funkcií by mala byť už skôr spomínaná možnosť hrať RPG systémom PBP. Samozrejmosťou je, že toto zariadenie sa bude dať ovládať jediným multifunkčným diaľkovým ovládačom. | ||
+ | |||
+ | [[Súbor:bpmv5.png|center|Obr. č. 5: Hardvér pre JavaFX]] | ||
+ | |||
+ | ===VIA Digital Media Platform=== | ||
+ | VIA / Ubuntu / JavaFX hardvérové dekódovanie HD - Digital Media Platform | ||
+ | |||
+ | Zariadenie Digital Media Platform, je určené pre aplikácie, ktoré využívajú nákupné centrá, letiská, hotely atď.Užívateľské rozhranie je vytvorené v JavaFX 1.2, hardware a operačný systém je schopný dekódovať a zobraziť HD obsah vo formátoch ako AVI, WMV a M4V, v 720p alebo 1080p kvalite. Systém tiež musí byť schopný podporovať veľkú dotykovú obrazovku, to vyžaduje, aby obsahoval aj driver pre Xorg a kalibračný program. Toto zariadenie je dobrý príklad pre všestrannosť JavaFX nakoľko hardvérová platforma je tvorená komponentami VIA, ktorá vytvorila DRM jadro, ovládače pre dekodéry HD a video, mplayer a špeciálne video z pluginov. Operačný systém je okresanou verziou Linux Ubuntu, ktorá obsahuje len potrebné súčasti.Hlavný rozdiel pri prehrávaní HD videa medzi klasickými zariadeniami (normou video výstup na 1.5Ghz procesor) a touto zostavou, ako tvrdia prvý užívatelia je obrovský. Pri vstupe do budovy bol zvuk ďaleko dporedu predhrávaný pred obrazom. Pri použití Digital Media Platform s dodanou VIA Mplayer video výstupom, je film úplne hladký a v súlade so zvukom. | ||
+ | |||
+ | [[Súbor:bpmv6.png|center|Obr. č. 6: VIA Digital Media Platform predná a zadná strana]] | ||
+ | |||
+ | ==JavaFX 1.2 a webové služby== | ||
+ | V tejto časti popíšem možnosti použitia JavaFX pre vytvorenie webového klienta a taktiež uvediem a rozoberiem príklad napojenia sa na databázu umiestnenú na internete a na čítanie dokumentu v XML formáte. | ||
+ | JavaFX so svojou všestrannosťou a pritom jednoduchosťou je využívaná vývojármi okrem tvorby statických aplikácií na tvorbu programov, ktoré sú určené na určitý druh komunikácie, či už s inými aplikáciami, alebo prostredníctvom siete so servermi a databázami. Aj keď samotný zdrojový kód a knižnice Java neobsahujú priamo nástroje na prístup do rôznych typov serverov, ktoré pracujú v rôznych protokoloch, JavaFX dokáže využiť to, že jej kód môže byť kombinovaný s predchodcami JavyFX alebo tiež s kódmi C, C++, MySQL, Solaris, alebo napríklad s kódom Glasfish. Stačí si pritom iba načítať knižnice, ktoré sú potrebné pre prácu s tým ktorým kódom. Takýmto spôsobom potom môže aplikácia jednoducho načítavať obsah rss stránky alebo pracovať s dokumentmi typu XML. HTML či XHTML. | ||
+ | Tu je jednoduchý príklad pripojenia sa na URL a načítanie XML dokumentu: | ||
+ | |||
+ | Zdrojový kód č. 1: Príklad pripojenia sa na URL a načítanie XML dokumentu | ||
+ | <source lang="java"> | ||
+ | import java.io.IOException; | ||
+ | import java.io.InputStream; | ||
+ | import java.net.URL; | ||
+ | import java.net.URLConnection; | ||
+ | import java.util.ArrayList; | ||
+ | import java.util.List; | ||
+ | import org.xml.sax.Attributes; | ||
+ | import org.xml.sax.InputSource; | ||
+ | import org.xml.sax.SAXException; | ||
+ | import org.xml.sax.XMLReader; | ||
+ | import org.xml.sax.helpers.DefaultHandler; | ||
+ | import org.xml.sax.helpers.XMLReaderFactory; | ||
+ | // tu sú načítané potrebné knižnice | ||
+ | |||
+ | public Priklad (String Retazec, boolean Hodnota) throws IOException { | ||
+ | InputStream is = getInputStreamFromURL(URLadresa(Retazec, hodnota)); | ||
+ | // napojenie na URL adresu | ||
+ | |||
+ | try { | ||
+ | InputSource inputSource = new InputSource(is); | ||
+ | XMLReader reader = XMLReaderFactory.createXMLReader(); | ||
+ | reader.setContentHandler(new YWSParser()); | ||
+ | reader.parse(inputSource); | ||
+ | // použitie parseru | ||
+ | } catch (SAXException saxe) { | ||
+ | throw new IOException(saxe.getMessage()); | ||
+ | } finally { | ||
+ | if (is != null) { | ||
+ | is.close(); | ||
+ | } | ||
+ | } | ||
+ | // použitie výnimky pre prípad chyby (napríklad výpadku serveru) | ||
+ | </source> | ||
+ | |||
+ | V ďalších častiach sa len nadefinujú, ktoré údaje potrebujeme načítať a kam. |
Aktuálna revízia z 21:29, 5. február 2010
1. | Čo je JavaFX |
2. | JavaFX 1.2 |
3. | Tvorba JavaFX aplikácie
|
V tejto časti mojej práce porovnám novú verziu JavaFX s jej predchodcami a priblížim jej praktické využitie na reálnom zariadení.
JavaFX1.2 poskytne neustále pripojeným spotrebiteľom to, čo hľadajú - používateľský zážitok bez ohľadu na to, na ktorom zariadení sú pripojení a či sedia za stolom, trávia čas pri cestovaní so svojimi PDA, alebo relaxujú doma. Aplikácie napísané pomocou JavaFX Script využívajú vytvorené rysy technológie Java, ako napríklad prenositeľnosť, zabezpečenie aplikácií, všadeprítomnú distribúciu a podnikovú pripojiteľnosť. Jedinečnosť JavaFX Script pochádza z jeho schopnosti vložiť overený výkon platformy Java a z masového rozšírenia Java na trhu, čo je dané jeho jedinečnou všade prítomnosťou a používaním v rámci 9 z 10 PC a mobilných zariadení. Okrem toho, JavaFX Script môže podporovať používateľské rozhrania akejkoľvek veľkosti alebo komplexnosti, je staticky napísaný a môže využiť programovacie modely Java (ako napríklad štruktúrovanie kódu, opätovné použitie a vlastnosti uzatvorenia), čo mu umožňuje vytvoriť a spravovať veľké programy v JavaFX Script. JavaFX Script bude zaujímavý pre autorov obsahu, pretože štruktúra písaného kódu presne zodpovedá aktuálnemu rozvrhnutiu GUI a je možné ho jednoduchšie pochopiť a udržiavať. Jazyk podporuje bežné typy premenných ako string, integer a čísla s plávajúcou desatinnou čiarkou a logické (Boolean) hodnoty. Rozsiahla podpora je poskytovaná pre manipuláciu s poliami a zoznamami so silným a jednoduchým syntaxom. JavaFX objekty sú vytvárané s deklaratívnym syntaxom. To je užitočné najmä v triedach, ktoré poskytujú zjednodušený most JavaSwing tried používateľského rozhrania.
Výhody JavaFX Script:
- Zvyšuje produktivitu vývojárov (aj prostredníctvom GPL licencie a prostredníctvom tzv. JavaFX community)
- Ponúka intuitívny jazykový (kódový) design
- Potrebuje menej kódu
- Poskytuje rýchlejšie vývojové cykly
- Nulové straty funkčnosti na zariadeniach
JavaFX1.2 poskytuje jednotný vývoj a využitie modelu pre vytváranie funkčne bohatých klientskych aplikácií, ktoré integrujú bohatý množstvo médií ako audio a video, grafiku, RTF a webové služby. JavaFX1.2 umožňuje vývojárom kreatívne programovať vo vizuálnom kontexte a tým im pomáha, aby svoje myšlienky uvádzali do života rýchlejšie a lepšie. Java vývojári môžu zachovať existujúce investície do opakovaných Java knižníc v aplikáciách JavaFX1.2. Plus, JavaFX umožňuje prístup k schopnostiam na prístrojoch na úrovni mobilných zariadení. Z hľadiska vývoja, môžu Java vývojári naďalej využívať globálny Java ekosystém s jeho rozsiahle vedomostnú základňu a obrovský trh. JavaFX1.2 prináša s presvedčivou "značkou" nový obsahu a bohatšie skúsenosti. S Java SE 6 Update 10 (a vyššie), môžete Drag-to-Install JavaFX aplikácie jednoduchým pretiahnutím z prehliadača - potom môžete oživiť aplikácie priamo zo svojho počítača! Drag-to-Install zjednodušuje distribúciu obsahu koncovým užívateľom a poskytuje im prístup, kedy a kde chcú.
Najviditeľnejším nedostatkom v zozname funkcií jazyka JavaFX, ktoré poskytuje, je spôsob, ako manipulovať s dátami XML syntax. Ako najvýhodnejšia možnosť pre manipuláciu s týmito predmetmi sa javí používať Swingové knižnice. Samozrejme si môžete vytvoriť vlastnú Java triedu so Swingovým skriptom a môžete ju použiť v skripte JavaFX.
Hardvér
V tejto kapitole rozoberiem hardvérové možnosti JavaFX v praxi. Spoločnosť SUN má v podstate len dve možnosti, ako sa presadiť na trhu s freeware softvérom inštalovaných do výrobkov priamo pri ich výrobe. Prvou, tou menej pravdepodobnou, je po dohode s výrobcom svoje produkty inštalovať do už vyvinutých výrobkov, ktoré sú na trhu nejaký čas, alebo inštalovať ich do zariadení, ktoré sú práve vo vývoji, a tým v podstate participovať na evolúcii ich softvérovej, ale i hardvérovej štruktúre (keďže by bol hardvér čiastočne prispôsobovaný, vyspelejšiemu programovému vybaveniu).Vzhľadom na to, že JavaFX je na trhu pomerne krátky čas (cca 6 mesiacov), momentálny stav je taký, že do zariadení domácej zábavy a mobilných telefónov t. j. oblasť v ktorej majú staršie produkty spoločnosti SUN významné postavenie, sa neinštalujú. V mojom prípade sa teda bude jednať o zariadenie, ktoré je podľa domovskej stránky spoločnosti SUN vo vývoji a je predbežne popisované ako ucelená jednotka domácej zábavy. Má nahradiť doteraz používané zariadenia nielen na príjem digitálneho a analógového signálu, jeho záznam na pevný disk (avizujú jeho kapacitu až 2 terrabyty), ale malo by plniť aj funkciu DVD či CD prehrávača a domáceho kina (5.1 kanálov). Po pripojení na internet by malo plniť úlohu domáceho informačného centra, kde by mali byť k dispozícii údaje ako sú napríklad správy, cestovné poriadky, televízne programy atď.. Ďalšou z funkcií by mala byť už skôr spomínaná možnosť hrať RPG systémom PBP. Samozrejmosťou je, že toto zariadenie sa bude dať ovládať jediným multifunkčným diaľkovým ovládačom.
VIA Digital Media Platform
VIA / Ubuntu / JavaFX hardvérové dekódovanie HD - Digital Media Platform
Zariadenie Digital Media Platform, je určené pre aplikácie, ktoré využívajú nákupné centrá, letiská, hotely atď.Užívateľské rozhranie je vytvorené v JavaFX 1.2, hardware a operačný systém je schopný dekódovať a zobraziť HD obsah vo formátoch ako AVI, WMV a M4V, v 720p alebo 1080p kvalite. Systém tiež musí byť schopný podporovať veľkú dotykovú obrazovku, to vyžaduje, aby obsahoval aj driver pre Xorg a kalibračný program. Toto zariadenie je dobrý príklad pre všestrannosť JavaFX nakoľko hardvérová platforma je tvorená komponentami VIA, ktorá vytvorila DRM jadro, ovládače pre dekodéry HD a video, mplayer a špeciálne video z pluginov. Operačný systém je okresanou verziou Linux Ubuntu, ktorá obsahuje len potrebné súčasti.Hlavný rozdiel pri prehrávaní HD videa medzi klasickými zariadeniami (normou video výstup na 1.5Ghz procesor) a touto zostavou, ako tvrdia prvý užívatelia je obrovský. Pri vstupe do budovy bol zvuk ďaleko dporedu predhrávaný pred obrazom. Pri použití Digital Media Platform s dodanou VIA Mplayer video výstupom, je film úplne hladký a v súlade so zvukom.
JavaFX 1.2 a webové služby
V tejto časti popíšem možnosti použitia JavaFX pre vytvorenie webového klienta a taktiež uvediem a rozoberiem príklad napojenia sa na databázu umiestnenú na internete a na čítanie dokumentu v XML formáte. JavaFX so svojou všestrannosťou a pritom jednoduchosťou je využívaná vývojármi okrem tvorby statických aplikácií na tvorbu programov, ktoré sú určené na určitý druh komunikácie, či už s inými aplikáciami, alebo prostredníctvom siete so servermi a databázami. Aj keď samotný zdrojový kód a knižnice Java neobsahujú priamo nástroje na prístup do rôznych typov serverov, ktoré pracujú v rôznych protokoloch, JavaFX dokáže využiť to, že jej kód môže byť kombinovaný s predchodcami JavyFX alebo tiež s kódmi C, C++, MySQL, Solaris, alebo napríklad s kódom Glasfish. Stačí si pritom iba načítať knižnice, ktoré sú potrebné pre prácu s tým ktorým kódom. Takýmto spôsobom potom môže aplikácia jednoducho načítavať obsah rss stránky alebo pracovať s dokumentmi typu XML. HTML či XHTML. Tu je jednoduchý príklad pripojenia sa na URL a načítanie XML dokumentu:
Zdrojový kód č. 1: Príklad pripojenia sa na URL a načítanie XML dokumentu
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.XMLReaderFactory;
// tu sú načítané potrebné knižnice
public Priklad (String Retazec, boolean Hodnota) throws IOException {
InputStream is = getInputStreamFromURL(URLadresa(Retazec, hodnota));
// napojenie na URL adresu
try {
InputSource inputSource = new InputSource(is);
XMLReader reader = XMLReaderFactory.createXMLReader();
reader.setContentHandler(new YWSParser());
reader.parse(inputSource);
// použitie parseru
} catch (SAXException saxe) {
throw new IOException(saxe.getMessage());
} finally {
if (is != null) {
is.close();
}
}
// použitie výnimky pre prípad chyby (napríklad výpadku serveru)
V ďalších častiach sa len nadefinujú, ktoré údaje potrebujeme načítať a kam.