Sunteți pe pagina 1din 6

Ce este Java?

Java este un limbaj de programare orientat-obiect, puternic tipizat, conceput de către


James Gosling la Sun Microsystems (acum filială Oracle) și lansat în 1995. Cele mai multe
aplicații distribuite sunt scrise în Java, iar noile evoluții tehnologice permit utilizarea sa și pe
dispozitive mobile, spre exemplu telefon, agenda electronică, palmtop etc. În felul acesta se
creează o platformă unică, la nivelul programatorului, deasupra unui mediu eterogen extrem de
diversificat. Acesta este utilizat în prezent cu succes și pentru programarea aplicațiilor destinate
intranet-urilor.

Limbajul împrumută o mare parte din sintaxă de la C și C++, dar are un model al
obiectelor mai simplu și prezintă mai puține facilități de nivel jos. Un program Java compilat,
corect scris, poate fi rulat fără modificări pe orice platformă care e instalată o mașină virtuală
Java (engleză Java Virtual Machine, prescurtat JVM). Acest nivel de portabilitate (inexistent
pentru limbaje mai vechi cum ar fi C) este posibil deoarece sursele Java sunt compilate într-un
format standard numit cod de octeți (engleză byte-code) care este intermediar între codul mașină
(dependent de tipul calculatorului) și codul sursă.

Mașina virtuală Java este mediul în care se execută programele Java. În prezent, există
mai mulți furnizori de JVM, printre care Oracle, IBM, Bea, FSF. În 2006, Sun a anunțat că face
disponibilă varianta sa de JVM ca open-source.
Există 4 platforme Java furnizate de Oracle:

 Java Card - pentru smartcard-uri (carduri cu cip);


 Java Platform, Micro Edition (Java ME) — pentru hardware cu resurse limitate,
gen PDA sau telefoane mobile;
 Java Platform, Standard Edition (Java SE) — pentru sisteme gen workstation, este ceea ce se
găsește pe PC-uri;
 Java Platform, Enterprise Edition (Java EE) — pentru sisteme de calcul mari (ex. servere ),
eventual distribuite.

Ce este JavaFX?
JavaFX este o platformă software pentru crearea și livrarea de aplicații desktop, precum
și aplicații de internet bogate (RIA) care pot rula pe o mare varietate de dispozitive. JavaFX este
destinat să înlocuiască Swing ca biblioteca standard GUI pentru Java SE, dar ambele vor fi
incluse pentru viitorul prevăzut. JavaFX este utilizat pe computere desktop și browsere web pe
Microsoft Windows, Linux și macOS. JavaFX funcționeză diferit în funcție de sistemul de
operare pe care este utilizat.

→ Java Platform, Standard Edition (Java SE)


Este o platformă de calcul pentru dezvoltarea și implementarea codului portabil pentru
mediile desktop și server. Java SE a fost cunoscută ulterior ca Java 2 Platform, Standard Edition
(J2SE). Platforma utilizează limbajul de programare Java și face parte din familia de platforme
software Java. Java SE definește o serie de API-uri cu scop general - cum ar fi API-urile Java
pentru biblioteca de clase Java - și include, de asemenea, specificația limbii Java și specificația
mașinii virtuale Java.

→ Istoric

Inițial se concentreze pentru platforma JavaFX a fost în principal pentru aplicatii internet
bogate (RIA). A existat un limbaj de scripting JavaFX destinat să facă crearea unei interfețe
web-based mai ușor. Versiunile JavaFX care reflectă această arhitectură au fost: 

 v1.0 lansat decembrie 2008


 v1.1 lansat februarie 2009
 iunie 2009 a lansat v1.2
 v1.3 lansat aprilie 2010

→ Caracteristici JavaFX
 Integrare cu Java. JavaFX este o interfaţă de programare integrată în distribuţia limbajului de
programare Java, instalarea sa făcându-se împreună cu acesta; prin urmare, din JavaFX pot fi
accesate toate API-urile Java cu funcţionalităţile lor, acesta reprezentând o alternativă la
celelalte limbaje de programare care folosesc Java Virtual Machine, precum JRuby sau Scala;

 Limbajul de adnotare FXML şi utilitarul SceneBuilder. FXML este un limbaj declarativ de


adnotare bazat pe XML prin intermediul căruia pot fi dezvoltate interfeţe grafice cu utilizatorul,
fără a fi necesar ca aplicaţia să fie recompilată de fiecare dată când sunt modificate elemente din
cadrul acesteia. În acest mod se realizează o separare între nivelul de prezentare și nivelul de
logică a aplicației. SceneBuilder permite construirea interfeţei în mod vizual, generând automat
şi documentul FXML asociat, acesta putând fi integrat apoi în orice mediu de dezvoltare. Astfel,
nu mai este necesară decât implementarea mecanismelor de tratare a evenimentelor
corespunzătoare diferitelor controale (elemente din cadrul interfeței grafice);

 Componente WebView. Un modul ce foloseşte tehnologia WebKitHTML permite integrarea


