Nu vom face aici diversele distincţii cuvenite (de exemplu, "pagină Web" nu-i totuna cu "document Web") şi vom introduce termenii necesari (DOM, etc.) doar la nivelul intuiţiei generale, prin analogii cu vederile comune.

Separări specifice într-un document

Cam orice reprezentare fizică de informaţii - pe hârtie, pe ecran, pe tablă sau pe fişier - constituie un document. Informaţiile sunt furnizate prin text obişnuit (organizat în secţiuni, paragrafe, liste enumerative), prin tabele de date, imagini - reprezentând împreună conţinutul propriu-zis al documentului. Ne referim la elementele conţinutului (paragrafe, liste, tabele, imagini, etc.) ca fiind obiectele documentului. Există un set standardizat de elemente de conţinut, constituind modelul de obiecte al documentelor şi numit DOM; s-au creat anumite instrumente şi limbaje (HTML, CSS, javascript, etc.) care permit crearea şi gestionarea DOM-ului - adică, permit crearea de documente.

Obiectele DOM pot fi prezentate în cadrul documentului (de fapt, în momentul vizualizării documentului) în diverse maniere; prezentarea se referă la spaţierea, alinierea şi gruparea obiectelor pe verticală sau pe orizontală, la aspectele de colorare, de dimensionare şi de poziţionare, etc. În scopul prezentării obiectelor DOM, a fost constituit un set standard de stiluri de prezentare, împreună cu o manieră de asociere între obiect DOM şi anumite atribute de stil, conducând la un limbaj numit CSS.

Dar şi pe cărţile obişnuite, sau într-un ziar - se pot identifica elementele de conţinut şi de prezentare menţionate mai sus. Următorul aspect este însă, specific documentelor Web (nu se poate încorpora în documentele tipărite): asigurarea unor posibilităţi de interacţiune între "cititor" (adică, utilizator) şi document.

Interacţiunea este asigurată pe de o parte, prin elemente de conţinut speciale (numite generic hyperlink, "ancore"), destinate să permită "legarea" documentelor între ele (click pe link-ul respectiv din cadrul documentului prezentat, asigură trecerea în acel document care este precizat de conţinutul link-ului) - ceea ce a devenit posibil prin extinderea DOM-ului cu o serie de obiecte numite DOM Events ("evenimente"). Evenimentele DOM-ului permit asocierea între diverse funcţionalităţi şi operaţiile cu care este obişnuit utilizatorul folosind tastatura sau mouse-ul (operaţii care "produc" evenimente desemnate în DOM prin onclick, onmouseover, onkeydown, etc.; la sesizarea unui asemenea eveniment, intră în execuţie seria de operaţii indicată în conţinutul elementului DOM de unde s-a provocat evenimentul).

Interacţiunea cea mai amplă, a fost asigurată prin crearea limbajului de programare javascript (şi datorită existenţei elementului DOM numit script); javascript permite accesul "prin program" la obiectele DOM şi manipularea acestora în mod dinamic (pe parcursul interacţionării cu documentul şi nu neapărat la "prima citire" a acestuia).

^TOP^
O strategie de creare a unui document Web

Separarea între conţinut, prezentare şi interacţiune este foarte avantajoasă: poţi să te ocupi întâi numai de conţinut (care şi este latura cea mai importantă!) şi abia după ce ai definitivat conţinutul, să te ocupi de prezentare şi de interacţiune; odată creat un stil de prezentare satisfăcător, îl vei putea refolosi pe alte documente (analog, pentru funcţiile de interacţiune); eventualele modificări ulterioare producerii documentului vor fi mai uşor de efectuat, având de lucrat de obicei într-un singur loc (fie la conţinut, fie la stiluri, fie la partea de interacţiune).

