13. Jezici za Web programiranje Flashcards
Jezici i alati za Web programiranje
Koriste se Markup jezici za definisanje sadrzaja i izgleda statickih Web strana. Za sadrzaj i strukturu web strane i osnovno formatiranje koristi se HTML, za napredno formatiranje CSS, a za opis podataka XML, XML-Schema i DTD.
Postoji i programiranje interaktivnih Web strana na strani klijenta za sta se koriste aplikacije koje se pozivaju na Web strani (Java apleti, Flash), script jezici (JavaScript) i okruzenja za programiranje klijentske strane (frameworks) kao sto su jezici ReactJS i AngularJS.
Postoji i Server-Side programming sta se koriste tehnologije koje koriste spoljne programe za generisanje HTML strane: GCI, Java servleti, zatim skript jezici (PHP,Ruby,Pyhton,Node.js,JavaScrip) i okruzenja za programiranje klijentske strane (Rails(Ruby), Django(Pyhton) itd…).
Za opis servera koriste se jezici kao sto su WSDL i SOAP.
HTML
HyperText Markup Language je osnovni jezik za predstavljanje dokumenata na Web-u i prenosi se putem http-a, tj HyperText Transfer Protocola. Ima ulogu da opisuje sadrzaj i strukturu web strane. Osnovna formatiranja se mogu ugraditi u HTML dok se za napredna formatiranja koriste CSS fajlovi. Web strana cita HTML dokument i na osnovu CSS-a kreira prikaz
HTML fajl opisuje dokument koriscenjem HTML tagova koji su ugnjezdeni jedan u drugi i primeri HTML tagova su npr <h1></h1> za definiciju naslova i podnaslova, <p></p> za paragrafe itd.
CSS
Cascading Style Sheet je skup pravila pomocu kojih se definisu raspored i izgled stranice. CSS se moze pisati i u okviru HTML fajlova, medjutim dobra praksa je pisati CSS i HTML u odvojenim fajlovima zbog lakseg azuriranja. Izgled HTML dokumenta se u CSS-u deifnise na sledeci nacin ImeElementa {atribut1:vrednost1;atribut2;vrednost2;}
Npr h1 {color=red;font-size:16px;}
XML
Extensible Markup Language ima istu strukturu kao HTML, jedino nema predefinisani skup tagova, tj. tagovi se mogu definisati potpuno proizvoljno. Sluzi uglavnom za razmenu podataka izmedju aplikacija koje se izvrsavaju nad razlicitim platformama. Jedan XML dokument se sastoji od tagova i podataka.
Za obradu XML-a koriste se:
- DOM (Document Object Model) koji ucitava ceo dokument u memoriju i cuva ga u obliku stabla Prednosti su sto se lako manipulise njime a nedostaci su veliki utrosak memorije i ucitavanje dokumenata je znatno sporije.
- SAX (Simple API for XML) koji je baziran na event-trigger-and-handling principu. Sax parser cita dokument i generise dogadjaje tipa startDocument, endDocument, startElement, endElement… Prednosti su sto je veoma brz i ne trosi puno memorije a nedostatak je sto sluzi samo za citanje XML dokumenata.
DTD i XML-Schema sluze samo za definisanje strukture XML dokumenta.
Java apleti
Java apleti su kratki programi koji se izvrsavaju na Web stranici. Prve dinamicke veb stranice su kreirane uz pomoc apleta, a danas se oni koriste za kreiranje virtuelnih laboratorija. Od servera do klijenta prenosi se byte-code apleta, odnosno .class fajl.
Ugradnja apleta u veb stranicu se vrsi pomocu taga !applet!, npr. !applet atributi! [parametri] [alternativni sadrzaj] !/applet!
Polje sa atributima sadrzi ime .class fajla,dimenzije apleta,opciono put do .class fajla.
Polje sa parametrima sadrzi argumente koje prosledjujemo apletu pri pokretanju, tj ulazne podatke za aplet.
Polje za alternativni sadrzaj sluzi za pretrazivace koji nemaju podrsku za javu, moze da stoji neko upozorenje.
Aplet je bilo koja klasa koja nasledjuje klasu Applet. Klasa applet je definisana u okviru paketa java.applet koju je neophodno ukljuciti. improt java.applet.*; public class MojaKlasa extends Applet {...}
ActiveX kontrole
ActiveX je Microsoftova tehnologija za izradu malih komponenti u okviru veb strane. To nije programski jezik vec mnostvo integrisanih objekata napisanih na razlictim jezicima u Windowsovom okruzenju.
ActiveX objekti omogucavaju dodavanje programa veb stranici za resavanje mnostvo zadataka, od prikaza teksta do prepoznavanja glasa.
ActiveX kontrole mogu biti izvrsavane samo na Windows operativnim sistemima i ActiveX objekti nisu bezbedni jer moraju da se nalaze na korisnikovom disku, pa mogu uneti virus i ostetiti ili unistite podatke na njemu. Ako korisnik poseti stranicu koja koristi ActiveX objekat a nema ga na disku, Web server ce pokusati da ga posalje na korisnikov raucnar.
JavaScript i skripte u HTML-u
JavaScript je programski jezik koji je nastao za programiranje klijentske strane veb aplikacije. Njegove osobine su da je interpretatorski jezik, objektno-orijentisani jezik, podrzava neke elemente funkcionalnog programiranja, dinamicki je i slabo tipizarn.
Skripte predstavljaju kratke parcice koda koji se umecu u HTML, medjutim ako je kod koji treba umetnuti glomazan, implementacija se pise u .js fajlovima, a u HTML-u se samo poziva
Staticke i dinamicke web strane
Staticke su uskladistene na strani veb servera i isporucuju se na zahtev korisnika
Dinamicke se generisu na strani veb servera i odmah salju korisniku (ne skladiste se)
CGI Programi
Common Gateway Interface (CGI) programi su najstarija tehnologija za serversko programiranje. CGI omogucava web serverima da pokrecu zahtevne programe koji ce generisati odgovor na HTTP zahteve.
CGI programi mogu biti implementirani u proizvoljnom programskom jeziku. Oni citaju podatke sa svog standardnog ulaza i ispisuju podatke na svoj standardni izlaz. Po pristizanju zahteva, web server pokrece CGI program i na njegov standardni ulaz upisuje ulazne podatke. Po zavrsetku programa, preuzima rezultate CGI programa sa njegovog standardnog izlaza i salje ih klijentu. Najcesce se koristi jezik Perl
Java servleti
Po nacinu rada su vrlo slicni CGI programima – nezavisni programi koji se izvrsavaju na serveru i generisu rezultujuce stranice. Za njihovu implementaciju se koristi iskljucivo jezik Java.
Kreiranje HTML stranica koriscenjemn serverskih skript jezika
Na serveru su uskladisteni dokumenti koji predstavljaju mesavinu html koda i skripti koje sluze za generisanje stvarnih HTML dokumenata. Ugradnja moze biti u okviru HTML koda ili u eksternom fajlu.
Web servisi
Aplikacija smestena na nekom web serveru koja moze da se pozove sa razlicitih klijenata.
Web servisi mogu da se javno objave na jedinstvenoj lokaciji gde se nude kao usluge. UDDI je centralizovana lokacija koja obezbedjuje mehanizam za registrovanje i pronalazenje veb servisa. Takodje, veb servisi mogu biti i lokalni.
Jezici koji se koriste za rad sa veb servisima su WSDL (zasnovan na XML-u, sluzi da opise kako se koristi web servis) i SOAP (protokol za razmenu poruka – definise format zaheva i format odgovora) .