Sunteți pe pagina 1din 27

Programare Web - Curs 5

Greșeli de stil în HTML

Stilul corect reprezintă o problemă de opinie și este afectat de


subiectivitate. Stilul greșit este mai ușor de identificat. O pagină web are
un stil greșit dacă:

• Pagina nu se poate încărca

• Pagina nu poate fi folosită în scopul pentru care a fost construită

Mulți utilizatori opresc încărcarea automată a imaginilor deoarece pot fi


persoane cu dizabilități de vedere sau dacă singura legătură la o altă
pagină se face prin intermediul unei imagini, utilizatorii fără imagini
niciodată nu vor putea folosi funcționalitatea de navigare. Trebuie
furnizat şi legături text suplimentar legăturilor de tip imagini. Trebuie
folosit atributul alt="text" în toate tag-urile <img>.

• Conținutul paginii nu poate fi citit

– Există tot felul de potriviri greșite de culori între fundal şi font

– Culoarea este adesea un bun diferențiator, dar niciodată nu ar trebui


să fie singurul diferențiator

– Contrastul este important: folosiți fie text foarte închis la culoare pe un


fundal foarte deschis la culoare, fie un text foarte deschis la culoare pe
un fundal foarte închis la culoare. Evitați contrastul în imaginea de
fundal.
Page 1 of 27
Programare Web - Curs 5

– Abilitatea de a putea citi un text depinde de posibilitatea depistării

marginilor. Detecția marginilor la oameni se bazează pe contrast –


diferența între lumină şi întuneric – nu pe diferențe de culoare

• Nu puteți scăpa de respectiva pagină

Această problemă apare prin rea-voință – pagina include cod JavaScript


ce declanșează afișarea unei noi ferestre de fiecare dată când încercați
să o închideți. Adesea însă reprezintă un accident: o pagină vă permite
un transfer automat la o altă pagină, dar cu un interval de timp setat la
zero: <meta HTTP-EQUIV="Refresh" CONTENT="0; URL=newURL">
Codul aceasta duce către noua pagina, dar dezactivează butonul de
“Back”. Soluție: Timpul nu trebuie setat la zero!

• Nu puteți parcurge site-ul conținând respectiva pagina

Principii de design - ghiduri de stil

Cele 4 principii importante de design sunt proximitate, aliniere, repetiție


și contrast.

Page 2 of 27
Programare Web - Curs 5

Proximitate (elementele înrudite ar trebui să fie grupate împreună) – sau


apropiere – reprezintă instrumentul util pentru organizarea lucrurilor în
cadrul paginii. Dacă lucrurile sunt apropiate ele par ca fiind înrudite, deci
dacă sunt înrudite ar trebui să stea apropiat. Ar trebui evitată spațierea
egală a tuturor lucrurilor, nu se plasează lucruri în colțuri sau să fie
singure în mijlocul paginii, se evită introducerea prea multor grupuri în
cadrul paginii.

Alinierea (nimic nu ar trebui plasat în pagină arbitrar, adică orice element


ar trebui să aibă o conexiune vizuală cu altceva din pagină) bună ajută la
unificarea și organizarea paginii. Se dorește evitarea impresiei de
împrăștiere: alinierea stânga apare în mod natural în paginile web,
alinierea dreaptă nu este de ajutor, alinierea pe centru tinde să fie
plictisitoare. Se va încerca evitarea a mai mult de un singur tip de
aliniament în cadrul unei pagini. Alinierea ajută și ochiul în depistarea
lucrurilor utile în cadrul paginii.

Repetiția (unele aspecte ale design-ului ar trebui să fie repetate în


pagină) are scopul de a unifica pagina sau un grup de pagini și de a
adăuga interes vizual. Repetiția e legată de consistența fonturilor, a
headerelor. Unele elemente vizuale (elemente de fundal, icon-uri,
bordere, reguli orizontale) ar trebui să se repete în cadrul unei pagini

Page 3 of 27
Programare Web - Curs 5

web sau al unui grup de pagini web înrudite. Dacă paginile sunt grupate,
ele ar trebui să apară ca fiind grupate.

Contrastul (dacă două item-uri sunt exact la fel ar trebui să fie


reprezentate diferit) apare atunci când două elemente sunt clar diferite.
Se poate crea contrast prin folosirea de dimensiuni diferite de tip, prin
folosirea de fonturi diferite, se pot folosi linii subțiri și groase, se pot
folosi linii orizontale și verticale, se pot folosi culori contrastante: culori
reci versus culori calde, se poate folosi text spațiat larg sau strâns spațiat.