Principiul separării poate fi concretizat prin crearea a trei fişiere distincte:
— un fişier cu "extensia" .css, conţinând stilurile de prezentare a elementelor conţinutului;
— un fişier .js care conţine funcţiile javascript necesare interacţiunii cu DOM-ul documentului;
— fişierul .html în care se scrie conţinutul propriu-zis, marcând corespunzător (ca paragraf, tabel, imagine, etc.) elementele lui (folosind pentru marcare, limbajul HTML).

Desigur, aceste fişiere trebuie "legate" împreună, rezultând astfel documentul Web (complet); aceasta se obţine prin constituirea în fişierul de bază (.html, aferent conţinutului) a unui antet (numit head, în HTML şi în DOM) în cadrul căruia se invocă fişierele .css şi .js folosind elementul denumit link.

^TOP^
Dar ce înseamnă "Web"? Cine, cui, cum ceri un document?

Intri într-o librărie sau într-o bibliotecă şi întrebi de cutare carte sau cauţi singur pe raft ceea ce te interesează. "Web"-ul e şi el coşcogeamitea bibliotecă, în care găseşti (sau poţi publica) "documente Web"; aşa cum o carte are un autor, un titlu, etc. şi o găseşti pe un anumit raft, în librăria de la cutare adresă - la fel, fiecare document Web are asociată o anumită adresă la care îl poţi accesa şi desigur, are un anumit nume. Ca să accesezi un document Web, trebuie să foloseşti nu un taxi, ci un calculator care este conectat la Web (la reţeaua Internet) şi pe care este instalat un program "de navigare" numit de obicei browser.

Ca să obţii documentul dorit, trebuie să înscrii adresa lui în "bara de adresă" a browserului. În protocolul poştal obişnuit, adresa este de forma "cod-poştal, Localitate, Stradă, Număr, Nume"; pentru comunicarea prin Internet se foloseşte un protocol de comunicare corespunzător, precum HTTP. Am putea spune că HTTP modelează operaţiile prin care o scrisoare circulă între expeditor şi destinatar; bara de adresă a browserului este analogul cutiei poştale în care expeditorul îşi depune scrisoarea, după ce a scris pe plic adresa destinatarului; oficiul poştal care preia scrisoarea din cutie analizează adresa şi stabileşte care ar fi cel mai potrivit oficiu poştal intermediar către care trebuie direcţionată scrisoarea pentru a ajunge cât mai repede la destinatar, ş.a.m.d.

Browserul transmite prin reţea cererea respectivă către anumite calculatoare specializate în direcţionarea mesajelor, astfel că la un moment dat cererea reuşeşte să ajungă la acel calculator din reţea pe care se găseşte documentul indicat. Calculatoarele intermediare şi acest ultim calculator (destinaţia cererii) sunt şi ele nişte calculatoare obişnuite, dar de obicei foarte "puternice" (şi sunt denumite generic servere), fiind înzestrate şi cu pachete de programe (denumite "web server") care "ştiu" să interpreteze cererile venite de la browsere şi ştiu să emită răspunsuri (spre destinaţie, sau spre emitent) la aceste cereri; în particular, ca răspuns va fi returnat înnapoi prin reţea şi documentul solicitat (dacă el există pe serverul indicat în adresă, dacă documentul respectiv are statut de document public sau dacă se recunosc anumite drepturi ale solicitantului, etc.).

^TOP^
Ce ştie să facă un browser?

Dacă adresa (cererea) este corectă din toate punctele de vedere şi dacă pe traseul deservirii cererii nu s-au întâmplat defecţiuni de conexiune, atunci browserul primeşte drept răspuns, documentul solicitat. Aceasta înseamnă că browserul primeşte fişierele .html, .css, .js, etc. aferente documentului (şi le salvează de obicei, într-o zonă de memorie temporară numită memoria cache a browserului).

