Deoarece HTML sta la baza fiecarei aplicatii web, de-a lungul anilor s-au descoperit majoritatea problemelor si bug-urile. Cateva practici de baza pentru imbunatatirea de comportamentului HTML ar fi:
-stergerea de spatii
-folosirea de DTD stricte pentru a maximiza timpul de rendare
-omitererea de tag-uri redundante
-minimizarea de headere, metadata si atribute ALT
Html 5 Storage APIs
Html 5 vine cu mai multe API-uri noi ce au tinta imbunatatirea felului in care sunt stocate informatiile la nivel de client fara ca sa mai apelam la direrite librarii externe consumatoare de spatiu. Aceste API-uri sunt : Web Storage, Web SQL Database, Indexed Databases si FileSystem.
1.Web Storage:
Reprezinta un sigur obiect persistent numit localstorage caruia ii pot fi atribuite valori ce poate fi apoi folosit si dupa ce browserul a fost inchis. Mai exista un obiect numit sesion storage cu aceleasi proprietati, dar care isi pierde valorile atunci cand este inchisa fereastra.
Avantaje:
-este suportat de toate browserele moderne
-usor de folosit find un API sincron
-evenimente semantice disponibile pentru a tine celelelalte ferestre sincronizate
Dezavantaje:
-performanta slaba pentru date mai complexe atunci cand folosim API-ul sincron
-performanta slaba cand cautam date de dimensiune mari datorita lipsei de indexare
-performanta slaba cand stocam si descarcam date complexe datorita necesitatii de a serializa si deserializa de la si catre valori de tip string. Majoritatea browserelor suporta doar tipul string
-nevoia de a asigura consistenta si integritatea datelor deoarece nu avem o structura fixa
2. Web Sql Database
Este un tip de baze de date structurata cu toata functionalitatea si complexitatea unei baze de date de tip Sql. Are perechi de tip cheie/valoare la fel ca web storage dar in acelasi timp capacitatea de a indexa in asa fel incat cautarea se face mult mai repede.
Avantaje:
-este suportat de toate browserele moderne
-performanta buna deoarece este un API asincron si nu va bloca interfata userului.
-performanta buna la cautarea de date datorita indexarii
-robust deoarece suporta un model transactional de baza de date
- usor de mentinut integritatea datelor datorita rigiditatii structurii
Dezavantaje
-deprecated. Nu va fi suportat de IE sau Firefox si probabil va disparea pe viitor
-greu de invatat deoarece necesita cunostinte de baze de date relationale de tip SQL
-sufera de object-relational impedence mistmach
3.Indexed Database
Un API ce doreste a combina avantajele celor mentionate mai sus fara a avea dezavantajele lor. Reprezinta o coletie de “magazine de obiect” in care putem depozita cate un obiect. Seamana cu tabelele de tip SQL, dar in acest caz nu sunt constrangeri legat de structura obiectului nefiind nevoie sa definim ceva de dinainte. Deci este similar cu Web Storage dar cu avantajul ca poti avea oricat de multe baze de date vrem si oricat de multe “magazine” cu fiecare baza de date. Este un API de tip asincron spre deosebire de Web Storage si se pot indexa magazinele pentru a imbunatati viteza de cautare.
Avantaje:
-performanta buna datorita tipului asincron si nu va bloca fereastra utilizatorului
-buna performanta in a cauta date datorita indexarii
-suporta modelul “agile” de dezvoltare, fara a avea nevoie de structuri de date flexibile
-usor de invatat datorita modelului simplu din spate
-suportat de majoritatea browserelor
Dezavantaje
-API destul de complex
-nevoie de a asigura consistenta si integritatea datelor datorita faptului ca aceasta nu este structurata
4.FileSystem
Formatele anteriore sunt foarte bune pentru text sau date structurate dar cand vine vorba de continut binar sau fisiere de dimensiuni mari avem nevoie de altceva. Putem folosi FileSystem API. Acorda fiecarui domeniu o ierarhie in sistemul de fisiere. Pentru actiunile de scriere/citire de fisiere individuale, API-ul este contruit pe FILE API existent deja.
Avantaje:
-poate stoca continut mare de date de tip binar fiind potrivit pentru imagini, audio, video, pdf, etc.
-performanta buna, find un API asincron
Dezavantaje:
-e un standard relativ nou , fiind suportat de chrome momentan
-nu exista suport pentru tranzactii
-nu are suport pentru indexare sau cautare in fisiere
Niciun comentariu:
Trimiteți un comentariu