Alte principii de design:

Stabilirea unei ierarhii vizuale: oamenii văd grafica și apoi textul,


deoarece balansarea, organizarea și contrastul vizual sunt vitale.
Direcționarea ochilor: oamenii scanează textul de la stânga spre dreapta,
de sus în jos. Se folosesc nuanțe pastel pentru fundal sau elemente
minore. Atenție la elementele ce distrag atenția: ilustrațiile bogate,
grafica animată sau textul animat distrag atenția utilizatorului de la
conținut. Asigurarea consistenței: nu se lasă lucrurile împrăștiate în toată
pagina. Stabilirea unui look consistent: orice pagină din cadrul site-ului
ar trebui să împartă unele elemente de stil cu toate celelalte pagini (se
folosește același logo, același set de butoane de navigare, se folosește o
schemă de culori și un set de fonturi consistente).

Mai multe despre ghiduri de stil:

Page 4 of 27
Programare Web - Curs 5

- https://www.w3.org/Provider/Style/
- http://www.webpagesthatsuck.com/

Important pentru realizarea unui site web:

- Care este audiența țintă (publicul general, vizitatorii ocazionali,


experții și vizitatorii frecvenți, utilizatorii internaționali)?
- Folosirea de formate media
- Paginile web nu sunt cărți
- Ajutor în navigația în site
- Motor de căutare în cadrul site-ului
- Organizarea paginilor ierarhică sau grid sau liniară (puse în ordinea
în care trebuie citite, previous /next, home)
- Zonă de FAQ
- Zonă de What’s New
- Grafica pentru pagina principală – punctul de pornire pentru
vizitatorii site-ului

Arhitectura unei aplicații web

Arhitectura unei aplicații informatice folosită într-o organizație a trecut


prin mai multe etape:

1. Etapa Mainframe

Page 5 of 27
Programare Web - Curs 5

Această etapă necesită un calculator de tip Mainframe și o multitudine


de terminale conectate la acesta. Aplicațiile erau centralizate, adică rulau
pe sistemul mare. Nu se punea problema arhitecturii aplicației. Nu
existau conexiuni din afara organizației, deci securitatea nu era o
problemă majoră.

2. Etapa Client-Server

În prima perioadă a etapei client-server aplicațiile erau departamentale,


adică în cadrul unei organizații fiecare departament (producție, financiar,
resurse umane, relații cu clienții…) avea propria sa aplicație accesată în
rețeaua locală a departamentului.

Această etapă necesită un calculator sau mai multe pe care rulează


serverul, o serie de PC-uri pe care rulează programele client (programe
dedicate furnizate o dată cu aplicația) și o rețea locală prin care comunică
mașinile respective. Problemele care apar sunt legate de conectivitate,
performanță și securitate. Responsabilitatea o avea administratorul
bazei de date, deoarece principalele elemente de performanță ale unei
Page 6 of 27
Programare Web - Curs 5

aplicații erau date de performanțele bazei de date. Apariția sistemelor


de tip ERP (Enterprise Resource Planning) – sisteme informatice
integrate a dus la necesitatea interconectării și integrării aplicațiilor într-
un tot unitar. Din acel punct, problemele de securitate și de conectivitate
au căpătat o mai mare importanță.

3. Etapa Web Based (aplicații web sau web-enabled)

Deosebirea principală în acest caz este dată de accesarea aplicației


printr-un client standard (browserul), de foarte multe ori din afara
locației unde se află aplicația, în timp ce comunicația se face nu prin
canale private sau dedicate ci prin Internet.

O arhitectură tipică este dată în figura următoare:

Page 7 of 27
Programare Web - Curs 5

Exemplu de arhitectură a unei aplicații web simple în care datele sunt


stocate într-o bază de date relațională. Actorii implicați într-o astfel de
aplicație sunt:

- browserul

- serverul de web (există o multitudine de servere de web, printre cele


mai folosite servere se găsește Apache)
Page 8 of 27
Programare Web - Curs 5

- un sistem de gestiune a bazelor de date (SGBD) relațional. Se poate


folosi MySQL (gratuit) sau Oracle (ce oferă versiune gratuită pentru
aplicații de dimensiuni mici)

- formulare (fișiere HTML) ce permit utilizatorului introducerea prin


tastare sau selectarea din meniuri sau prin butoane a unor date.
Aceste formulare definesc anumite operații asupra bazei de date