Ei, acum ies în evidenţă capabilităţile extraordinare ale browserului: el recunoaşte în primul rând tipul de document pe care-l primeşte (document HTML "strict", sau "traditional", document XHTML, document XML, etc.), recunoaşte şi ştie să interpreteze corespunzător limbajele HTML şi CSS (precum şi altele, de exemplu XSLT) şi recunoaşte, interpretează şi eventual execută scripturile care conţin programe javascript de manipulare a elementelor DOM.

"Interpretează" înseamnă până la urmă faptul că browserul aşează pe ecran elementele de conţinut ale documentului în conformitate cu specificaţiile de prezentare primite (şi desigur, în conformitate cu specificaţiile concrete ale dispozitivului sau display-ului pe care se face afişarea documentului). Dar "recunoaşte", "interpretează" nu înseamnă că toate browserele recunosc şi interpretează la fel specificaţiile respective; mai ales Internet Explorer - browser destinat numai platformelor Windows - are excepţii de interpretare care uneori sunt chiar supărătoare, faţă de interpretările care au devenit un standard asumat de către majoritatea browserelor moderne.

^TOP^
Capabilităţile browserului şi învăţământul point-and-click

Învăţământul informatic oficial ignoră încă, perspectivele oferite de un browser prin capabilităţile menţionate mai sus. Planurile în vigoare au îngheţat învăţământul preuniversitar la nivelul point-and-click; se studiază în mod extensiv lucrul cu Microsoft—Word; până şi limbajul C++, se "studiază" şi se exemplifică tot la nivel de point-and-click, în sensul că se implică de regulă "mediul integrat de dezvoltare" IDE din Borland C++ (şi pentru editarea textului-sursă şi pentru compilare şi pentru execuţie).

Word (şi de ce Microsoft—Word? când există şi "free") permite să obţii documente tipărite, folosind doar tehnică point-and-click şi este într-adevăr uşor de folosit de către orice funcţionar. Dar pentru a realiza documente Web şi aplicaţii Web este suficient să foloseşti (şi chiar aşa se şi recomandă) un editor de text obişnuit. Folosind doar un editor de text obişnuit şi deprinzând câte ceva din gama de limbaje şi modele Web - se pot realiza şi se pot întreţine uşor documente Web oricât de complexe şi de asemenea, se pot realiza aplicaţii Web corespunzătoare pentru oricare program C++ din manuale (iar aceste aplicaţii Web pot funcţiona pe orice platformă, nefiind necesar Windows+IDE).

În oricare limbaj ai programa, este necesar să scrii textul-sursă al programului (şi pot fi mai multe fişiere text), iar pentru aceasta trebuie să foloseşti un editor de text obişnuit (nu Word); odată scris textul-sursă în limbajul respectiv, trebuie să apelezi compilatorul corespunzător (desigur, din linia de comandă oferită de un interpretor de comenzi pentru sistemul de operare respectiv); compilatorul va investiga textul-sursă respectiv şi dacă acesta corespunde regulilor de sintaxă specifice limbajului, atunci va compila textul programului, furnizând modulele obiect corespunzătoare; acestea vor trebui transmise apoi unui program editor de legături, care va produce în final un bloc de cod executabil (care va putea fi lansat în execuţie prin intermediul interpretorului de comenzi, sau va putea fi invocat dintr-un alt program existent).

Aceasta este modalitatea de lucru preponderent folosită astăzi de către programatori; ea a fost evidenţiată încă de la apariţia primei cărţi de limbaj C, acum 30 de ani şi a fost avută în vedere permanent, de oricare limbaj apărut între timp. Tocmai pentru că permite să lucrezi într-un acelaşi mod indiferent de limbaj, această metodologie uşurează în bună măsură însuşirea de către programator a unor noi limbaje; va fi din ce în ce greu să ţii pasul, dacă 4 ani de zile (sau şi mai mulţi) te ocupi numai cu point-and-click (şi nu mai comentăm aici asupra motivelor pentru care manualele noastre ignoră complet această metodologie standard împreună cu posibilităţile de evoluţie pe care le creează).

^TOP^
Bibliografie

World Wide Web