DHTML

   Dinamicki HTML, ili DHTML, samim naslovom govori da se tu radi o nekakvoj dinamici, kretanju, promenama i jos svacim necim sto nema nikakve veze sa mirovanjem, ili staticnim stanjem. I odmah da znate, potreba za takvim necim se nije ukazala radi video igrica i slicne zabave, nego radi krajnje ozbiljnih poslovnih stvari. Tako, na primer, u nekoj web prezentaciji putnickog aerodroma imate stalne promene sadrzaja, iz minuta u minut, koji avion upravo slece i od kuda stize, kao i obavesti o izlaznim peronima gde ce koji putnici izaci, ili se drugi ukrcati za taj i taj let, itd. Slicne stvari se obavljaju i na Internet izvestajima sa neke poslovne berze, rezultatima konjskih trka i stanju na kladionicama, i da ne nabrajamo sve te primere dalje. Osim Interneta, treba imati na umu i lokalne mreze kompanija gde se takodje koristi isti nacin razmene informacija, sa istim ovim browserima kojima i mi surfamo planetarnom mrezom. Tu su izmene sadrzaja HTML dokumenata neprekidne. Tek nakon svih tih potreba, dolazi onda na red i to sto su ta resenja iskoristena i za neke stvari umetnicke ili zabavne prirode, kako obicno i biva kad nam se nesto tome prigodno nadje na raspolaganju za izmisljanje neposlovnih kvaka i burgija, sa istim stvarima.
   Za sada je za kreiranje DHTML sadrzaja realizovano sest opcija. To su, Client Pull i Server Push nacini za izvodjenje radnji DHTML-a, a koji koriste Visual Basic Script, ActiveX, Java i JavaScript programske platforme, koje ce u sazetim opisima biti ovim redosledom i pojasnjene u izlaganju koje sledi. Kad se kaze "programska platforma" misli se na neki od kompjuterskih jezika kojima su napisani dodatni programi koji izvode te DHTML promene.

   Client Pull je nacin rada DHTML-a, zasnovan na resenjima da se u sadrzaju primljenog web dokumenta nalaze tag komande koje ce browseru narediti "prikazi ove podatke nakon 15 sec" ili "ucitaj ovaj URL sadrzaj nakon 9 sekundi" ili "ne prikazuj ovo vise nakon 0,5 sekundi prikazivanja" itd. Time se omogucio razlicit vremenski redosled prikazivanja delova sadrzaja, pa je naizmenicnim smenjivanjem mesta i vremena prikaza, poput animiranog gif-a, moguce proizvesti dojam kretanja teksta i objekata. To ste vec imali prilike gledati u raznim web prezentacijama gde je uz HTML pridodan i neki Java Script ili Java Applets. Dakle, Client Pull nije program kojim se to radi, nego samo naziv za nacin gde se sve to dogadja pomocu klijentovog, tacnije, vaseg kompjutera, pomocu sadrzaja kojeg ste primili sa ucitanim web dokumentom. To znaci i da veza izmedju servera i klijenta nije stalna, nego server isporuci klijentu web dokument sa raznim programskim podatcima, nakon cega se dalja veza prekida, a DHTML funkcije se obavljaju kompjuterom klijenta. Tada je moguce i povremeno ponovno uspostavljanje veze sa serverom, radi preuzimanja jos nekih programskih podataka, onako kako je to DHTML sadrzajem odredjeno, pa se veza opet prekida, a PC klijenta nastavlja sa daljom samostalnom realizacijom DHTML-a.
   Server Push platforma DHTML rada je, nasuprot prethodnoj, zasnovana na stalnoj vezi izmedju servera i klijenta, pri cemu i server vrsi izmene podataka za prikaz. Ova veza se prekida tek kada klijent odluci da ode na neku drugu adresu ili se iskljuci iz mreze. Zbog principa stalne veze, Server Push platforma je poznata i kao radna platforma koju rado koriste hackeri za neovlasteno vrsljanje po tudjim PC arhivama, sluzeci se tim pogodnostima neprekidne veze. Jer, kako ce vam neko upasti u telefonski razgovor, ako vam je slusalica spustena i vi uopste ni ne razgovarate s nekim, pa niste ni ukljuceni u mrezu. Tako ni hackeri nemaju nikakve sanse kod predhodno navedenog Client Pull nacina, jer browseri automatski prekidaju vezu sa serverom cim ucitaju sav web sadrzaj, a to je isto kao da ste spustili telefonsku slusalicu. Nakon toga vi sa svojim kompjuterom razgledate primljeni sadrzaj bez necijeg vanjskog ucesca i kontakta. Zato se treba paziti pri koristenju ovog drugog Server Push nacina, a koji je naziv za stalnu vezu izmedju vaseg kompa i nekog servera. Verovatno vam je vec poznato tzv. chatanje pomocu ICQ, mIRC ili nekih drugih chat programcica za tu namenu, a to je upravo Server Push princip stalne otvorene veze vaseg kompjutera sa serverom na kojem je program za chatanje, a kojim vas on zapravo spaja i odrzava u vezi sa vise kompjutera od drugih ucesnika, praveci na taj nacin tzv. chat sobu za "razgovor". Naravno, isto tako server moze da odrzava stalnu vezu i sa samo jednim klijentom, zavisno o cemu se radi. To je znaci Server push platforma rada.
   Visual Basic Script je nacin promenljive dinamike prikaza koju je uveo Microsoft u svoj Internet Explorer browser, pocevsi od verzije 3.0, a zasnovan je na Microsoftovom Visual Basic programskom jeziku koji navedeni browser "razume" i izvrsava, tako da je time primena Server push platforme postala nepotrebna, pa nakon prihvacenog paketa podataka veza se prekida i sve DHTML radnje se desavaju posredstvom klijentovog kompjutera. U sprezi sa tzv. Active X kontrolama od istog proizvodjaca software-a, Visual basic Script je omogucio skoro neogranicenu primenu dinamike u web dizajnu i prezentiranju promenljivih stanja unutar jednog te istog dokumenta. Nazalost, kako je to sve samo konkurentski odgovor na Netscape-ov Java Scripts, tako i efekti Visual Basic Script-a i Active X kontrola nemaju podrsku i u Netscape browserima, iako je Microsoft uveo podrsku u svoje browsere i za ta Netscape Java Scripts resenja. Visual Basic Script se u HTML dokumentu navodi i oznacava isto kao i Java Script, s tim sto se kao parametar za language navede VBS, a ne JavaScript. No, o tome ce biti detaljnije na kraju ovog izlaganja.
  Active X control su dodatak koji je uveden sa Visual Basic Script-om, a kojima je omoguceno izvrsavanje skoro svake aplikacije (programa) za Windows OS platformu unutar IE browsera. Kao sto je vec receno, Netscape browseri ni ovo ne podrzavaju. Uz to, MS-Windows operativni sistem nije primenjem u svim kompjuterima (MacIntosh npr.) tako da se pomenuta Microsoft-ova unapredjenja jos uvek retko primenjuju u Internet web dizajnu, dok punu primenu imaju u internim mrezama firmi koje su za svoj lokalni operativni sistem izabrale MS-Windows platformu mreze.
   Java je programerski jezik, osmisljen u korporaciji SUN, a namenjen je prvenstveno programiranju za Internet. Njime se kreiraju tzv. Java Applets, koji su zapravo kratki programcici koji se upakuju u poseban dokument-fajl koji ima svoju obaveznu  *.class extenziju i poziva se parametrima u applet tagu iz html dokumenta na izvrsenje svojih funkcija u browseru, a koji to onda i prikaze. Na kraju ovoga izlaganja imate link za malu Java Aplets galeriju, gde su vam pripremljeni neki apleti sa kojima se mozete obuciti u podesavanju applets parametara i koristenju istih. Do Java galerije ovde dolazite putem knjige Pokloni, kod deda Milojka..
   Java Script je takodje programerski jezik namenjen Internet programiranju, a razvijen je od strane Netscape-a i samo naslovom podseca na SUN-ovu Javu sa kojom ima malo sta zajednicko. Za razliku od Java Applets koji idu kao zaseban dokument, kratki programi Java Script-a se mogu upisati unutar HTML sadrzaja, a ako im je obim veci, mogu se isto tako izvesti i kao zaseban fajl, koji onda ima obaveznu *.js ekstenziju i poziva se na izvrsenje, kao i Java Applet, odgovarajucim tagom iz HTML-a gde se kao language parametar navodi JavaScript. Kako izgleda taj tag poziv, mozete videti u primerima koji su vam pripremljeni u gore pomenutoj Java galeriji kao Java Scripts
   Sto se tice objasnjavanja bilo kojeg od navedenih programskih jezika, to bi zahtevalo daleko veci obim pisanja nego za HTML i svaki je prica za sebe. No, to vam ionako nije uslov da bi se koristili vec gotovim resenjima sa Java Applets i Java Scripts, kojih na hiljade mozete naci na Internetu. Osim toga, kao sto za HTML imate edit-generator programe koji vam automatski kreiraju HTML kod, prema vasem slaganju elemenata na radnu povrsinu editora, tako i za Java Applets ili Java Script imate isto tako programe koji vam na slican nacin obavljaju uslugu vrhunskog programera. Jedan takav program mozete sebi skinuti ovde u rubrici Pokloni, a njime sebi kreirate onu cudnovatu promenljivu dugmad (buttons) koja obicno stoje u menijima mnogih homepage stranica, poput ovih levo.

    Nakon ovoga navedenog, na red dolazi vas susret sa programima koji stoje na serveru i kojima se obavljaju slozenije DHTML funkcije, a poznati su kao CGI posrednici, pa kako time ne spadaju u resor web dizajnera, nego klijent-server programera i mreznih administratora, njihov opis i namena je izdvojena u posebno poglavlje, koje sledi levo, pod naslovom CGI, jer je neophodno da znate i neke osnove iz njihove primene u izvodjenju DHTML-a.

   Na kraju, kao sto je i obicaj u ovim izlaganjima, nesto trik uputstava za vas put ka majstorstvu. Pre, ili kasnije, pozelet cete da vidite i sadrzaj tih famoznih class i js fajlova od  java apleta i java skripti. Tada, jednostavno markirajte klikom taj fajl u boju, onda pritisnite Shift taster (za veliko slovo) i drzite ga tako, pa na isti fajl ponovo kliknite, ali tada sa desnim tasterom misha. U tako dobijenoj menu listi izaberite opciju Open With i dobit cete prozor za izbor programa sa kojim zelite taj fajl otvoriti. Pronadjite tu Notepad (Editor) ili WordPad (niposto MS-Word 6/7) i izaberite jedan od ta dva tekst editora. Nakon toga sve ce ubrzo biti pred vasim ocima. UPOZORENJE: pre toga pazite da vam u ponudi za izbor programa ne bude ukljucena opcija za stalno otvaranje sa izabranim programom. Ako je u kvadraticu dole levo kvakica, izbrisite je klikom. Kad tako otvorite sadrzaj fajla, onda mu mozete i prepravljati taj sadrzaj i na kraju mu memorisati te izmene sa Save. Naravno, pod uslovom da ste vremenom vec dovoljno ovladali prepoznavanjem pojedinih stvari u kodovima, pa znate sta radite. A, da bi do toga stigli, jedini nacin vam je bas takvo eksperimentisanje. Ako vam se nekada desi da ne mozete sa Save komandom upisati izmene u otvoreni fajl, nego vam Windows ponudi da ga sa Save As upisete kao neki novi, to je zato sto je fajl zasticen, pa u takvom slucaju kliknite na njega desnim tasterom i u tada dobijenoj listi na Properties, pa u dijalog prozoru odstranite kvakicu za zastitu. Eksperimentisite uvek samo na kopiji fajla i ostaloga, jer kad pogresite, najcesce se zaboravi stanje pre intervencije, pa je fajl sa greskom za dalje beskoristan. A te greske su vam neophodne, jer se na njima najbolje uci.

Radovanovic Dragan