- scripturi CGI asociate formelor, ce interpretează datele completate


în formular și generează un răspuns către utilizator inclusiv prin
interogarea unei baze de date.

Fiecare din aceste componente poate exista sau rula pe o altă mașină.
De obicei, browserul rulează pe o mașină client iar celelalte pe una sau
mai multe mașini aflate la furnizorul serviciului de web respectiv.

Page 9 of 27
Programare Web - Curs 5

Desfășurarea procesului:

1. Browserul cere serverului de web o pagină HTML conținând un


formular.
2. Serverul trimite acea pagină browserului. Acesta o afișează pe
ecran lăsând apoi utilizatorul să completeze elementele
formularului.
3. După completare, utilizatorul selectează un buton de tip "trimite
datele". Browserul împachetează informațiile completate
trimițându-le serverului de web.

Page 10 of 27
Programare Web - Curs 5

4. Serverul de web lansează scriptul CGI asociat formularului dându-i


acestuia datele primite de la browser.
5. Scriptul CGI despachetează aceste date şi le foloseşte ca informaţii
de plecare pentru acțiunea pe care o efectuează. Printre operațiile
efectuate de acest script pot fi: trimiterea de cereri SQL către un
SGBD și primirea şi interpretarea rezultatelor acestor cereri.
6. Scriptul CGI scrie la ieșire un fișier (în general de tip HTML dar nu
numai) şi își încheie execuția.
7. Serverul de web preia acest rezultat şi îl trimite browserului spre
afișare.

Page 11 of 27
Programare Web - Curs 5

JavaScript și AJAX

AJAX (https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started)
= Asynchronous JavaScript and XML permite actualizarea incrementală a
paginilor Web. Este construită folosind tehnologii standard web - HTTP,
(X)HTML, CSS, JavaScript, Document Object Model (DOM), XML pentru a
permite o mai bună interacțiune și prezentare, precum și actualizarea
incrementală a paginilor Web. Este folosit de multe companii populare:
Google Suggests, Google & Yahoo! Maps, Amazon A9 Search, Flickr,
BaseCamp, Kayak, Yahoo! AJAX Library

Interacțiunea Web Tradițională Cum funcționează Ajax?

Ajax permite construirea de aplicații Rich Internet Applications (RIA),


permite o interacțiune dinamică pe Web, îmbunătățește performanțele
și nu necesită plug-in-uri.

AJAX Application Model:

Page 12 of 27
Programare Web - Curs 5

