Site Www de Prezentare
CUPRINS
PARTEA I
PAGINILE WEB………………………………………………9
Cap. 1 O IMAGINE GENERALĂ A SISTEMULUI WEB………………9
Ce este multimedia ?……………………………………………….11
Cap. 2 STRUCTURA SITE-ULUI………………………………………..13
Cap. 3 FOLOSIREA PROGRAMELOR DE IMAGINI PENTRU WEB…………………………………………………………………………16
3.1. Folosirea programului Photoshop 5.5……………………………….17
3.1.1. Prelucrarea imaginilor…………………………………………17
3.1.2. Butoanele………………………………………………………20
3.2. Elementele HTML folosite în realizarea paginilor Web……………21
3.2.1. Folosirea programului Dreamweaver 3.0……………………..23
PARTEA A II-A
JAVA ÎN INTERNET………………………………………..26
Cap. 4 UNIVERSUL INTERNET……………………………………….……26
4.1. Ce este internetul ?……………………………………………………26
4.2. Ce este Java ?…………………………………………………………27
4.3. Originile limbajului Java…………………………………………….30
Cap. 5 CE POATE SĂ FACĂ JAVA……………………………………..31
5.1. Animație………………………………………………………………31
5.2. Interacțiune……………………………………………………………31
5.3. Interactivitate și calcul……………………………………………….32
5.4. Aplicații distribuite……………………………………………………32
5.5. Comunicare……………………………………………………………33
5.6. Aplicații și proceduri de manipulare (handlers)……………………33
Cap.6 O IMAGINE TEHNICĂ A LIMBAJULUI JAVA……………….36
6.1. Construcția limbajului Java…………………………………………36
6.2. Java în acțiune…………………………………………………………37
6.3. Caracteristicle limbajului Java………………………………………38
6.4. Ce înseamnă conținut executabil…………………………………….44
6.5. Animația în Java………………………………………………………45
Cap. 7 UN PROGRAM SIMPLU…………………………………………47
BIBLIOGRAFIE……………………………………………..51
=== PROIECT ===
CUPRINS
PARTEA I
PAGINILE WEB………………………………………………9
Cap. 1 O IMAGINE GENERALĂ A SISTEMULUI WEB………………9
Ce este multimedia ?……………………………………………….11
Cap. 2 STRUCTURA SITE-ULUI………………………………………..13
Cap. 3 FOLOSIREA PROGRAMELOR DE IMAGINI PENTRU WEB…………………………………………………………………………16
3.1. Folosirea programului Photoshop 5.5……………………………….17
3.1.1. Prelucrarea imaginilor…………………………………………17
3.1.2. Butoanele………………………………………………………20
3.2. Elementele HTML folosite în realizarea paginilor Web……………21
3.2.1. Folosirea programului Dreamweaver 3.0……………………..23
PARTEA A II-A
JAVA ÎN INTERNET………………………………………..26
Cap. 4 UNIVERSUL INTERNET……………………………………….……26
4.1. Ce este internetul ?……………………………………………………26
4.2. Ce este Java ?…………………………………………………………27
4.3. Originile limbajului Java…………………………………………….30
Cap. 5 CE POATE SĂ FACĂ JAVA……………………………………..31
5.1. Animație………………………………………………………………31
5.2. Interacțiune……………………………………………………………31
5.3. Interactivitate și calcul……………………………………………….32
5.4. Aplicații distribuite……………………………………………………32
5.5. Comunicare……………………………………………………………33
5.6. Aplicații și proceduri de manipulare (handlers)……………………33
Cap.6 O IMAGINE TEHNICĂ A LIMBAJULUI JAVA……………….36
6.1. Construcția limbajului Java…………………………………………36
6.2. Java în acțiune…………………………………………………………37
6.3. Caracteristicle limbajului Java………………………………………38
6.4. Ce înseamnă conținut executabil…………………………………….44
6.5. Animația în Java………………………………………………………45
Cap. 7 UN PROGRAM SIMPLU…………………………………………47
BIBLIOGRAFIE……………………………………………..51
SINTEZA LUCRĂRII
Lucrarea de față își propune să prezinte rolul pe care îl au paginile Web, precum și applet-urile Java în Universul Internet. Desigur că tema abordată neceistă o dezbatre mult mai amplă. Dar, lucrarea se rezumă la informațiile de bază strict necesare pentru realizarea unui site Web, care să funcționeze pe Internet și să poată fi accesta de cât mai mulți utilizatori.
Pentru a nu se face confuzia între Web și Java, lucrarea a fost împărțită în două părți.
Prima parte conține informații referitoare la partea teoretică folosită la realizarea unui site WEB de prezentare a Facultății de Management în Producție și Transporturi din cadrul Universității “Politehnica” Timișoara, precum și modul de realizare al site-ului. În cadrul sitelui se prezintă date privind colectivul facultății, informații despre studenții actuali și absolvenții anilor anteriori, precum și cooperările existente ale cadrelor didactice cu alte universități și firme din țară și străinătate.
Proiectul își propune realizarea unei structuri de prezentare riguros organizate care să permită o ușoară adaptare la dezvoltări ulterioare, precum și ghidarea intuitivă și rapidă a vizitatorilor acestui site.
Spre deosebire de vechiul site, lucrarea de față aduce mai multe informații referitoare la cadrele didactice, un sistem de navigare îmbunătățit ca funcționare și ușurință de utilizare, precum și mai multe imagini specifice.
Ceea ce s-a preluat de la vechiul site sunt informații referitoare la cooperarea cu alte instituții și ideea prezentării datelor despre Biroul Executiv al facultății și Consiliului profesoral.
Ca și viitoare posibile dezvoltări ale site-ului sunt de menționat:
prezentarea laboratoarelor din cadrul facultății cu dotarea existentă și perspective viitoare pentru noi dotări sau creerea de noi laboratoare,
realizarea unei alte pagini în cadrul siteului care să prezinte disciplinele care se studiază în cadrul acestei facultăți precum și structura acestor discipline pe ore de curs, seminar, laborator și proiect,
corelarea la nivel de prezentare cu structurile folosite la celelalte departamente ale Facultății de Electronică și Telecomunicații,
realizarea unei baze de date cu căutare pentru personal și studenți.
Partea a doua își propune să prezinte concis unde, când, cum și de ce a apărut Java în lumea limbajelor de programare, precum și noutățile pe care le aduce, oferind largi perspective programatorilor pentru lucrul cu rețele dar și pentru progamele de casă.
PARTEA I
PAGINILE WEB
1.
O IMAGINE GENERALĂ A SISTEMULUI WEB
Sistemul World Wide Web a fost dezvoltat inițial pentru a rezolva cererile de informațiii ale cercetătorilor din domeniul fizicii energiilor înalte. Astăzi, World Wide Web oferă un sistem de distribuire locală sau globală a informațiilor hipermedia. Din punc de vedere tehnic sistemul World Wide Web pune la dispoziție un sistem global de comunicare multimedia. Informațiile sunt organizate asociativ și sunt distribuite în funcție de cererile utilizatorilor.
În ciuda creșterii rapide și a dezvoltării tehnice, sistemul Web din prezent are aceleași componente funcționale ca și varianta din 1990. Totuși, popularitatea sistemului ca mod de afișare a informațiilor din Internet a îngreunat înțelegerea acestui sistem care uneori este confundat chiar cu rețeaua Internet, pe când programele de tip browser sunt confundate cu însuși sitemul Web, în loc să fie văzute ca un mod de afișare a informațiilor din acesta. Web este un sistem foarte distinct față de Internet și de programele de tip browser. În primul rând, Web nu este o rețea, ci un sistem de aplicații (un set de programe). În al doilea rând, sistemul World Wide Web poate fi instalat pe diferite tipuri de rețele (care nu trebuie neapărat să facă parte din Internet) și, mai mult decât atât, poate fi folosit pe calculatoare neconectate la rețea, sau rețele locale independente.
O metaforă a sistemului Web
Imaginați-vă o bibliotecă în care au fost scoase cotoarele de la toate cărțile și unde nu există gravitație, permițând paginilor să plutească liber. Dacă paginile ar putea fi legate una de cealaltă prin fire foarte subțiri, s-ar obține ceva asemănător modului în care sunt aranjate paginile de hipertext. Paginile plutesc liber, așa că utilizatorii pot folosi o lucrare începând cu orice pagină și pot ajunge la alte lucrări mergând pe firele care le leagă.
Definiție
World Wide Web este un sistem de comunicare și informații hipertext folosit, în general, în rețeaua internet și care funcționează prin comunicare de date pe baza unui model client-server. Clienții Web (programele de tip browser) au acces la informații hipermedia (informațiile multimedia – imagini, grafică, sunete și secvențe video – integrate în hipertext) și multiprotocol.
Fig. 1.1. Organizarea tehnică a sistemului Web
Ce este multimedia ?
În forma cea mai simplă multimedia este o aplicație sau o prezentare bazată pe calculator care combină două sau mai multe din următoarele elemente:
text
sunet și muzică înregistrate
imagini statice
imagini video
animație
Aplicațiile multimedia pot fi simple, cum este adăugarea de facilități pentru sunete la un anumit calculator, pot fi statice, de exemplu un ziar afișat pe ecran. Dar cele mai moderne aplicații multimedia sunt interactive.
Textul este liantul care ține la un loc mai multe prezentări multimedia.
Multimedia a reușit să reducă dependența noastră de text pentru o anumită prezentare: în loc să folosim o mie de cuvinte pentru a descrie ceva, putem folosi doar câteva cuvinte pentru a prezenta pe scurt un clip video sau un tablou static care să prezinte subiectul respectiv așa cum este în realitate. Dar unele aplicații multimedia se bazează foarte mult pe cuvinte.[3]
Prin imagine se înțelege un tablou static. În aplicațiile multimedia, tabloul respectiv poate fi orice, de la o fotografie color și până la diagrame sau chiar figuri stilizate sau geometrice. Deși aproape la fel de demodate ca și textul, niște imagini bine folosite pot fi instructive și chiar generatoare de idei.
Filmele video reprezintă conversia mediilor familiare (imaginile de televiziune sau de film) într-o fomră pe care calculatorul o poate reda. Filmele video din aplicațiile multimedia sunt “live”, adică sunt imagini în mișcare captate cu un tip oarecare de cameră de filmat.
Animația în aplicațiile multimedia constă de regulă din desne sau alte imagini statice, altele decât fotografiile, redate în succesiuni rapide, pentru a crea iluzia mișcării.
Animația este într-un fel similară cu filmul video. Amândouă include o serie de imagini statice derulate în succesiune rapidă pentru a reda mișcarea. O deosebire importantă se referă mai mult la modul în care sunt create decât la modul în care funcționează. Filmul video prezintă lucrurile în “timp real”, adică le prezintă așa cum au loc în viața reală, ca în cazul unei persoane prezentată în timp ce se plimbă pe stradă sau în cazul unei curse de ciclism în plină desfășurare. În aceste cazuri se folosește o cameră video pentru a înregistra filme video. Animația începe cu desene sau imagini, altele decât fotografiile, care sunt combinate sub formă de animație prin folosirea unui proces oarecum diferit.
Muzica este adesea o parte intrinsecă a aplicațiilor multimedia, împreună cu cuvintele rostite și efectele de sunet.
La fel ca și textul, sunetul joacă frecvent un rol de suport pentru alte medii. Sunetul servește adesea în aplicațiile multimedia și altor două scopuri: povestirea și muzica de fundal.
2.
STRUCTURA SITE-ULUI
Este un site general al facultății de Management și Producție în Transporturi realizat în română și engleză, cu link din pagina generală a Universității Politehnica Timișoara.
Fig . 2.1.
Vom prezenta succint conținutul fiecărei pagini:
Home
– pagina principală de meniu și conține linkuri la alte pagini și site-uri.
Fig. 2.2.
Istorie
– informații cu privire la înființarea Facultății.
Fig. 2.3.
Conducere
– date privind Biroul Executiv, Consiliul profesoral.
Regulamente
– regulile interne ale facultății și regulamente UPT.
Activitate internațională
– informații cu privire la legăturile cu universități internaționale, proiecte, granturi.
Speiclaizări
– date despre toate specializările pentru toate formele de învățământ.
Catedre
– date generale pentru fiecare departament, activitate generală.
Conferințe și evenimente
– anunțuri de conferințe și alte evenimente organizate de facultate sau cu participarea facultății.
Personal
– bază de informații cu numele profesorilor tuturor catedrelor.
Studenți
– studenț7i eminenți
News
– știri de orice tip cu link-uri la motoare de căutare.
Alte activități
– date cu privire la alte activități în care sunt implicați profesori și studenți.
Admitere
– date despre admitere pentru toate formele și link la admitere UPT
3.
FOLOSIREA PROGRAMELOR DE IMAGINI PENTRU REALIZAREA PAGINILOR WEB
Adobe Photoshop 5.5
Este un program pentru prelucrări de imagine și grafică de tip raster, produs de firma Adobe și a fost folosit la prelucrarea imaginilor și la realizarea unei părți din grafica site-ului.
Notepad
Este un utilitar ce se găsește în pachetul Windows produs de Microsoft și a fost folosit la introducerea codului sursă HTML, ASP și Java Script.
GifAnimator
Este un program cu ajutorul căruia se pot realiza gifuri animate și a fost utilizat pentru crearea unor texte dinamice.
Dreamweaver
Este un program cu care se pot realiza pagini Web și care scrie tag-urile HTML în mod automat.
Internet Explorer
Este un browser creat de firma Microsoft cu ajutorul căruia se poate naviga în tot sistemul World Wide Web.
3.1. Folosirea programului Photoshop
Imaginile folosite în pagina Web au fost prelucrate cu programul Photoshop 5.5, program specializat în editarea imaginilor de tip raster (bitmap). Grafica raster este în esență o grafică de procesare, prin care grupuri de pixeli dintr-o matrice inițială își schimbă succesiv culoarea până c6and imaginea în ansamblu reprezintă ceea ce a dorit artistul. Dacă într-o imagine raster trasăm o linie oarecare, o parte din pixelii imaginii vor fi modificați, căpătând noi valori RGB corespunzătoare culorii liniei respective. Valorile vechi se vor pierde, iar o eventuală ștergere a liniei nu va putea revela imaginea anterioară.[2]
3.1.1. Prelucrarea imaginilor
Se va prezenta în continuare spre exemplificare cum s-a obținut imaginea avion.gif folosită în banner-ul site-ului aproape în fiecare pagină.
În primul rând trebuie cunoscută dimensiunea și rezoluția pozei dorite. Pentru publicări pe Internet se folosesc în general rezoluții de 72 ppi (pixeli/inch). Acesta este folosită și pentru poza analizată. Poza finală trebuie să aibă dimensiunile 125×86 pixeli.
Pentru obținearea acestei poze s-au parcurs următoarele etape:
Captarea imaginii
Poza inițială a avut rezoluția 72ppi și dimensiunile 510×341 ppi ocupând 510 kb in format jpg:
Fig. 3.1.
Modificarea dimensiunilor imaginii
Imaginea obținută anterior va trebui adusă la dimensiunile finale de 125×86. Deoarece se vor mai aplica niște efecte pentru aplatizarea muchilor, efecte prin care imaginea se va mai extinde puțin ca și dimensiuni, în această etapă s-a obținut o imagine de dimesiuni 121×83 prin comanda image size din meniul Image al programului Photoshop. Este suficentă specificarea doar a unei dimensiuni și dacă opțiunea constrain proportions este activată, a doua dimensiune va fi calculată în mod automat de către program.
Fig. 3.2.
Mutarea imaginii într-un document final
Pentru această operație am creat un nou fișier din meniul File/New în care am adus cu ajutorul comenzilor de copiere (Copy) și lipire (Paste) din meniul Edit imaginea dorită. În acest nou fișier se va crea structura virtuală a paginii HTML.
Fig. 3.3.
Aplatizarea contururilor
Un procedeu adesea folosit în grafică îl reprezintă realizarea unei treceri lente de la imagine la fundal prin aplatizarea muchiilor. Procedeul folosit la realizarea imaginii finale constă în mai multe etape:
crearea unei noi imagini având ca fundal culoarea către care se dorește degradarea muchiilor. Pentru aceasta s-a selectat culoarea de fundal R: 230, G: 230, B:230 existentă în imaginea final.psd care este folosită ca background al prezentării.
aducearea vechii imaginii pe noul fundal și aplicarea efectului de aplatizare a conturului. Pentru a aplica efectul:
se selectează imaginea existentă prin ctrl + click pe stratul (layerul) respectiv
se selectează o porțiune de 3 pixeli lățime pe marginea imaginii folosind comanda Border din meniul Select/Modify. Se observă acum de ce s-a ales lățimea provizorie a imaginii de 194 (194+3+3=200). Pentru aplicarea efectului de estompare a marginii selectate se apelează la comanda Gaussian Blur ce se găsește în meniul Filter/Blur cu parametrul radius având valoarea 100
din imaginea astfel obținută se taie utilizând comanda crop o porțiune de 200×150 pixeli incluzând astfel și o parte din marginea estompată.
Prin acest mecanism relativ simplu se poate obține o imagine mai atractivă.
3.1.2. Butoanele
S-au utilizat mai multe tipuri de butoane:
Imagini cu proprietăți de butoane
Butoane cu text
Imagini cu proprietăți de butoane
Pentru selectarea unor pagini, sau chiar a limbii în care se dorește vizualizarea paginii, s-au creat iconițe cu proprietăți de imagini la activarea cărora se efectuează deplasarea la pagina sugerată.
Butoane cu text
Este cazul butoanelor precum:
POZE CU BUTOANE
Aceste butoane permit comutarea între diverse pagini având nume sugestive. Aceste butoane de navigare sunt niște fișiere gif obținute prin exportare din programul Photoshop unde au fost create.
POZA CU EXPORTURI
Pentru obținerea efectului de rollOver image au fost create imagini distincte pentru fiecare stare a butonului, astfel că s-au obținut imagini pentru starea mouseOver a butonului (când cursorul mouse-ului se află deasupra butonului).
3.2. Elementele HTML folosite în realizarea paginii Web
Titlul documentului se semnalează prin marcajul <TITLE>…</TITLE>. Orice baliză este încadrată de două semne, și anume “<” și “>”. Majoritatea balizelor din HTML sunt perechi și între ele se scriu alte comenzi pentru proiectarea paginii.
De exemplu: <TITLE> și </TITLE>, <BODY> și </BODY >.
OBSERVAȚIE: Denumirile balizelor se pot scrie și cu litere mici.
Marcajul HTML încadrează documentul în sine din punct de vedere logic, iar marcajele head și body îl divizează în cele două părți ale sale. Mărimea fontului care se utilizează în pagină se programează prin marcajele h1, h2 etc.
Dacă se dorește un nou paragraf în pagina Web, nu se tastează tasta Enter, ca în editoarele de texte, ci se scrie baliza <P>.
Pentru a puncta sau adresa alte documente din spațiul Web trebuie să se realizeze un marcaj care să aibă următoarele părți componente (atribute):
<A HREF=locație>cuvinte_cheie</A>.
A este inițiala cuvântului anchor, ancoră. HREF înseamnă hyperlink reference, deci legătura din spațiul acesta neliniar al documentelor. Unii îl mai numesc și cyberspace. Prin locație înțelegem adresa în stil URL. Marcajul se termină cu baliza </A>.
Se pot efectua legături chiar în cadrul aceluiași document (fișier) și între diversele fișiere locale (fișiere situate într-unul din discurile stației de la care se lucrează).
HTML poate comanda inserția unei serii întregi de obiecte multimedia. Pentru imagini, programele de tip Netscape operează (înțeleg) formatele următoare: GIF87, GIF89 (generalized interleaved format ultimul redă și imagini animate, extensie .gif), xbm (extended bit mapped, mapă de biți, extensie .xbm). Aceste 2 formate pot fi redate de browser-ul însuși. Alte formate pentru imagini pot fi redate cu ajutorul unei terțe aplicații (așa-zisa helper application); aici întâlnim o varietate de formate: JPEG (join photographic expert group, extensii .jpg, .jpe sau .jpeg), TIFF ETC. Pentru filme, Netscape recunoaște și redă cu ajutorul terților formatele: MPEG (movie pictures expert group, extensii .mpg, .mpe sau .mpeg, Video for Windows, Movie Player, MPEGPLAY sau MPEG2PLY), qt (quicktime, inclusiv cel pentru realitatea virtuală, qtvrw, extensii: .qt sau .mov). Pentru sunete, în mod similar menționăm: AU, AIFF, AVI (audio-video interleaved, extensii .au, .aif sau .avi).
Baliza pentru inserția unei imagini este:
<IMG SRC = “imaginea sau adresa – URL” atribute>
HTML permite definirea tabelului printr-o seamă de marcaje. Tabelul se anunță prin marcajul table. Antetul său prin marcajul th, fiecare rând al tabelului se anunță printr-un marcaj tr și, în fine, fiecare celulă a sa prin marcajul td. O descriere sintactică a tabelului este redată cu lux de amănunte mai jos:
<TABLE BORDER = număr_de_pixeli_ai_chenarului>
Absența atributului BORDER este echibalentă cu BORDER = 0, și semnifică faptul că nu dorim apariția caroiajului și a chenarului.
Dacă nu dorim ca tabelul să ocupe toată lățimea ferestrei documentului, ci numai un anumit procent, vom folosi width=nn% în baliza <TABLE>.
Pentru a alinia textul vom folosi atributul ALIGN, care poate apărea și în cadrul unuia din marcajele td, tr sau th. Valorile sale pot fi atunci center, left sau right și textul respectiv va fi centrat sau aliniat spre una din părțile stânga respectiv dreapta.
Mai există și atributul pentru aliniere verticală, VALIGN = unde_aliniem, ce poate fi folosit în oricare dintre marcajele td, tr sau th. El poate avea una din valorile: top, middletop, bottom sau baseline, adică sus, în centru, jos, respectiv în partea de jos a spațiului.
În baliza <TITLE> mai apar și atributele: CELLSPACING=n și CELLPADDING=m. Primul precizează spațiul dintre celule; se asumă n = 2 pixeli. Al doilea, distanța în pixeli dintre chenar și conținutul celuluei; se asumă m = 2 pixeli.
Dar pentru o proiectare mai ușoară a paginilor Web, cât și pentru economisirea de timp, există programe care scriu în mod automat balizele HTML. Datorită incompatibilității între cele două browsere Internet Explorer și Netscape Comunicator, programatorul trebuie să facă mici intervenții în codurile sursă HTML realizate de aceste programe.
3.2.1. Folosirea programului Dreamweaver 3.0
Pentru exemplificare vom prezenta realizarea paginii principale a site-ului.
Într-o pagină nouă am setat anumite proprietăți cum ar fi titlul pagnii, background-ul (o imagine, sau o culoare), marginea etc., dintr-o fereastră asemănătoare cu cea de mai jos:
Fig. 3.2.1.1.
Pentru o bună aranjare în pagină, atunci când se lucrează cu mai multe obiecte (o imagine, steaguri, butoane, texte, gifuri animate) am împărțit pagina în celule tabelare. Această delimitare se face astfel:
– se alege din meniul Insert opțiunea Table, în care se setează numărul de linii și coloale și mărimea tabelului pe lungime și lățime în procente sau în pixeli, într-o fereastră ca cea de mai jos:
Fig. 3.2.1.2.
În celulele definite am inserat imagini, texte, linii, pe care le-am aliniat după anumite opțiuni, din fereastra de proprietăți, activată prin Ctrl+F3, sau din meniul: Window/Proprieties.
Fig. 3.2.1.3.
Pentru a face link-uri la alte pagini, am definit pe anumite imagini, texte Hotspot-uri, de la care se creează calea către pagina dorită, de preferat fără explicații implicite.
Fig. 3.2.1.4.
PARTEA A II-A
JAVA ÎN INTERNET
4.
INTRODUCERE
4.1. Ce este internetul ?
Internetul este o rețea publică ce a ajuns la scară planetară. El este alcătuit dintr-un conglomerat de rețele de diverse complexități (de la cele multinaționale la cele regionale).
Zecile de milioane de stații de lucru, milioanele de calculatoare gazdă, hosts, atât de diverse, vizibile în Internet, toate “vorbesc aceeași limbă”.[6] Ea este statuată de familia de protocoale TCP/IP (Transmition Control Protocol / Internet Protocol).
Pe lângă stiva TCP/IP, obligatorie, care trebuie să se afle în memoria stației de lucru, va sălășlui unul din multiplele programe ale sale, sau servicii cum li se mai spun: e-mail, ftp, telnet, archie, gopher, WAIS, finger, whois și WWW (World Wide Web).
Nașterea și creșterea sistemului World Wide Web a scbimbat practic felul de comunicare al covârșitoarei majorități a utilizatorilor planetei. Ideea a constat în a proiecta și implementa un sistem, care să permită legături, asocieri multiple între documente (la început numai texte). Astfel s-a introdus termenul de hipertext, al cărui înțeles este acesta: o colecție de documete, considerate noduri, pot fi legate între ele constituind o rețea, o latice, în care legăturile (links) sunt similare referințelor bibliografice. Numai că pot apărea tot felul de bucle și structura devine neliniară.
Un program interactiv, căruia în engleză în spunem browser sau provider ușurează “răsfoirea” unui atare păienjeniș de documete, urmărind legăturile dintre acestea, links.
Persoane și organizații folosesc World Wide Web pentru posibilitatea de a comunica instantaneu oriunde. Hipertext-ul combinat cu multimedia, a rezultat o rețea hipermedia care a deschis noi posibilități de exprimare și de comunicare.
Deși, de foarte multe ori, erau fascinante, utile și pline de informații, paginile Web nu atingeau gradul de interactivitate oferit de multe aplicații multimedia sau hipermedia rulate pe calculatoarele neconectate la rețea. Chiar dacă sistemul Web a permis conectarea informațiilor și a utilizatorilor la nivel mondial, aceasta nu a dat oamenilor decât posibilitatea să observe: să citească text, să asculte muzică, să privească secvențe video sau să caute informații.
Universul nelimitat al posibilităților din Web poate să îi facă pe unii utilizatori să simtă că hiperlegăturile îi conduc din loc în loc, până când, în final, sistemul Web, pare să se transforme într-un drum spre nicăieri: nu există un scop. Java a schimbat acest lucru. [1]
4.2. Ce este Java ?
Java este un limbaj de programare dezvoltat de Sun Microsystem, care aduce în World Wide Web interactivitatea și animația. Java a permis atingerea unui nivel de interactivitate care nu a fost până acum posibil în Web.
Java permite producătorilor să creeze programe care pot fi livrate utilizatorilor și rulate pe calculatoarele acestora. Aceste programe pot include orice doresc programatorii: foi de calcul tabelar, programe de instruire, animație și jocuri interactive.
Pentru utilzatorii rețelei Web, Java a făcut posibile destinațiile: locuri în care să lucreze, să învețe sau să se joace.
Java este doar o parte a setului de sisteme care permit comunicarea în World Wide Web. Java este un limbaj de programare complet separat de sistemul de marcare folosit pentru definirea hipertextului, HTML (Hypertext Markup Language). Java nici nu înlocuiește sistemul HTML, nici nu anulează tot ceea ce s-a lucrat și a fost pus la dispoziție până acum în Web.
Folosit în general, Java este numele unui set de instrumente software folosite pentru crearea și implementarea conținutului executabil. Unul dintre principalele instrumente din acest set este browser-ul care poate să interpreteze codul general de limbajul Java. Acest program, numit HotJava, a fost creat pentru ilustrarea posibilitaților oferite de limbajul de programare Java.
HotJava are aceleași posibilităti cu cel oferite de majoritatea browser-elor, dar, în plus, poate interpreta și afișa conținutul executabil creat cu ajutorul limbajului Java. HotJava poate afișa orice pagină Web, dar un browser care nu recunoaște limbajul Java nu poate afișa conținutul executabil Java. Astfel, programul HotJava poate să “vadă” conținutul Web și ceva în plus: aplicațiilor scrise cu limbajul Java.
În ce privește browserele compatibile Java, cele mai performante dintre ele sunt: HotJava (scris complet în limbajul Java), Microsoft Internet Explorer și Netscape Navigator. Primul este disponibil la aceiași adresă cu JDK. Celelalte două, care sunt și cele mai răspândite, sunt produsele firmelor Microsoft (componentă a pachetului Windows) și Netscape (se poate descărca din pagina WEB:HYPERLINK "javascript:doWindowOpen('http://home.netscape.com/','new_frame','width=600,height=420,menubar=1,toolbar=1,scrollbars=1,status=1,location=1,resizable=1,resizable=1',0)"http://home.netscape.com).
Legătura între Java, HTML și Web se face printr-o etichetă HTML specială (APP), care permite programatorilor să includă în paginile Web programe Java speciale, numite applet-uri. Acestea sunt, de fapt, programe pe care browser-ul utilizatorului le preia (în mod automat, prin citirea paginii Web) și le execută. Făcând posibile operațiile de intrare și de ieșire grafice prin intermediul applet-urilor din cadrul paginilor Web, Java deschide astfel o fereastră către nivele mai înalte de interactivitate în sistemul Web.
Alături de Java, s-a dezvoltat un alt limbaj, mai simplu decât Java și care se numește JavaScript (toate limbajele de tip script – se numesc și “limbaje pentru scenarii” – respectă o interfață comună, cunoscută sub prescurtarea CGI, Common Gateway Interface).
JavaScript este mai aproape de Java decât de balizele HTML (HTML tags). Este un limgaj de programere foarte indicat pentru începători.
JavaScript permite cunoscătorului HTML să trateze cu secvențe de program adecvate, diverse evenimente inițiate de către utilizator, cum ar fi: efectuarea unui clic cu mouse-ul, completarea unui formular, sau acționarea unui buton conturat pe ecran; organizează fereastra în mai multe cadre, fiecare punctând spre un document din “spațiul Web”. Într-un cuvânt, face răsfoirea unui volum mare de informații mult mai “umană” pentru vizitator.[6]
4.3. Originile limbajului Java
Dezvoltarea limbajului Java a început la Sun Microsystem, în California, o dată cu cea a sistemului World Wide Web, în Elveția 1991. Inițial, se dorea dezvoltarea unor produse electornice simple și fără erori. Pentru aceasta era nevoie de o cale de creare a unor programe independente de platformă, care să poată rula pe orice unitate centrală de prelucrare (UCP).[1] S-a dezvoltat astfel, un nou limbaj de programare, numit inițial Oak (redenumit Java).
Pornind de la tehnologia Java, s-a creat un browser foarte bun, în scopul aducerii în Web a sistemului de programare, independet de UCP (Unitatea Centrală de Programare) și în timp real.
În 23 mai 1995, Sun Microsystem a anunțat oficial programele Java și HotJava.
5.
CE POATE SĂ FACĂ JAVA ?
O specificitate importantă a limbajului Java este legată de faptul că aplicațiile Java rulează la fel de bine pe un calculator compatibil IBM dotat cu Windows `95, `97, `98 sau NT, pe o stație Sun, pe un computer Apple McIntosh sau pe alte platforme. Acest lucru este posibil datorită faptului că pe toate acestea se realizează în fapt o emulare a unei mașini virtuale denumită mașină Java. Oricare dintre computerele enumerate poate fi folosit pentru editarea, compilarea și rularea programelor Java dacă există următoarele două componente soft:
– un editor capabil să creeze fișiere sursă ".java" (preferabil și pagini ".html"),
– browser capabil să lucreze cu Java.
5.1. Animație
Aplicațiile Java permit includerea figurilor animate în paginile Web. Dar animația nu este limitată la figuri desenate. Paginile pot conține sigle animate sau text care se mișcă pe ecran. De asemenea, nu este nevoie ca animația să fie făcută cu o figură decorativă generată dinainte, ci poate fi o imagine generată prin calcule, de exemplu forma unei unde trasate prin calcularea unei ecuații matematice.
5.2. Interacțiune
Animațiile pot fi făcute pornind de la imagini statice desenate sau generate, sau imagini care se comportă conform unui algoritm prestabilit, dar pot fi și interactive, utilizatorul având posibilitatea să influențeze modul de afișare. De exemplu, un model chimic poate fi rotit cu ajutorul mouse-ului și văzut din anumite unghiuri.
Există și posibilitatea ca utilizatorul să interacționeze cu o interfață pentru a introduce date și pentru a primi răspunsuri. De pildă, un careu de cuvinte încrucișate.
O altă variantă de interactivitate este interactivitatea în timp real. Un joc Tetris poate fi un bun exemplu în acest sens. O astfel de aplicație implică mutarea unor figuri manipulate de utilizator: trebuiesc completate un anumit număr de forme în scopul completării unor linii.
5.3. Interactivitate și calcule
Exemplificarea concretă a posibilităților de calcul se poate face cu ajutorul unei foi de calcul tabelar. Acestea permit utilizatorului accesul la un mediu în care poate să lucreze. O foaie de calcul, permite modificarea conținutului oricăreia dintre celule, prin introducerea unei valori, unei etichete sau unei formule. Aceasta seamană cu o foaie de calcul reală, ceea ce înseamnă că avem la dispoziție un mediu de lucru.
Cu ajutorul limbajului Java, utilizatorul are acces la un întreg mediu pentru interacțiuni deschise, nu doar la un set prestabilit de opțiuni interactive – deschiderea unei pagini Web pe o scenă Web.
5.4. Aplicații distribuite
O aplicație distribuită ar putea fi un osciloscop care permite utilizatorului să-i modifice parametrii. Rezultatul are un răspuns continuu. După stabilirea parametrilor, osciloscopul afișează figura corespunzătoare unei forme de undă a semnalului electric. Aplicația poate cuprinde elemente de animație, de calcul, de interacțiune și de afișare continuă, bazate pe informațiile introduse de utilizator. Rezultatul este că utilizatorul a preluat din rețea, de la distanță, un osciloscop.
5.5. Comunicarea
S-a implementat un sistem care permite conectarea la o pagină Web și scrierea de propoziții pe care la văd toți cei care au încărcat aceeași pagină Web. Textul este vizibil tuturor celor care au această pagină afișată într-un browser care recunoaște limbajul Java. Aplicația este asemănătoare cu sistemele de comunicare în grup implementate în sistemele Telnet, Internet relay Chat sau MU*.
În Web comunicarea se face aproape tot timpul prin intermediul textului sau al altor mijloace. Dar programele de tip browser care recunosc limbajul Java pot afișa și informații multimedia, de exemplu, un ceas vorbitor.
5.6. Aplicații și proceduri de manipulare (handlers)
Pe lângă applet-uri, programatorii Java pot crea și aplicații sau programe independente, care nu au nevoie de un browser care să recunoască limbajul Java pentru a putea fi executate. Aplicațiile create astfel pot fi noi browsere sau interfețe care pot să acționeze cu alte resurse de rețea sau locale.
Un alt tip de aplicații care pot fi create cu ajutorul limbajului Java sunt programele handler. Un handler pentru protocoale permite unui programator Java să precizeze cum ar trebui să fie interpretat un anumit protocol de către un browser Java.
Aplicațiile și programele handler care pot fi create cu limbajul Java au posibillitatea de a extinde foarte mult tipurile de informații care pot fi distribuite prin sistemul Web. Cei care distribuie informațiile nu mai trebuie să își facă probleme privind programele de care dispun utilizatorii ca să poată afișa un anumit tip de fișier sau ca să poată manevra un nou protocol. Programele handler pentru conținut și pentru protocoale, ca și conținutul executabil a cărui distribuire este posibilă prin applet-urile Java, pot fi furnizate browsere-lor care au nevoie de ele.
În concluzie:
Java creează în Web locuri în care utilizatorul se poate opri. O aplicație Java bine concepută poate să rețină atenția unui utilizator asupra unei singure pagini Web pentru un timp destul de lung. În loc să îi ofere doar text, imagini, sunete sau secvențe video care pot fi observate, Java pune la dispoziția utilizatorului un loc unde acesta poate să se joace, să învețe sau să comunice și să interacționeze cu alți utilizatori într-un mod care nu implică în mod necesar deplasarea la o altă pagină Web cu ajutorul legăturilor hipertext. Dacă hipertextul din paginile Web poate fi asemănat cu o rețea de drumuri, atunci paginile Java pot fi considerate orașe sau sate în care utilizatorul de poate opri, în loc doar să observe peisajul și să “navigheze”.
Java sporește dinamismul și competivitatea rețelei Web. Așa cum noua tehnologie de creare a browser-elor i-a impulsionat pe cei care se ocupă de dezvoltare în sistemul Web să creeze mai multe aplicații și pagini care să exploateze noile posibilități ale programelor, tehnologia Java promite o nouă rundă de dezvoltare a conținutului paginilor Web.
Java mărește interactivitatea rețelei Web. Interactivitatea oferită de programele Java este mult mai bogată, mai imediată și mai transparentă decât interactivitatea pe care o fac posibilă programele de trecere (gateway). Cu ajutorul limbajului Java, tranzacțiile în Web pot fi adaptate în scopul asigurării unor reacții imediate și continue la informațiile introduse de utilizatori.
Java transformă sistemul Web într-un sistem de distribuire a programelor. Proiectarea de bază a limbajului Java ca un limbaj destinat distribuirii conținutului executabil dă programatorilor posibilitatea de a crea orice tip de programe, pe care să le distribuie utilizatorilor programelor de tip HotJava. În loc să-și concentreze atenția asupra interfeței aplicațiilor, programatorii se pot concentra asupra interacțiunii cu utilizatorul, lăsând restul implementării în seama componentelor grafice integrate. Rezultatul este că programe simple, cum ar fi aplicații pentru desen sau foi de calcul tabelar, pot fi crate și distribuite rapid în întreaga lume.
6.
O IMAGINE TEHNICĂ A LIMBAJULUI JAVA
Limbajul de programare Java este unic din punct de vedere tehnic. Acesta oferă un set special de caracteristici proiectate special pentru distribuirea în rețea a conținutului executabil, precum și un set extensibil de caracteristici puse la dispoziția programatorilor.
6.1. Construcția limbajului Java
Java este limbajul de progamare folosit pentru dezvoltarea unor aplicații executabile, distribuite în scopul transmiterii acestora către un browser care recunoaște limbajul Java sau către un interpretor Java. Un programator java poate să creeze:
applet-uri: Acestea sunt programele incluse în paginile HTML prin intermediul etichetei APP.
Aplicații: acestea sunt programe Java independente care pot fi executate în afara programului HotJava. Execuția acestora se face cu ajutorul interpretorului Java, java, inclus în setul de distribuție Java.
Handlere (proceduri de manevrare) de protocol: Programele încărcate de browser-ul HotJava al utilizatorului pentru interpretarea unui protocol. Dintre aceste protocoale fac parte protocoalele standard, cum ar fi HTML, dar și protocoalele definite de programatori.
Handlere (proceduri de manevrare) de conținut: Un program încărcat de browser-ul HotJava al utilizatorului pentru interpretarea unui tip de fișier definit de un programator Java. Programatorul Java trebuie să furnizeze browser-ului codul necesar pentru interpretarea sau afișarea formatului special pe care l-a creat.
Metode native: Metodele declarate în clasele Java, dar create în C(limbaj de programare). Cel mai important scop al acestor metode native este să permită programatorilor Java accesul la codul C.
6.2. Java în acțiune
Pentru a înțelege descrierea tehnică a limbajului Java este necesar să studiem procesul care are loc atunci când un utilizator, într-un browser care recunoaște limbajul Java, încarcă o pagină care conține un applet Java:
– utilizatorul trimite o cerere pentru un document HTML către serverul care furnizează informațiile.
– documentul HTML este trimis către browser-ul utilizatorului. Documentul conține eticheta APP, prin care este identificată prezența unui applet.
– codul de octeți corespunzător applet-ului respectiv este transferat către calculatorul utilizatorului. Anterior, codul de octeți a fost creat de compilatorul Java folosind codul sursă al applet-ului respectiv.
– browser-ul Java de pe calculatorul utilizatorului interpretează codul de octeți și afișează rezultatele pe ecran.
– utilizatorul poate reacționa în continuare cu applet-ul, fără să se mai facă o altă prelucrare de informații de pe serverul Web, deoarece codul de octeți conține toate informațiile necesare pentru interpretarea applet-ului.
6.3. Caracteristicile limbajului de programare Java
Conform informațiilor furnizate de firma Sun Microsystem (http://java.sun.com/) Java este un limbaj simplu, orientat pe obiecte, distribuit, interpretat, robust, sigur, neutru din punct de vedere arhitectural, portabil, de înaltă performanță, multifilar (multithreaded) și dinamic.
Vom analiza pe rând caracteristicile prezentate de firma producătoare:
Simplu
Echipa care a dezvoltat limbajul Java a pornit de la limbajul de programare C++, dar a eliminat o parte din componentele orientate pe obiect care sunt ineficient folosite. C++ este un program destinat programării pe obiecte și cuprinde componente foarte puternice.[1] Totuși, așa cum se întâmplă în cazul mai multor limbaje puternice, unele componente cauzează deseori probleme programatorilor, cum ar fi crearea unor secvențe de cod care conțin erori și sunt mai puțin înțelese. Deoarece partea cea mai mare a costului unui program este reprezentată de operațiile de menținere a codului, comparativ cu crearea propriu-zisă, deplasarea către un cod mai ușor de înțeles, în defavoarea unui cod puternic, dar greu de înțeles, poate conduce la reducerea costului unui program. Limbajul Java diferă de C++ în următoarele moduri:
Java nu permite folosirea tipurilor de date struct, union și pointer.
Java nu recunoaște intrucțiunile tipedef sau #define.
Java diferă prin modul de manipulare a unor operatori și nu permite supraîncărcarea operatorilor.
Java nu permite moștenirea multiplă.
Java manipulează în alt mod decât C sau C++ argumentele din linia de comandă.
În pachetul java.lang al limbajului Java există o clasă numită String. Aceasta este diferită de șirul de caractere terminat cu caracterul nul folosit în C și C++.
Java are un sistem automat de alocare și eliberare a memoriei (“colectarea gunoiului”), așa că nu mai este necesară folosirea funcțiilor de alocare și dealocare din C și C++.
Orientat pe obiecte
Ca și limbajul C++, Java permite scrierea programelor orientate pe obiecte. În mod ideal, proiectarea orientată pe obiecte permite crearea unor componente software care pot fi refolosite ulterior.
Programarea orientată pe obiecte este un sistem de programare care tratează blocurile de program ca pe niște entități autonome denumite obiecte. Aceste obiecte se construiesc, se manifestă și se distrug în cursul rulării aplicației din care fac parte.
Limbajul Java este un limbaj obiectual pur. Programele scrise în acest limbaj conțin doar declarații de clase. Chiar și tipurile simple de date cum sunt byte, int sau float pot fi definite sub forma unor clase și utilizate în consecință.
Clasa este o structură care cuprinde un model teoretic conținând descrierea unui tip de obiecte. Obiectul reprezintă materializarea în interiorul unui program a unei clase. El cuprinde valorile numerice efective ale datelor membre prezentate atunci când s-a declarat clasa.
Obiectul reprezintă materializarea în interiorul unui program a unei clase. El cuprinde valorile numerile efective ale datelor membre prezentate atunci când s-a declarat clasa.[4]
Dacă într-o clasă se instanțiază mai multe obiecte, aceste obiecte, deși sunt asemănătoare, reprezintă entități diferite în cadrul programului. Pentru fiecare dintre ele există un spațiu de memorie separat și câte o copie autonomă pentru fiecare variabilă din componență. Acest spațiu este alocat atunci când se creează obiectul, este folosit pe parcursul vieții acestuia și este eliberat la distrugerea lui.
Clasele Java sunt plasate după compilare în câte un fișier separat cu extensia ".class" chiar dacă inițial în etapa de editare a programului clasele au fost toate definite în unul și același fișier având extensia ".java".
Programarea orientată pe obiecte se bazează pe modelarea lumii reale în termenii unor componente software numite obiecte. Un obiect este format din date și operații numite metode care pot fi aplicate asupra datelor. Aceste metode încapsulează (protejează) datele unui obiect, deoarece metodele sunt singura modalitate de schimbare a stării datelor.[1]
Un alt aspect al programării orientate pe obiecte este moștenirea. Obiectele pot folosi caracteristicile altor obiecte fără să fie nevoie să repete codurile care realizează caracteristicile respective. Moștenirea contribuie astfel la refolosirea codului. Un alt beneficiu al moștenirii este organizarea programelor. Organizarea obiectelor în clase înseamnă că fiecare obiect dintr-o clasă moștenește caracteristicile obiectelor părinți. Aceasta ușurează munca de documentare, înțelegere și folosire a generației anterioare de software, deoarece funcționalitatea programelor crește pe măsură ce sunt create mai multe obiecte. Obiectele aflate la capătul unui șir de moșteniri pot deveni foarte specializate și foarte puternice. Figura 6.3.1. ilustrează calitățile generale ale încapsulării datelor, metodelor și moștenirii, specifice unui limbaj orientat pe obiecte.
Fig. 6.3.1.
Java este poriectat special pentru mediile de lucru în rețea. Java are o bibliotecă bogată de clase pentru comunicarea prin intermediul setului de protocoale Internet TCP/IP, inclusiv HTML și FTP. Codul Java poate să manipuleze resurse prin adresele URL la fel de ușor cum programatorii folosesc în mod obișnuit fișierele stocate în sistemul local de fișiere în C sau C++.
Interpretat
După ce compilatorul Java transformă fișierul sursă al unei clase Java în cod de octeți, acest cod poate fi executat pe orice calculator pe care a fost instalat un browser care recunoaște limbajul Java. În acest mod, codul Java poate fi scris independent de platformă și se elimină operațiile de compilare și rulare executate pe calculatorul client. Codul de octeți nu este specific unui anumit calculator și este interpretat browser.
Robust
Programele robuste nu “crapă” ușor din cauza erorilor pe care le conțin. Un limbaj de programare care încurajează crearea unor programe robuste folosește mai multe restricții de care programatorul trebuie să țină seama atunci când scrie codul sursă. Aceste restricții le cuprind pe cele referitoare la tipurile de date și la folosirea pointerilor. Limbajul de programare C este renumit pentru deficiențele la verificarea compatibilității tipurilor de date în timpul compilării și al rulării. C++ a fost proiectat astfel încât tipizarea este mai puternică; totuși, C++ păstrează din C unele abordări mai lejere ale tipurilor.[5] În Java, respectarea tipurilor de date este mult mai riguroasă: de exemplu, programatorul nu poate transforma un întreg într-un pointer printr-o conversie forțată. De asemenea, în Java nu sunt permise operațiile aritmetice cu pointeri, în schimb există matrici. Această simplificare elimină o parte dintre “șmecheriile” pe care programatorii de C le pot folosi ca să obțină accesul la zone arbitrare de memorie. În special, Java nu permite programatorilor să folosească pointerii pentru suprascrierea memoriei, ceea ce poate duce la deteriorarea unor date.
Sigur
Deoarece limbajul Java este folosit în medii de rețea, problema securității trebuie să se afle în atenția programatorilor. Se lucrează la proiecte de folosire a tehnicilor de cifrare cu chei publice în limbajul Java pentru autentificarea datelor. Limitele limbajului privind folosirea pointerilor nu permit programatorilor să forțeze accesul la alte zone de memorie decât cele pentru care li se permite accesul. Aceste aspecte ale limbajului conduc la un mediu de lucru mai sigur.
Neutru din punct de vedere arhitectural
Compilatorul Java creează codul de octeți care este trimis către browser-ul care a lansat cererea. Codul este interpretat apot pe calculatorul destinație, dacă pe acesta a fost instalat un interpretor Java sau un browser care recunoaște limbajul java.
Portabil
Neutralitatea programelor din punct de vedere arhitectural permite un grad înalt de portabilitate. Totuși, un alt aspect al portabilității este modul în care sunt interpretate operațiile aritmetice. În C sau C++, același cod sursă poate să ruleze puțin diferit pe diferite platforme hardware, datorită modului de implementare a operațiilor aritmetice. În Java, acest lucru a fost simplificat. Tipul întreg, int, este un întreg cu semn pe 32 de biți, codificat complementar față de doi. Tipul real, float, este un număr în virgulă mobilă pe 32 de biți, definit de standardul IEEE 754.
De înaltă performanță
Deoarece codurile de octeți sunt interpretate, uneori performanțele nu sunt la fel de rapide ca în cazul unui cod compilat și executat pe platforma hardware respectivă. Programul de compilare include o opțiune de transformare a codurilor de octeți în cod mașină pentru o anumită platformă hardware. Codul compilat astfel are aceeași eficiență ca și un cod compilat și încărcat în mod tradițional. Conform testelor efectuate de firma Sun Microsystem, performanțele codului transformat astfel sunt “aproape indistinctibile” de cele ale unui cod C sau C++ compilat direct.
Multifilar
Limbajul Java poate fi folosit pentru crearea unor programe în care au loc mai multe evenimente în același timp. Bazat pe un sistem de proceduri care permit folosirea “firelor” de evenimente multiple, conform unui sistem de monitoare și condiții, Java oferă programatorilor o metodă de implemtare a programelor interactive în timp real.
Dinamic
Dpre deosebire de codul C++, în care de cele mai multe ori este necesară recompilarea atunci când se modifică o clasă părinte, Java folosește un sistem de interfețe care micșorează această dependență. Rezultatul este că Java permite introducerea unor noi metode și instanțe într-o biblioteză de obiecte, fără ca aceasta să afecteze obiectele descendente.
6.4. Ce înseamnă conținut executabil ?
Conținut executabil este un termen general care definește diferența importantă dintre conținutul pe care îl poate prelua un browser care recunoaște limbajul Java și un browser care nu recunoaște acest limbaj. În câteva cuvinte: într-un browser care nu recunoaște limbajul Java, conținutul preluat este definit prin specificațiile MIME (MultiPurpose Internet Mail Extensions) care include o mulțime de formate de documente multimedia. Specificațiile de conținut sunt astfel făcute, încât acesta poate fi expus în browser sau în alte aplicații ajutătoare (pentru afișarea unor informații multimedia, cum ar fi imaginile, sunetele sau secvențele video). Rezultatul este că utilizatorul selectează o informație, apoi observă conținutul.
Și programele de tip browser care recunosc limbajul Java preiau și afișează conținutul definit de specificațiile MIME. Diferența este că un astfel de browser recunoaște un element special de hipertext, numit <CODE> APP </CODE>. Atunci când este preluată din rețea o pagină Web care conține codul APP, browser-ul știe că un program Java special, numit applet, a fost asociat paginii respective. Apoi browser –ul preia un fișier de informații care conține descrierea modului de execuție a applet-ului respectiv. Fișierul de informații este compus din așa numitele coduri de octeți (bytecodes). Browser-ul interpretează aceste coduri de octeți și le rulează ca un program executabil pe calculatorul utilizatorului. Preluarea și execuția sunt făcute automat, fără ca utilizatorul să ceară în mod explicit acest lucru.
Așadar, deplasarea în rețea cu ajutorul unui browser care recunoaște limbajul java, poate face vizivil nu numai conținutul de hipertext pe care îl ofereau paginile dinaintea apariției limbajului Java, dar și un conținut animat, executabil și distribuit. Mai mult, acest conținut executabil poate cuprinde instrucțiuni de manipulare a unor forme de comunicare, precum și protocoale de informații.
6.5. Animația în Java
Programele în limbajul Java destinate realizării efectului de animație afișează la intervale regulate cadre de imagine în care pozițiile relative ale unor obiecte sau porțiuni ale acestora variază progresiv, astfel încât să se creeze senzația de mișcare.
În practică se utilizează două tipuri de animație:
afișarea aceleiași imagini în care un obiect sau o parte a unui obiect se mișcă,
afișarea unei succesiuni de cadre diferite.
Prima variantă de animație permite ca utilizând o singură imagine și un program de modelare 3D să se simuleze mișcarea unui obiect sau a unei porțiuni din acesta în spațiul interior al acesteia. Practic imaginea devine o "scenă" în cadrul căreia obiectul de obicei suprapus se deplasează fie liber fie controlat de utilizator (de exemplu prin mișcarea mouse-ului).
A doua variantă presupune achiziționarea în prealabil a setului de imagini ce prezintă mișcarea elementelor componente. Aceste imagini trebuie afișate cu o ritmicitate suficient de mare (peste 20 cadre pe minut) astfel încât datorită remanenței pe retina ochiului uman se creează iluzia mișcării continue. Atunci când aplicația nu necesită obligatoriu obținerea senzației de mișcare continuă pentru a economisi resursele sistemului se acceptă o ritmicitate mai redusă și rezultă o mișcare sacadată (efect stroboscopic).
Încărcarea cadrelor de imagine ce compun secvența se face prin utilizarea repetată (într-un ciclu for) a metodei getImage(). Pentru a fi ulterior afișate secvențial ele se plasează în ordine într-un obiect al clasei MediaTracker din pachetul java.awt cu metoda:
public void add Image (Image nume_imagine, int prioritate) unde, pentru toate imaginile unei secvențe, "prioritatea" se ia aceiași.
7.
UN PROGRAM JAVA SIMPLU
În cele ce urmează se prezintă un program scris în limbajul Java, capabil să producă apariția unui applet ce afișează mesajul de salut “Hello from Java” într-o pagină Web.
Amintim că pentru a realiza acest lucru este necesară crearea unui proiect denumit de exemplu “salut” și în cadrul său a două fișiere:
un fișier cu codurile sursă scrise în limbajul Java, “salut.java”,
o pagină web scrisă în limbajul HTML, “salut.htm”.
Listingul fișierului sursă “salut.java” împreună cu câteva comentarii:
import java.awt.Graphics; //importul unui pachetului de clase grafice
class Salut extends java.applet.Applet{ //declararea clasei Salut derivată a clasei Applet
protected String text; //declararea variabilei șir text membra clasei Salut
public void init(){ //metoda init() membră a clasei Salut
text = "Hello from Java!"; //inițializare variabila "text"
}
public void paint(Graphics Mesaj){ //metoda paint() membră a clasei Salut
Mesaj.drawString(text,30,30); /afișarea mesajului pe ecran începând
} //cu punctul de coordonate (30,30)
}
În primele linii sunt importate din bibliotecă pachete de clase sau clase individuale care sunt ulterior utilizate de programator în vederea realizării unor acțiuni în program sau pentru a fi derivate (transformate prin rescriere în clase ale programului).
Urmează apoi declararea uneia sau mai multor clase. Dacă, așa cum se întâmplă de obicei, clasele sunt derivate ale unora din clasele de bază aduse din bibliotecă, atunci în fișierul sursă sunt declarate doar variabilele membre care se adaugă și metodele (funcțiile membre) care se modifică în raport cu structura de bază. Toate celelalte sunt moștenite automat, inclusiv funcția principală main() care cuprinde setul de comenzi ce guvernează acțiunile clasei în cursul rulării programului.
Fiecare linie din program cuprinde o declarație sau o atribuire de valoare. Declararea fiecărui membru al clasei, fie că este variabilă sau metodă conține câteva elemente specifice limbajului Java:
– specificatorii de acces (public, protected, private);
– tipul variabilei (String, int) sau tipul returnat de metodă (void);
– numele variabilei sau metodei (text, init, paint);
– valoarea atribuită variabilei sau lista de instrucțiuni ale metodei;
– terminatorul de rând ";", începutul "{ " sau sfârșitul de bloc "}";
– comentariul (// . ).
Unele dintre aceste elemente corespund modului general de lucru valabil pentru toate limbajele obiectuale, altele sunt specifice limbajului Java.
Listingul paginii Web “salut.htm”
<html>
<head>
<title>Salut</title>
</head>
<body>
<hr>
<p>
<applet code=Salut width=150 height=50 align=right>
</applet>
Acesta este prima mea pagină web cu un applet Java în ea.</p>
<hr>
</body>
</html>
Pagina web salut.htm cuprinde elementele standard ale oricărei pagini web. Ea conține atât tag-uri (comenzi HTML) pereche, cât și tag-uri simple.
– <html> … </html> Început … sfârșit pagină web. Între cele două tag-uri se scriu toate liniile de cod HTML ale fișierului.
– <head> … </head> Început … sfârșit antet pagină web.
– <title> … </title> Început … sfârșit titlu fișier html. Între ele se scrie titlul care se dorește să fie afișat pe bara de titlu a ferestrei în care rulează pagina web.
– <body> … </body> Început … sfârșit conținut propriu-zis al fișieru-lui html.
– <p> … </p> Început … sfârșit rând. În interior se plasează fraze de text imagini, applet-uri, etc.
– <hr> Linie orizontală de separare. Tag simplu ce produce afișarea unei linii de delimitare în interiorul paginii web.
În figura de mai jos puteți se poate vedea care este relația dintre codul sursă și codul compilat al programului Java:
Fig. 7.1.
În cazul aplicațiilor Java codul de declarare în pagina HTML este tot un tag pereche:
<applet> … </applet> Sintaxa utilizată este:
<applet code = nume_clasă width = w height = h [align = aliniament] > </applet>.
unde autorul a selectat doar cei mai frecvent utilizați specificatori.
Cu specificatorul "code" se introduce numele clasei ce se execută. Prin parametrii "width" și "height" se stabilesc lățimea și înălțimea spațiului afectat applet-ului. Alinierea este de asemenea facultativă și se stabilește cu specificatorul "align". În mod implicit applet-ul este aliniat la stânga.
După compilatorul din clasa de Salut se construiește un fișier executabil “Salut.class” care este apelat de pagina HTML atunci când aceasta este accesată cu unul dintre browser-ele ce suportă applet-uri Java.
BIBLIOGRAFIE
[1] December, John, Prezentarea limbajului Java, Editura Teora, București, 1996
[2] Haiduc, Daniel, Curs de grafică și realitate virtuală (nepublicat)
[3] Haskin, David, Ghidul bobocului pentru Multimedia, Editura Teora, București, 1995
[4] Lacrămă, Dan Laurențiu, Programarea orientată pe obiecte, Editura Helicon, Timișoara, 1999
[5] Rotariu, Eugen, Limbajul Java, Editura Agora, Tg. Mureș, 1996
[6] Somnea, Dan, Inițiere în JavaScript și Tehnologiile Netscape, Editura Tehnică, București, 1998
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Site Www de Prezentare (ID: 148889)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
