Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

Semirski rad

Java media framework

• Rad studenta:
• Jevtovic Milan Rer 13/09
• Jankovic Janko Rer 53/09
• Vuckovic Marko Rer 31/09
Nastanak Jave…
• Java je računarski programski jezik koji je razvila
firma Sun Microsystems. Programski jezik se koristi za
izdavanje instrukcija računaru da obavi konkretne poslove.
Java, mada relativno novi jezik, nastao 1995. godine,
izuzetno je popularna.

• Prvi razlog za popularnost je njena cena – potpuno je


besplatna!.

• Drugi razlog za popularnost Jave je to što je Java


programi mogu da se izvršavaju na skoro svakom tipu
računara. Kažemo da su Java programi nezavisni od
platforme na kojoj se izvršavaju.
• Java može da se koristi za razvoj raznovrsnih aplikacija
.Takođe, možete da pravite aplikacije sa grafičkim
korisničkim interfejsom (engl. Graphical User Interface –
GUI). Ove aplikacije raspolažu sa menijima, paletama alatki,
dugmadima, trakama za pomeranje sadržaja drugim
kontrolama koje reaguju na miša.
• Takođe, možete praviti i aplikacije koje se nazivaju apleti
(engl. Applets). To su male GUI aplikacije koje mogu da se
izvršavaju unutar web stranice. Apleti daju dinamičnost web
stranicama
• Drugo popularno svojstvo Jave je to što je ona objektno
orijentisana. To je fini način da se kaže da su Java programi
sačinjeni od više osnovnih delova (komponenti) koji mogu da
se više puta koriste. To za vas kao Java programera znači da
možete da pravite i menjate velike programe bez većih
komplikacija.
Zašto učiti Javu?
Možemo postaviti i pitanje Zašto učiti programski jezik? Postoji
više razloga za to. Prvo, ukoliko znate da programirate,
razumećete bolje kako računari rade. Drugo, pisanje programa je
dobra vežba za razvijanje veštine razmišljanja – morate dobro
logički da razmišljate da biste napisali računarske programe..
Takođe, morate pomalo biti i perfekcionista, računari nisu toliko
pametni i zato zahtevaju strogo precizne instrukcije da bi obavili
svoje poslove. Treće, računarski programeri su veoma traženi i
zarađuju mnogo novca. Na kraju, pisanje računarskih programa
je zabavno. Posebno je zadovoljstvo kada vidite svoju ideju kako
„živi” na ekranu računara.
Zasto je Java vazna za Internet?!

Internet je pomogao da se Java probije u prve redove


programiranja, a Java je, za uzvrat, jako uticala na Internet.

Objasnjenje je sasvim jednostavno: Java siri skup objekata


koji se slobodno mogu kretati kiber-prostorom. Na mrezi
izmedju servera i vaseg licnog racunara krecu se dve veoma
siroke kategorije objekata: pasivni podaci i dinamicki,
aktivni programi. Na primer, kada citate poruku elektronske
poste, vi gledate pasivne podatke. Cak i kada sa mreze
preuzmete neki program, i njegov kôd je pasivan sve dok
ga ne pokrenete.
Uskocite u Javu!

• Java je programski jezik koga krase sledeće osobine:


• Jednostavan
• Nezavisne arhitekture
• Objektno orijentisan
• Portabilan
• Distribuiran
• Izuzetnih performansi
• Podržava niti (thread)
• Robustan
• Dinamičan
• Siguran
• U Javi, izvorni kod (source) programa se piše u običnom tekstualnom fajlu
koji se završava sa .java ekstenzijom. Fajlovi sa izvornim kodom programa
se potom prevode (kompajliraju, compile) u .class binarne fajlove. Za
prevođenje se koristi programski prevodilac (compiler), javac. Prevedeni
fajlovi (.class) ne sadrže takozvani native kod, tj. mašinski kod koji
odgovara hardveru i operativnom sistemu. Umesto toga, .class binarni fajl
sadrži bajtkod (bytecode) - mašinski jezik Java Virtuelne Mašine (JVM).
Za startovanje prevedenog programa potrebno je koristiti java launcher,
program koji startuje izvršavanje prevedenog programa u JVM.
• Upravo koncept virtualne mašine
omogućuje da se isti program
izvršava na isti način na različitim
operativnim sistemima. Java VM
postoji za Windows, Solars, Linux,
MacOS... Moderne JVM ne služe
samo za pokretanje programa, već, na
primeru poput Java HotSpot VM,
izvršavaju dodatne zadatke u toku
rada programa (u runtime), čime
značajno povećavaju performanse
aplikacije.
Java platforma…