jQuery (http://jquery.com/download/) este o bibliotecă JavaScript


rapidă și compactă ce nu necesită instalare, ce simplifică parcurgerea
documentelor html, tratarea evenimentelor, realizarea de animații și
interacțiunile AJAX, ajutând la o dezvoltare mai rapidă a paginilor web.
Cu ajutorul lui jQuery se accesează elementele dintr-un document, se
modifică aspectul unei pagini web, se modifică conținutul unui
document, se gestionează evenimentele, se aduc informații de pe server
fără a se face refresh la pagină, se realizează animații. În ianuarie 2006,
John Resig anunță lansarea lui jQuery, apoi începând cu prima versiune

Page 13 of 27
Programare Web - Curs 5

stabilă, jQuery are deja implementat suport pentru selectorii CSS,


tratarea de evenimente și interacțiunile cu AJAX.

JavaScript și DHTML

DHTML (https://msdn.microsoft.com/en-
us/library/ms533044(v=vs.85).aspx) se referă la ideea de generare de
conținut web în mod dinamic, bazându-se pe datele furnizate de către
utilizator. BOM (Browser Object Model) descrie modul în care
programăm diversele obiecte disponibile spre folosire într-un browser.
DOM (Document Object Model) se referă la un standard W3C de
programare a unei pagini web. DHTML reprezintă o colecție de
tehnologii: HTML, CSS, JavaScript, DOM, BOM. DHTML permite
limbajelor de scripting (JavaScript) să modifice variabilele din limbajul de
definiție a unei pagini web, astfel încât să modifice aspectul și conținutul
paginii respective, după reîncărcarea acesteia. Astfel, se determină
modul în care o pagină reacționează în timp ce este vizualizată
(caracteristica de bază a DHTML-ului).

Page 14 of 27
Programare Web - Curs 5

DHTML și AJAX se folosesc împreună. Exemplu: având un meniu cu tab-


uri, când se apasă un tab, conținutul tab-ului respectiv este preluat prin
AJAX, iar rezultatul (conținutul preluat de pe server prin AJAX) este pus
într-un tag de tip div prin apeluri javascript dinamice:
document.getElementByID(‘tab’+current_tab_nr).in
nerHTML = htmlRez

Page 15 of 27
Programare Web - Curs 5

Programare web folosind GoogleWeb APIs

Un serviciu web este modalitatea de refolosire/integrare de software,


indiferent unde este software-ul, pe ce platformă rezidă sau în ce limbaj
a fost el scris. Un serviciu web asigură interoperabilitatea între aplicații
posibil distribuite. La bază, un serviciu web este dat de XML și
protocoalele Internet HTTP, SMTP. Printre avantaje se distinge ușurința
de integrare și dezvoltarea rapidă a aplicațiilor. REST (Representational
State Transfer) este o paradigmă de dezvoltare (exemplu: serviciu de
rezervare de zboruri). Presupunem că o companie aeriană dorește
crearea unui serviciu pentru rezervări telefonice. Compania dorește ca
acei clienți premium să aibă acces la serviciu imediat, clienții fideli să
primească servicii cu diverse bonificații și toți ceilalți clienți să primească
serviciile obișnuite. Există două abordări în proiectarea serviciului de
rezervare:

Abordarea 1 "Press 1 for Premier, Press 2 for…"

Compania poate furniza un singur număr de telefon. După intrarea în


sistem utilizatorul întâlnește un mesaj automat: "Press 1 if you are a
premier member, press 2 if you are a frequent flyer, press 3 for all
others."

Page 16 of 27
Programare Web - Curs 5

Abordarea 2 – Folosirea mai multor numere de telefon

Compania poate furniza mai multe numere de telefon – una pentru


membrii premium, alta pentru clienții fideli și alta pentru ceilalți clienți.

Serviciul web pentru clienții ce doresc crearea unei rezervări online este
oarecum similar cu serviciul telefonic. Soluția cu punct unic de acces:
Compania aeriană poate furniza un singur URL. Serviciul Web este
responsabil cu verificarea cererii și apelarea funcției corecte. Această

Page 17 of 27
Programare Web - Curs 5

soluție prezintă dezavantaje: clienții trebuie să înțeleagă pașii și regulile


impuse pentru accesarea funcției conform rolului acestora. Serviciul web
poate avea punct de defect, bottleneck, sau e greu de asigurat load
balancing. Nu se potrivește axiomei lui Tim Berners Lee cu privire la web
design prin care toate resursele pe web trebuie să fie unic identificate
printr-un URI.

Abordarea REST (http://rest.elkstein.org/): Compania poate furniza mai


multe URL-uri, unul pentru clienții premium, altul pentru clienții
frecvenți și altul pentru ceilalți clienți. Această abordare are avantaje:
diverse URL-uri pot fi descoperite de către motoarele de căutare, e ușor
de înțeles funcția unui serviciu chiar din numele acestuia. Nu e nevoie să
introducem reguli de acces. E ușor de implementat o politică de priorități
– de exemplu se poate asigna o mașină puternică care să răspundă
cererilor pentru serviciul clienților premium.

Page 18 of 27
Programare Web - Curs 5

În modelul de dezvoltare REST orice entitate este o resursă. O resursă


poate fi un site Web, o pagină HTML, un document XML, un serviciu web.
Orice resursă este unic identificată printr-un URL. REST pentru serviciile
Web conține un API de bază (VERBELE) și anume C.R.U.D (Create – Http
POST, Retrieve – Http GET, Update – Http Put, Delete – Http DELETE).

SOAP (Simple Object Access Protocol) își are originea în tehnologia RPC(
Remote Procedural Call peste XML și HTTP) și este un protocol de
comunicație folosit pentru comunicația între aplicații, având format
pentru trimiterea de mesaje și fiind proiectat pentru comunicarea în
Internet, este independent de platformă, limbaj și e bazat pe XML.
Printre competitori se află XML-RPC. Componentele SOAP sunt Header –

Page 19 of 27
Programare Web - Curs 5

folosit pentru introducerea de informații privind mesajul și rutarea, Body


– partea de XML și Faults – condiții de eroare

API-ul Google (https://developers.google.com/) este un serviciu web ce


permite dezvoltatorilor regăsirea și manipularea rapidă a informațiilor
pe web. Google Web API-urile sunt special create pentru dezvoltatorii și
cercetătorii interesați de folosirea Google ca resursă în cadrul propriilor
aplicații. Google Web API-urile permite dezvoltatorilor interogarea a mai
mult de 4 miliarde de documente web direct din cadrul propriilor
programe software. Google foloseşte standardele SOAP şi WSDL pentru
a acționa ca o interfață între programul utilizatorului şi Google API. Medii
de programare precum Java, Perl, Visual Studio .NET sunt toate
compatibile cu Google API.

Un site optimizat pentru motoarele de căutare este ușor de găsit. Site-ul


optimizat va răspunde întrebărilor vizitatorilor noi care se pot
transforma în vizitatori fideli. Investițiile de bani în promovarea site-ului
pot fi controlate ca buget în funcție de rezultatele preconizate.
Motoarele de căutare (Google, Yahoo, MSN, alltheweb, askJeeves,
altavista, AOL) recunosc SEO (Search Engine Optimization) și SEM (Search
Engine Marketing). SEO se ocupă cu procesul de creștere a calității și
volumului de trafic către o pagină web, trafic provenind de la motoarele
de căutare. Creșterea volumului de trafic se poate realiza în primul rând

Page 20 of 27
Programare Web - Curs 5

printr-o poziție bună în motoarele de căutare, ținta fiind primele poziții


pentru principalele cuvinte cheie. 85% din totalul traficului în Internet
se bazează pe căutări folosind un motor de căutare. 90% dintre utilizatori
nu vizionează mai mult decât primele 30 de rezultate întoarse de
motoarele de căutare (majoritatea se opresc la primele 10). Multe site-
uri web nu sunt nici măcar indexate, multe sunt puțin optimizate și din
acest motiv primesc și puțin trafic generat pornind de la motoare de
căutare. Cu cât o pagină este mai bine cotată, cu atât ea este mai
atractivă pentru activități de marketing.

Anatomia unui motor de căutare:

Programe numite “crawler”-e navighează pe Web pentru a găsi noi


documente (pagini Web, alte documente), de obicei prin accesarea
legăturilor din cadrul paginilor deja cunoscute. Motorul de căutare

Page 21 of 27
Programare Web - Curs 5

indexează conținutul acestor documente/pagini și îl adaugă într-o bază


de date, periodic se încearcă actualizarea conținutului. Când utilizatorul
dorește regăsirea unei informații, motorul de căutare se folosește de
paginile indexate pentru a găsi acele pagini ce se potrivesc cel mai bine
termenilor de căutare. Nu se realizează o căutare real-time a paginilor
reale. Motoarele de căutare folosesc diverși algoritmi de indexare a
paginilor.

Componentele de bază ale unei pagini: componenta text (Keyword) –


cuvinte și fraze ce corespund lucrurilor pe care audiența target le
tastează în motoarele de căutare, componenta legături – structura de
navigare prin site pe care crawlerii ar trebui să o poată urma ușor și
componenta popularitate – dacă există site-uri ce includ legături către
site-ul propriu.

Densitatea de cuvinte cheie(keywords) – nu se vor folosi prea multe


cuvinte cheie deoarece folosirea a prea multe cuvinte cheie poate avea
ca rezultat ignorarea. Motoarele de căutare plasează valori (weight)
termenilor în funcție de locul în care sunt folosiți pentru a evidenția
cuvintele cheie; astfel se vor plasa cuvinte cheie în tag-urile titlu, în textul
de tip heading sau emphasize, în textul din body vizibil, în meta tag-urile
de descriere sau în alt text din imagini (titlul și tag-urile body sunt cele
mai importante). Cu excepția tag-urilor titlu și descriere motoarele de

Page 22 of 27
Programare Web - Curs 5

căutare ignoră alte metadate. Se dezvoltă algoritmi ce determină


relevanța pe baza conținutului decât pe ceea ce autorul sau creatorul de
metadate spune despre respectivul conținut.

Componenta legături. Paginile nu vor avea rank bun


(http://www.highrankings.com/) dacă site-ul nu respectă o schemă de
navigare. Schema de navigare trebuie să fie plăcută utilizatorilor și
motoarelor de căutare. Trebuie creat un site map și apoi plănuit modul
în care paginile vor fi legate între ele, evitând paginile încâlcite. Cuvintele
cheie din legături indică crawlere-lor detalii legate de paginile respective.
Cuvintele cheie din legături influențează relevanța paginii respective.

Componenta popularitate este bazată pe numărul de pagini ce au


legături către site-ul propriu. Cu cât sunt mai multe pagini populare ce
au legături către site-ul propriu, cu atât acesta va deveni mai popular.
Motoarele de căutare folosesc diverși algoritmi de determinare a
popularității (ex: algoritmul de la Google – page rank). O pagină web
primește o valoare a popularității bazată pe legături . Popularitatea
paginii nu este determinată de site-urile către care ea are legături
interne. Legăturile cu exteriorul afectează popularitatea site-urilor către
are există legături. Toate motoarele de căutare asignează o valoare site-
ului pe baza legăturilor inbound. Un link inbound reprezintă un vot
pentru pagina proprie. Un link outbound reprezintă un vot pentru pagina

Page 23 of 27
Programare Web - Curs 5

spre care este legătura. O pagină primește un PR de îndată ce este


indexată. Pagina ce primește cele mai multe legături inbound primește
page rank-ul cel mai mare.

Excluderea roboților prin meta-tag:

<head>

<meta name=“robots” content=“no index, nofollow”>

</head>

Conceptul de link juice (https://www.woorank.com/en/p/link-juice)


exprimă greutatea, puterea, valoarea pe care un link îl transmite
documentului spre care trimite. Valoarea proporțională cu importanța
paginii care publică linkul, cu numărul de legături primite și cu numărul
de legături publicate. Una din problemele cu care se confruntă
magazinele on-line ce au un număr considerabil de produse este diluarea
link juice-ului spre paginile interioare.

Page 24 of 27
Programare Web - Curs 5

Soluția cea mai folosită și corectă dpdv al utilizabilității este paginarea


(se va pune într-un loc vizibil un șir de linkuri de genul : pagina 1, pagina
2, pagina 3, …. pagina 33). Prin crearea acestor pagini se diluează link
juice-ul (pentru motoarele de căutare pagina 2 va fi la fel cu pagina 3 sau
4 fără prea mare valoare dpdv al informației și de multe ori cu același
titlu sau descriere). Un e-shop cu sute de produse va avea probleme cu
indexarea pentru că un spider are mult de mers până citește pagina
numărul 30.

Atributul nofollow este un atribut html care instruiește motoarele de


căutare să nu considere acel link ca un vot pentru apgina spre care trimit.
Paginile precum Register, Login sau Forgot Password folosesc linkuri ce
pot fi publicate cu nofollow. De asemenea, paginile de prezentare a unor
categorii sau RSS, pagina de Contact (dacă pagina are numai un formular
de contact atunci nofollow este folositor) sau Logo (multe site-uri au un

Page 25 of 27
Programare Web - Curs 5

logo publicat ca imagine în header ce este simultan și legătură către


pagina principală).

Gestionarea conținutului paginilor:

Page Content: folosirea de conținut și text ce se adresează audienței şi


atragerea motoarelor de căutare şi a legăturilor din alte site-uri.

Navigation: furnizarea utilizatorilor şi crawlerelor acces facil la conținut

Design Considerations: anularea oricăror artificii de design ce pot


submina eforturile SEM

Page Rank: popularitatea legăturilor

Tipuri de pagini: home page, about, contact, site map, news, forms,
galleries, faqs, catalogs, product pages, shopping cart, search results.
Aplicațiile care folosesc syndicated content (http://www.rss-
specifications.com/syndicated-content.htm) sunt forumurile și
programele web mail.

Artificiile de design îmbunătățesc experiența utilizatorului dar


influențează negativ vizibilitatea de căutare. Utilizarea de fișiere externe
JavaScript (ușor de refolosit) poate duce la o descreștere a timpului de
încărcare pentru vizitatori. Fișierele externe duc la îmbunătățirea
timpului de descărcare și pentru crawlere. Nu se recomandă proiectarea
site-ului din frame-uri, deoarece crawlerele au probleme în a parcurge

Page 26 of 27
Programare Web - Curs 5

structurile de cadre(frameset) deoarece frameset-urile nu furnizează


crawlerelor cuvinte cheie și legături. Pentru a evita problemele de
navigare se adaugă legături pentru navigarea între pagini și chiar cadre
și se adaugă codul JavaScript în tag-ul <head>.

Site-urile dinamice sunt compuse din template-uri fără conținut original.


Atunci când o pagină este vizualizată template-ul este actualizat cu
conținut din baza de date.

Când se realizează mentenanța unui site web se reproiectează site-ul, se


schimbă arhitectura acestuia sau se șterge conținutul. Astfel, se va
planifica dacă se va modifica și arhitectura, dacă site-ul va fi static sau
dinamic și modul în care se modifică conținutul.

Page 27 of 27