Author Archives: Mariusz Zamolski

Moja pierwsza kropka — JavaFX 2 tutorial

Skoro już udowod­niłem, że warto zain­tere­sować się JavaFX 2, pokażę teraz jak jej używać.

Sama insta­lacja nie powinna nikomu nas­tręczać spec­jal­nych prob­lemów. Po jej szczegółowy opis odsyłam do jedynego słusznego źródła.

Jeśli już wszys­tko co trzeba zostało pobrane, roz­pakowane i zain­stalowane — nad­szedł czas na właś­ciwą zabawę czyli postaw­ie­nie pier­wszej kropki.

public class FirstDot extends Application {
 
	public static void main(String[] args) {
		launch(args);
	}
 
	@Override
	public void start(Stage primaryStage) {
		Group rootGroup = new Group();
		rootGroup.getChildren().add(new Text(20, 100, "Moja"));
		rootGroup.getChildren().add(new Text(20, 120, "Pierwsza"));
		rootGroup.getChildren().add(new Text(20, 140, "Kropka"));
		rootGroup.getChildren().add(new Circle(30, 160, 10, Color.RED));
 
		Scene scene = new Scene(rootGroup, 300, 300, Color.WHITE);
		primaryStage.setScene(scene);
 
		primaryStage.setResizable(false);
		primaryStage.show();
	}
}

A oto i efekt dzi­ała­nia powyższego kodu w całej okazałości:

Proste? Pewnie, że proste!

Po tak obiecu­ją­cym wstępie i wid­owiskowych rezul­tat­ach, ciąg dal­szy nieuchron­nie nastąpi.

JavaFX 2 — czy warto?

Na początku było AWT. Słabe było, to prawda. Nadawało się w prak­tyce tylko do tworzenia mniej lub bardziej efek­townych apletów, pra­cowicie mru­ga­ją­cych na stronach WWW. Pro­jekt tej bib­lioteki był równie kiep­ski jak jego real­iza­cja. Założe­nia, że tych kilka brzy­d­kich kon­trolek wystar­czy każdemu, nie miało prawa się obronić.

Później nad­szedł czas Swinga. Od strony pro­jektu, niczego nie można mu było zarzu­cić: rozsz­erzalny, kon­fig­urowalny, z pięknym MVC. Niestety, jego debiut w JDK 1.2 był słaby. Zemś­ciła się pośpieszna, nieefek­ty­wna i pełna błędów imple­men­tacja. Powol­ność dzi­ała­nia aplikacji napisanych przy uży­ciu tej bib­lioteki stała się pod­stawą poku­tu­jącego do dziś slo­ganu “Java jest wolna”. To nic, że z każdą wer­sją bib­lioteka drasty­cznie przyśpieszała. Leg­enda pozostała.

Swing pozostaje stan­dar­dem do dziś. Pow­stałe jako jego alter­natywa SWT świata nie zawo­jowało. W prak­tyce, nie okazało się ani szyb­szym ani tym bardziej elasty­czniejszym narzędziem niż konkurent ze stan­dar­d­owego JDK. Dodawało za to kole­jne prob­lemy związane z niekosz­er­noś­cią pole­ga­jącą na korzys­ta­niu z naty­wnych bibliotek.

Mijały lata, świat zapom­niał o apple­tach, w przeglą­dark­ach królował Adobe i jego Flash. Nawet Microsoft wypuś­cił coś co lep­iej nadawało się do gierek i oglą­da­nia “śmiesznych filmików” niż wiekowa Java. Wtedy to, SUN postanowił jeszcze raz powal­czyć na rynku RIA i wypuś­cił coś zupełnie nowego.

JAVAFX, bo o tej tech­nologii mowa zapowiadała się świet­nie. Nowy prosty język, łatwa (w założe­ni­ach) dys­try­bucja, inte­gracja z narzędzi­ami graficznymi. No nic, tylko używać.

Niestety, miało być pięknie, a wyszło jak zawsze. Język był “fajny”, ale leni­wym pro­gramis­tom nie chci­ało się go uczyć. Dys­try­bucja pro­gramów miała być banalna, ale co z tego, skoro Flasha każdy miał już zain­stalowanego a JRE trzeba było dopiero pobrać z Inter­netu. W rean­i­macji nie pomogła nawet spek­taku­larna pro­mocja olimpijska

A później SUN został kupi­ony przez Ora­cle.

Nowa miotła nie bacząc na marudze­nie społeczności, uka­trupiła JavaFX Script. Pozostałą część pro­jektu postanowiono zaś wydać w formie bib­lioteki pod nazwą JavaFX 2. Dlaczego? Ano jak twierdzą “ofic­jalne źródła” dlat­ego, żeby pro­dukt ten stał się bardziej pop­u­larny, bo ludzie w Javie piszą a w JavaFX Scrip­cie już niekoniecznie. Co z tego wyniknie — czas pokaże.

Wraca­jąc do tytułowego pyta­nia: czy warto pakować się w JAVAFX 2? Pewnie że warto. Nie znamy co prawda dnia ani godziny, kiedy to jakiś mar­ketingowiec postanowi ukrę­cić temu pro­jek­towi łeb. Nie wiemy nawet czy kiedykol­wiek stanie się on tak wielo­plat­for­mowy jak sama Java (o wer­sji dla Linuksa niewiele póki co sły­chać). Wiemy nato­mi­ast, że mamy do dys­pozy­cji rewela­cyjne środowisko, dzięki któremu możemy sobie w radosny sposób mazać po ekranie. I tego się optymisty­cznie trzymajmy.