• Platforma je softversko i/ili hardversko okruženje u kome se izvršava


program. Java se upravo razlikuje od mnogih drugih platformi u tome što
je isključivo softverska, koja radi na drugim hardverskim platformama.
Kao što je rečeno, ovo čini Javu portabilnom i nezavisnom od hardverske
platforme. Kao takva, Java platforma može biti nešto sporija
od native koda. Ipak, napredne tehnike ugrađene u prevodilac i VM čine da
razlike performansi budu na veoma prihvatljivom nivou.
• Java platforma se sastoji iz dve komponente:
• Java Virtuelne Mašine (JVM) - već opisana, predstavlja osnovu Java
platforme koja je portovana na različite hardverske platforme.
• Java Application Programming Interface (API) - ogromna kolekcija
gotovih softverskih komponenti koje pružaju mnogo korisnih mogućnosti.
Nju čine klase i interfejsi, grupisani u pakete.
Alat za razvoj..
• Za izvršavanje Java aplikacija potrebno je imati instaliranu samo Java
platformu. Ona se naziva i Java Runtime Enviroment (JRE) i može se
kao instalacija preuzeti sa Sun-ovog sajta za različite operativne sisteme.
• Za razvoj Java aplikacija je potrebno osim JRE imati i skup alata
kojima se radi razvoj (prevodilac...). Sva ova 'oprema' za osnovni razvoj
Java aplikacija je sadržana u skupu koji se naziva: Java Development
Kit (JDK). JDK, dakle, sadrži JRE i sve dodatne alate neophodne za
osnovni razvoj Java aplikacija. Ove alate uglavnom čine aplikacije koje se
izvršavaju iz komandne linije. JDK se takođe može preuzeti kao instalacija
sa Sun-ovog sajta.
• JDK izdanja
• Za neke Java aplikacije su potrebne dodatne mogućnosti, koje nisu
sadržane osnovnim skupom JDK, kao što je slučaj sa web aplikacijama.
Zato postoje razna izdanja (edition) JDK-a. Najpopularnija su sledeća
izdanja:
JDK izdanja..

Java SE (Standard Edition)


Osnovno izdanje namenjeno razvoja svih aplikacija, osim onih koje su
dizajnirane za posebne uređaje. Java SE ediciju čini JRE, prevodilac i
prateće alatke i API, uključujući i njegov izvorni kod.

Java EE (Enterprise Edition)


Ovo izdanje uključuje aplikativni server, web server, J2EE API, podršku za
Enterprise JavaBeans, Java Servlet API i Java Server Pages (JSP)
tehnologije. J2EE se koristi sa JSE.

Java ME (Micro Edition)


Služi za razvoj java aplikacija na mobilnim uređajima.

JavaFX Script Technology
Efikasan skript jezik za lako kreiranje bogatih sadržaja u Java okruženju.
Bytecode…
• U slučaju Java jezika korišten je malo drukčiji pristup u kojem se u procesu pisanja
Java koda do transformacije u računaru razumljiv kod koriste dva programa. Prvo
se program koji je programer napisao u Javi, pomoću prevodioca prevodi u
bytecode program. Bytecode je sličan izvornom jeziku, ali je neovisan o bilo kojem
računaru.
• Bytecode program nije više čitljiv od strane programera. Njega čita i izvršava
program koji se naziva Java virtual machine. Prednosti pristupa u dva koraka jest
da se tako proizvode programi koji se ipak izvršavaju zadovoljavajućom brzinom te
se Java okolina može brzo realizirati na bilo kojem računaru.
• Originalni Java program koji piše programer i kojeg prevodi prevodilac naziva se
izvorni kod. Bytecode koji proizvodi prevodilac i interpretira Java virtual machine
naziva se objektni kod.
Klase..

• Klasa u Javi predstavlja uputstvo koje kaže kako će izgledati i kako će se


ponašati objekt koji je iz nje kreiran.
• Svaka klasa u javi je podklasa (naslednik) osnovne klase “Object”
• Svaka klasa ima tri komponente:
– Promenljive članice (Atribute klase) (fields).
– Metode članice (Ponašanje klase)
• Konstruktore kao specijalne metode članice
• Klasa može da sadži
– Polja instanci (promenljive članice, tj. atribute objekata klase)
– Metode instanci (metode članice objekata klase)
– Polja klase (statička polje, statičke atribute klase)
– Metode klase (statičke metode klase)
• Telo klase uokvireno je zagradama{ }
Pri deklarisanju klase koristimo:
public klasu može da koristi proizvoljna klasa bez obzira na paket.
abstract klasa se ne može koristiti za instanciranje objekta.
final iz klase ne može da bude izvedena nova klasa.
class NameOfClass deklaracija klase NameOfClass.
extends Super nasleđuje klasu Super.
implements Interfaces klasa implementira jedan ili više interfejsa .
• Sistemska promenljiva CLASSPATH

