JavaFX - prostředí pro tvorbu RIA aplikací (1)
Aneb konkurence Flashe, HTML5 a Silverlightu z dílny Sun Microsystems.
30.7.2010 18:00 |
Radim Kolář
| Články autora
| přečteno 11372×
RIA Aplikace
Co to jsou vlastně ty RIA aplikace? Tato zkratka znamená Rich Internet Applications. Jsou to aplikace které se snaží být velmi uživatelsky přitažlivé - používají animace, efekty, zvuky, videa a nepoužívají standardní ovládací prvky. Pod Rich Aplikací si můžeme představit některou z her a podívat se jak má řešené menu pro nastavování grafiky, obtížnosti, nápovědu, ukládání pozic a podobně. Hra nepoužívá standardní dialogy a menu nabázené GUI toolkitem, ale má vlastní aby svou originalitou přitahovala pozornost uživatele. Slovo Internet naznačuje že danou aplikaci si nebudeme muset instalovat, ale budeme ji používat přes internet vloženou do web stránky.
AJAX technologie se stala hybnou silou Webu 2.0, protože umožnila aby stránky začaly vypadat ne jako listy ilustrované knížky, ale více jako aplikace které známe z desktopů. RIA technologie se tak stanou základem pro web 3.0. Pojem web 3.0 v současnosti není moc jasně definován.
RIA aplikace v současné době na webu moc nevidíme. Najdeme je jen na serverech, kde je styl důležitější než obsah. Například weby módních návrhářů, kapel, stylových eshopů. Masově se tyto aplikace ale nedělají, protože jsou jednak programátorsky ale především graficky náročné. Je potřeba vytvořit značné množství grafiky a práce grafika je dost drahá.
JavaFX
JavaFX je scriptovacím jazykem z dílny Sun Microsystems. Celým názvem se jmenuje JavaFX Script. JavaFX začala svou existenci jako jazyk F3 vyvinutý společností SeeBeyond, kterou později koupil Sun, kterého později koupil Oracle.
Jazyk JavaFX byl původně interpretovaný, ale v současnosti se již dá kompilovat přímo do JVM bytecodu jako ostatní jazyky co běží na JVM platformě. S postupem času se kompilátor JavaFX vylepšuje a tak když starší programy překompilujete novým kompilátorem dosáhnete často zrychlení. JavaFX kompilátor používá s oblibou optimalizační techniku zvanou loop unroll.
Teď se blíže seznámíme s vlastním jazykem.
Komentáře
Komentáře ve zdrojovém kódu jsou velmi dobrou programovací zvyklostí. Měly by být výstižné a hlavně správné, protože většina programátorů předpokládá, že pokud je rozpor mezi komentářem a kódem, tak platí komentář a kód přepíší, tak aby mu odpovídal. Komentáře jsou v JavaFX standardní, tedy C-like a C++ like. Stejný typ komentářů používá i jazyk Java.
/* C style komentář
může být přes více řádků
ale není možné komentáře
do sebe vkládat.
*/
// C++ style komentář platí od značky do konce řádku
Deklarace proměnných
JavaFX je jazyk deklarativní, což znamená že každá proměnná musí být deklarována před použitím. Podporuje jednak proměnné a jednak konstanty. Toto dělení se mi líbí, protože zpřehleďňuje kód a snižuje možný okruh chyb. Proměnná se deklaruje příkazem var zatímco konstanta se definuje příkazem def. Do proměnné můžeme přiřazovat hodnoty, zatímco do konstanty po její deklaraci již nikoliv.
var a = 10;
a = a + 1;
var c;
def b = 10;
b = b + 1; // překladač ohlásí chybu protože b je konstanta
Staticky silně typovaný jazyk
JavaFX není narozdíl od většiny scriptovacích jazyků typeless (weak typing). Každá proměnná má svůj typ. Není také dynamicky typovaný, což znamená že proměná může měnit svůj typ pokud do ní v průběhu programu přiřadíme objekt jiného typu. Ve výše uvedeném příkladu ale nejsou uvedeny typy. JavaFX překladač si je totiž umí odvodit z přiřazovaného výrazu. To je velmi hezká vlasnost, která šetří čas a psaní.
var b = 10;
b = "karel"; // překladač ohlásí chybu. Očekáván Integer, nalezen String
Typ u deklarací volitelně uvádět můžeme po dvojtečce. Moc se mi tenhle syntax nelíbí, radší bych měl místo dvojtečky mezeru a přehozené pořadí ve stylu C.
Funkce
funkce se definují klíčovým slovem function. Nemusí být součástí tříd a mohou se objevit kdekoliv ve zdrojovém souboru. Není třeba je nejdřív definovat a pak volat.
function test(a,b) {
return a + b;
}
Parametry mohou mít uvedený typ:
function test2(a:Integer, b:Integer ) {
return a + b;
}
Stejně tak můžeme deklarovat i typ co funkce vrací. Stejně jako předtím i tato syntaxe se mi vůbec nelíbí. Syntaxe ve stylu C nebo Java by byla mnohem lepší.
function test(a,b):Number {
return a + b;
}
Parametry funkcí jsou v JavaFX považovány za konstanty, nelze jejich hodnotu měnit tak jak jsme běžně zvyklí z jiných jazyků. Toto považuji za dobrý krok snižující výskyt potenciálních chyb v kódu.
function test3(a):Number {
a = a + 2; // nemůžete změnit hodnotu a, protože je to parametr
}
Pole
Podpora pro pole je docela luxusní, ačkoliv mám výhrady k použité syntaxi, která zbytečně zavádí klíčová slova. V JavaFX se jim neříká pole, ale sekvence, protože je lze natahovat a smrskávat přidáváním případně odebíráním prvků, které se číslují od nuly. Definice pole je prostá, zde nelze nic vytknout.
var pole = [ 1, 3 , 5, 7 ];
Pokud chceme deklarovat i typ dat v poli tak je potřeba dát za typ hranatou závorku
var pole2:Integer[] = [ 1, 5, 7, 8];
A teď přijde již ohlašovaný syntax sugar na pole. Opravdovým programátorům to bude připadat ukecané, ale příležitostným skriptařům pro které je JavaFX určeno se to zajisté zalíbí.
velikost pole | sizeof pole |
vložení prvku na konec | insert 10 into pole |
vložení prvku za druhý prvek | insert 11 after pole[1] |
vložení prvku před druhý prvek | insert 15 before pole[1] |
pole pozpátku | reverse pole |
smazání všech prvků | delete pole |
smazáni prvku na druhé pozici | delete pole[1] |
smazání prvku s hodnotou 1 | delete 1 from pole |
Výběr prvků z pole
Na druhou stranu možnosti výběru prvků jsou Python-like a rozhodně jsem je nečekal.
prvky od 1 do 3 včetně | pole[1..3] |
prvky od 1 do 10 bez posledního | pole[1..<10] |
každý třetí prvek z intervalu 1 - 10 | pole[1..10 step 3] |
vyběr prvků splňujících podmínku | pole[ x | x >100] |
Rozmezí
Podobnou technikou jako vybírání prvků z pole můžeme také pole vytvářet a používat ho třeba pro inicialiaci jiného pole nebo ve smyčkách. Stačí před výběrem neuvést jméno pole a dosáhneme tak výběru z implicitního pole obsahující celá čísla. Například výraz [1..3] tak vrátí pole [ 1, 2, 3 ].
Verze pro tisk
|
Nejsou žádné diskuzní příspěvky u dané položky.
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|