de pagini Internet în cadrul unei interfeţe grafice. De asemenea, codul JavaScript ce rulează în
WebView poate accesa orice API-uri Java, la fel cum API-urile Java pot executa cod JavaScript
care rulează în WebView. Există suport și pentru anumite funcționalități HTML5 (Web
Sockets, Web Workers, Web Fonts) sau capabilități de tipărire;

 Interoperabilitate cu tehnologia Swing. Aplicaţiile Swing existente pot fi extinse cu


funcţionalităţi JavaFX, ca redarea de conţinuturi grafice sau a unor pagini Internet integrate.
Clasa SwingNode permite integrarea unui conținut dezvoltat folosind tehnologia Swing în
cadrul aplicației JavaFX;

 Biblioteci de controale şi foi de stil. JavaFX pune la dispoziţia programatorilor majoritatea


controalelor necesare pentru dezvoltarea unei interfeţe cu utilizatorul complete
(inclusiv DatePicker și TreeTableView), aspectul acestora putând fi particularizat folosind
tehnologii web standard ca foile de stil (eng. CSS – cascading style sheets), prin intermediul
claselor Styleable*;

 Tema Modena este folosită ca implicită pentru toate aplicațiile JavaFX (înlocuind tema
Caspian, care poate fi utilizată prin apelul
metodei setUserAgentStylesheet(STYLESHEET_CASPIAN) în metoda start() a clasei derivate
din Application;

 funcționalități de grafică 3D.


 implementarea claselor:
 javafx.scene.shape.Shape3D(cu subclasele Box, Cylinder, MeshView, Sphere)

 javafx.scene.SubScene

 javafx.scene.paint.Material

 iavafx.scene.input.PickResult

 javafx.scene.LightBase (cu subclasele AmbientLight și PointLight)

 javafx.scene.SceneAntiAliasing

 îmbunătățirea API-ului Camera;

 API-ul Canvas permite desenarea pe o suprafaţă dintr-o scenă JavaFX conţinând un element


grafic (de tip nod);

 API-ul pentru tipărire este conținut în pachetul javafx.print, oferind posibilitatea configurării


modului în care vor fi tipărite scenele dintr-o interfață grafică sau diferite documente;

 Suport pentru text stilizat. Controalele JavaFX pot reda informații de tip text în mai multe
moduri: bidirecțional, multilinie, folosind mai multe stiluri grafice, incluzând seturi de caractere
complexe;

 Suport pentru operaţii multi-touch. JavaFX poate procesa mai multe operații de tip atingere a
ecranului concomitente în cazul dispozitivelor care suportă astfel de comenzi;

 Suport pentru dispozitive de afișare cu rezoluție mare (HiDPI - eng. High Dots per Inch);

 Grafică accelerată hardware la nivel de bandă de asamblare. JavaFX dispune de un motor


pentru redarea conţinutului grafic denumit Prism care oferă performanţe deosebite atunci când
este utilizat împreună cu anumite plăci grafice sau unităţi de procesare grafică (eng. GPU –
Graphic Processing Unit). În cazul în care un sistem nu dispune de una dintre dispozitivele
recomandate pentru a rula împreună cu JavaFX, Prism va folosi în mod implicit stiva de
aplicaţii Java2D;

 Motor multimedia performant, pentru redarea de conţinut multimedia folosind tehnologia


GStreamer, caracterizată prin latenţă scăzută şi stabilitate;

 Model de dezvoltare al aplicaţiilor autonome. Există pachete de aplicaţii independente care


dispun de toate resursele necesare precum şi de copii ale mediilor de rulare Java şi JavaFX
distribuite ca pachete native ce pot fi instalate oferind utilizatorilor aceeaşi experienţă ca şi
celelalte aplicaţii native sistemului de operare respectiv.

→ JavaFX Versiunea 2.0


În octombrie 2011, JavaFX 2.0 a fost lansat. Acest lucru a semnalat sfârșitul limbajul
de scripting JavaFX și mutarea funcționalității JavaFX într - un API Java. Acest lucru a însemnat
că dezvoltatorii Java nu au nevoie să învețe o nouă limbă grafică și în loc să fie confortabil
crearea de aplicații JavaFX folosind sintaxa normală Java. JavaFX API - ul conține tot ceea ce
ați aștepta de la o platforma grafica - controale UI, animații, efecte, etc ..
Diferența principală pentru dezvoltatorii de trecerea de la Swing la JavaFX va fi
obtinerea utilizate pentru modul în care componentele grafice sunt stabilite și noua
terminologie. O interfață de utilizator este încă construit folosind o serie de straturi care sunt
conținute într-un grafic scenă. Graficul scenă este afișat pe un container de nivel superior numit
o etapă.

Alte caracteristici notabile cu JavaFX 2.0 sunt:

 un nou motor grafic - Prism, o conductă de accelerare hardware, este cuplat cu sticla, ca noi
tookit windowing, pentru a produce o grafică de înaltă calitate pentru aplicații JavaFX.
 un nou limbaj de markup declarativ numit FXML. Ea se bazează pe XML și permite
dezvoltatorilor să definească o interfață de utilizator pentru o aplicație JavaFX.
 un nou motor de media pentru redarea de conținut web multimedia.
 un plug-in browser-ul pentru încărcarea applet-uri JavaFX Prism.
 o componentă web pentru integrarea paginilor web in cadrul unei aplicatii JavaFX.

S-ar putea să vă placă și