• Pošto je često slučaj da Java aplikacije zavise od eksternih


biblioteka (koje se distribuiraju kao JAR fajlovi), java VM mora
nekako da 'zna' gde se ti JAR fajlovi nalaze na fajl sistemu.
CLASSPATH sistemska promenljiva je predviđena da, slično
PATH, sadrži skup putanja do JARova ili direktorijuma sa
prevedenim klasama, koje razne Java aplikacije mogu da
koriste.
• Iako se na većini mesta savetuje postavljanje ove sistemske
promenljive, autor članka to NE preporučuje. Aplikacije koriste
razne verzije biblioteka, a i njihov broj nije mali, tako da je
teško izdvojiti skup biblioteka koji bi bio zajednički za više
aplikacija. Umesto toga je praktičnije postaviti vrednost
CLASSPATH za svaku aplikaciju posebno, što one to najčešće i
rade u svojim izvršnim batch skriptovima.
Struktura projekta…

• Važno je dobro organizovati Java projekat: pravilno


odvojiti java izvorni kod od prevedenih klasa,
organizovati bilblioteke i tome slično. Iako za male
projekte to nije tako važno, preporučljivo je uvek
razvijati projekat sa dobro odabranom strukturom. Sledi
opis moguće strukture projekta za potrebe ovog
jednostavnog primera. Struktura uključuje iskustva
autora članka i slobodno se može menjati prema
vlastitim potrebama. Uobičajeno je u programiranju da
imena direktorijuma, svojim imenom, sugerišu njegov
sadržaj.
• Direktorjum src (sinonim za source, izvorni kod) sadrži celokupan izvroni
kod java programa. Klase bi trebalo da su uvek raspoređene po paketima,
kojima na fajl sistemu odgovaraju dorektorijumi.
• Direktorijum out (sinonim za output, rezultat kreiranja aplikacije; često se
naziva i bin, što je sinonim za binary, binarni, tj. prevedeni kod) sadrži
celokupan rezultat prevođenja aplikacije (.class fajlove). U većim projektima,
proces kreiranja (build-ovanja) aplikacije ne čini samo prevođenje, već on
uključuje i druge korake, na primer: prevođenje i izvršavanje test klasa,
kreiranje javadoc-a, izračunavanje pokrivenosti koda... Ne bi bilo loše da se
rezultati svih ovih aktivnosti smeste u ovaj direktorijum. On nikako ne sme da
sadrži bilo šta što se ne može generisati build-ovanjem aplikacije! Direktorijum
treba posmatrati kao pomoćni, koji se u svakom trenutku može kompletno
obrisati, da bi build-ovanje projekta moglo biti izvršeno potpuno ispočetka.
• Direktorijum lib (sinonim za library, biblioteke) sadrži sve eksterne biblioteke
koje aplikacija koristi. Jedan način korišćenja je da se svi JARovi jednostavno
kopiraju u ovaj direktorijum. Autor članka preferira drugi način gde se
biblioteke grupišu po pod-direktorijumima - u svakom se nalaze potrebni
distribucioni JARovi, ali i fajlovi sa licencama pod kojima su objavljene
biblioteke.
• Direktorijum etc (sinonim za et cetera, 'i ostale stvari') može da sadrži sve
pomoćne fajlove u vezi projekta - uputstva, zahteve, SQL skriptove i tome
slično.
• Direktorijum dist (sinonim za distribution, distribucija) sadrži finalni
rezultat build-ovanja aplikacije, spreman za distribuciju. To može biti JAR fajl,
WAR fajl (za web), ili, na primer, ZIP fajl koji sadrži sve potrebne
artifekte build-ovanja (iz out direktorijuma).
• Sam osnovni (root) direktorijum projekta ne bi trebalo da sadrži mnogo fajlova.
Tu bi se našli build skriptovi (ant), ako se koriste, ili fajlovi korišćenog IDEa.
Osnovni direktorijum bi trebalo da bude i direktorijum odakle se pokreće build-
ovanje projekta, bez obzira da li se to radi ručno, iz IDE-a, ili iz nekog skripta.
Vise o Javi..

• Tutorijal…

• Gde naci…

You might also like