Vyhledávání software

Vyhledávání článků
17.4.2018 0:46 /František Kučera Dubnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 4. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tématem tohoto srazu bude OpenStreetMap (OSM) aneb svobodné mapy.
Přidat komentář
16.3.2018 22:01 /František Kučera Kulatý OpenAlt sraz v Praze oslavíme klasicky: u limonády a piva! Přijďte si posedět, dát si dobré jídlo a vybrat z mnoha piv do restaurace Kulový blesk, který najdete v centru Prahy nedaleko metra I. P. Pavlova na adrese Sokolská 13, Praha 2. Sraz se koná ve čtvrtek 22. března a začínáme v 18:00. Heslo: OpenAlt. Vezměte s sebou svoje hračky! Uvítáme, když si s sebou na sraz vezmete svoje oblíbené hračky. Jestli máte nějaký drobný projekt postavený na Arduinu, nějakou zajímavou elektronickou součástku, či třeba i pěkný úlovek z crowdfundingové akce, neváhejte. Oslníte ostatní a o zábavu bude postaráno.
Přidat komentář
13.2.2018 0:41 /František Kučera Únorový pražský sraz OpenAltu se koná 15. 2. 2018 a tentokrát se vydáme na návštěvu do jednoho pražského datacentra. Sejdeme se v 17:50 v severovýchodní části nástupiště tramvajové zastávky Koh-I-Noor. Po exkurzi se přesuneme do restaurace U Pštrosa (Moskevská 49), kde probereme tradiční témata (svobodný software a hardware, DIY, CNC, SDR, 3D tisk…) a tentokrát bude k vidění i IoT brána od The Things Network.
Přidat komentář
11.2.2018 23:11 /Petr Ježek Hledáte lehký a rychlý prolížeč PDF souborů? Pokud vás již omrzelo čekat na načítání stránek či jiné nešvary, zkuste xreader.
Přidat komentář
11.2.2018 20:35 /Redakce Linuxsoft.cz Třetí ročník odborné IT konference na téma Cloud computing v praxi proběhne ve čtvrtek 1. března 2018 v konferenčním centru Vavruška, v paláci Charitas, Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00 hod. dopoledne do cca 16 hod. odpoledne. Konference o trendech v oblasti cloud computingu nabídne i informace o konkrétních možnostech využívání cloudů a řešení vybraných otázek souvisejících s provozem IT infrastruktury.
Přidat komentář
15.1.2018 0:51 /František Kučera První letošní pražský sraz se koná již tento čtvrtek 18. ledna od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Vítáni jsou všichni příznivci svobodného softwaru a hardwaru, ESP32, DIY, CNC, SDR nebo dobrého piva. Prvních deset účastníků srazu obdrží samolepku There Is No Cloud… just other people's computers. od Free Software Foundation.
Přidat komentář
14.11.2017 16:56 /František Kučera Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tradičně první čtvrtek před třetím pátkem v měsíci: 16. listopadu od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář
12.11.2017 11:06 /Redakce Linuxsoft.cz PR: 4. ročník odborné IT konference na téma Datová centra pro business proběhne již ve čtvrtek 23. listopadu 2017 v konferenčním centru Vavruška, v paláci Charitas, Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00. Konference o návrhu, budování, správě a efektivním využívání datových center nabídne odpovědi na aktuální a často řešené otázky, např Jaké jsou aktuální trendy v oblasti datových center a jak je využít pro vlastní prospěch? Jak zajistit pro firmu či jinou organizaci odpovídající služby datových center? Podle jakých kritérií vybrat dodavatele služeb? Jak volit součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně spravovat datové centrum? Jak eliminovat možná rizika? apod.
Přidat komentář
Více ...
Přidat zprávičku
 Poslední diskuze
20.2.2018 18:48 /
Ivan Majer portal
20.2.2018 15:57 /
Jan Havel Jak využíváte služby cloudu v podnikání?
16.1.2018 1:08 /
Ivan Pittner verejna ip od o2 ubuntu
15.1.2018 17:26 /
Mira Harvalik Re: Jak udělat HTML/Javascript swiping gallery do mobilu?
30.12.2017 20:16 /
Michal Knoll odmocnina
Více ...
|