vineri, 9 ianuarie 2009
Numaratoarea inversa incepe
Au mai ramas 4 zile pana la predarea proiectului, momentan suntem la limita dintre prima pagina si pagina 2, dar sper sa urcam mai sus.
marți, 9 decembrie 2008
Google Chrome Download
MySpace si Facebook nu sunt pregatite pentru noul IE8
In mod ironic, mult asteptatul Internet Explorer 8 care ar trebui sa suporte standardele web nu afiseaza corect pagini ca MySpace, Facebook, CNN, BBC etc, tocmai pentru ca ele au fost proiectate pentru versiuni mai vechi de IE. Dupa cum stiti (sau nu), versiunile IE mai vechi ignorau pur si simplu standardele web.
Felicitari Microsoft, ai distrus webul inca o data!
Sursa: http://www.favbrowser.com/mace-to-your-face-myspace-facebook-not-ready-for-ie8/
Trojan pt Firefox
Cu cateva zile in urma, BitDefender a identificat noua pacoste de Sarbatori, cunoscuta sub numele de Trojan.PWS.ChromeInject.A.
Trojanul se autoinstaleaza in directorul de addonuri Firefox, se inregistreaza singur ca Greasemonkey, si incepe sa caute pe HDD parole, registri de login, informatiile contului de World of Warcraft si numere de carti de credit.
Odata instalat, trojanul este capabil sa identifice peste 100 de siteuri web. Cand un utilizator infectat viziteaza siteul pe care il recunoaste trojanul, parazitul iese la suprafata si inregistreaza detaliile de login/parolele care sunt transmise. Se presupune ca atunci se intoarce in modul idle, observand din umbra toata activitatea sistemului.
Pentru mai multe detalii, verificati articolul original al lui ArsTechnica.
Sursa: http://www.favbrowser.com/trojan-for-firefox/
luni, 8 decembrie 2008
Clasamentul celor mai folosite browsere (noiembrie 2008)
Internet Explorer 69.77%
Mozilla Firefox 20.78%
Apple Safari 7.13%
Google Chrome 0.83%
Opera 0.71%
Netscape Navigator 0.53%
Mozilla sau SeaMonkey 0.08%
A se observa ascensiunea lui Google Chrome care, la nici 3 luni de la lansare a acaparat aproape 1% din piata, depasind browsere mult mai vechi cum ar fi Opera sau Netscape Navigator.
Va reamintim siteul nostru: Interfete Web
Primul server web
Primul server web folosit de Tim Berners-Lee, acum la Microcosm, muzeu al CERN:
Prima fotografie de pe web
In continuare aveti prima poza postata pe internet, in anul 1992:

Mai sus este FIX PRIMA POZA PUBLICATA PE INTERNET!
Sursa: http://musiclub.web.cern.ch/MusiClub/bands/cernettes/firstband.html
Prima pagina web cunoscuta
http://www.w3.org/History/19921103-hypertext/hypertext/WWW/TheProject.html
Va reamintim siteul nostru: Interfete Web
Blizzard Jobs

Binecunoscuta casa de jocuri Blizzard Entertainment scoate urmatoarele posturi pentru WEB designeri:
Producer, Web Software Engineering (nou)
Lead Producer, Web/Mobile (nou)
Senior UI Designer
Web Scripting Engineer
Web Graphic Designer
Web Designer
Associate Software Engineer, Web
Software Engineer, Web
Web Layout/UI Designer
Mai multe detalii la: www.blizzard.com



Nu uitati sa ne vizitati siteul la adresa: Interfete Web
duminică, 7 decembrie 2008
Noul site Armin van Buuren

Interfete Web
Pentru multi dintre voi, numele de Armin van Buuren poate parea o enigma. De fapt, el este unul dintre cele mai mari nume ale muzicii electronice la ora actuala, si de ce nu, a muzicii in general. Catalogat de topul DJ Mag ca fiind cel mai mare DJ al anului 2008, Armin van Buuren este cunoscut prin seturile sale live lungi (9 ore), dar nu in ultimul rand prin cel mai cunoscut Radioshow electronic: A State Of Trance (ASOT) pe di.fm.

Dupa lungi asteptari in care siteul personal de artist a fost in constructie, acum cateva saptamani a revenit intr-o forma noua, cu un design mult imbunatatit. Chiar daca structura a ramas aproape identica, grafica si designul sunt superioare versiunii anterioare, siteul poseda in prezent animatii si alte tipuri de eye-candies, inexistente pana acum. De remarcat ar fi faptul ca sectiunile Multimedia/Releases sunt inca in constructie.
Linkul catre siteul artistului este: http://www.arminvanbuuren.com/
Joi, 4 decembrie a fost difuzata cea mai noua emisiune a sa, ajunsa la episodul cu numarul 381. Tracklist cu piesele aveti mai jos:
1. FUTURE FAVORITE: Dash Berlin with Cerf, Mitiska & Jaren – Man On The Run (Armada)
2. Ashley Wallbridge – The Embrace (Aurosonic Waiting For Sunrise Mix) (Ask4 Music)
3. Myon & Shane 54 feat. Carrie Skipper – Vampire (Gareth Emery remix) (Armind)
4. David Newsum – Spank Bank (Activas Deep mix) (Kill The Lights)
5. Mike Koglin – Find Me (Orjan Nilsen Vocal mix) (Noys Records)
6. B.T. - Force of Gravity (Orjan Nilsen mix)
7. Cor Fijneman feat. Melissa Mathes – Disappear (Cliff Coenraad & Thomas Hagenbeek Repimp) (Songbird)
8. Leon Bolier vs Jonas Steur – Lost Luggage (Rank 1 remix) (Spinnin)
9.Sebastian Sand – Creeps (Euphonic)
10. TUNE OF THE WEEK: Rank 1 – L.E.D. There Be Light (High Contrast Recordings)
11. Tiddey – Savage Emotions (Prologic Music)
12. Alex M.O.R.P.H. - Sunshine (Nitrous Oxide remix) (Vandit)
13. Hodel & Avenger – Rebirth
14. Robert Nickson – Circles (ASOT)
15. Michael Angelo feat. Danny – Test Drive (Nitrous Oxide Dub) (High Light Records)
16. Oliver Smith – Cirrus (Anjunabeats)
17. Robert Nickson & Daniel Kandi feat. Armin van Buuren & Justine Suissa – Wall of Rewire (Avenger remix) (Airbase Bootleg mash up)
18. Sam Sharp – Roundabout (Doorn Records)
19. Robert Burian – Casino (Re-Ward Remix) (Spinnin)
20. 8 Wonders – Everything’s Been Written (ASOT)
21. ASOT RADIO Classic: Paul van Dyk – Nothing but you (PvD Club mix)
Armin van Buuren a sosit si la noi in tara in iunie unde a sustinut eventul Armin Only (primul din Europa din afara Olandei, si al doilea din lume dupa cel din Australia).
Download the Internet!
Daca v-ati gandit vreodata sa downloadati internetul:
Un download mai rapid este la adresa aceasta.
XForms
Am inclus mai jos un link spre un articol care descrie componentele si tehnicile folosite pentru a crea o aplicatie client folosind XForms. Il puteti vizualiza aici
Problema cu lista in Python
Aveti grija cand iterati pe o lista si o modificati, s-ar putea sa aveti surprize neplacute. Ce vreau sa zic:
for item in list:
if foo:
list.remove(list)
NU MERGE! Elementele care urmeaza dupa elementul scos din lista nu mai sunt parcurse. In schimb se poate face astfel:
for item in list[:]:
if foo:list.remove(list)
si esti salvat.
luni, 1 decembrie 2008
Cand folosim CSS si cand XSL?
CSS este mult mai usor de utilizat, de invatat, asadar mult mai usor de intretinut si implica mult mai putin effort. Exista editoare WYS|WYG pentru CSS si in general exista mai multe tool-uri pentru CSS decat pentru XSL. Insa, simplitatea CSS-ului face ca acesta sa fie limitat. Sunt lucruri pe care nu le poti face cu CSS-ul. Pentru aceasta este XSL. Asadar, pentru ce anume folosim XSL? In general pentru orice necesita o transformare. De exemplu, daca avem o lista pe care vrem sa o afisam in ordine lexicografica, sau daca anumite cuvinte trebuie inlocuite cu altele, sau cand elemente goale trebuie ‘umplute’ cu text.Regula ''Interfete Evoluate'': folositi CSS ori de cate ori puteti, folositi XSL atunci cand trebuie!
De ce sa alegi JavaScript si nu Flash?
Echipa Interfete Web iti prezinta 3 motive care sa te determine sa alegi JavaScript in aplicatiile Web:
- O aplicatie web trebuie sa suporte standardele web - HTML si CSS sunt ceea e numim "web standards". Cel mai mare avantaj pentru JavaScript este faptul ca reprezinta un limbaj nativ pentru web - in sensul ca principalul model de obiect pentru JavaScript este modelul obiect al documentului HTML/CSS. Flash-ul, cu toate avantajele sale, se pozitioneaza undeva in afara browserului. In acest sens, Flash-ul nu este cu mult diferit de Java-on-the-client. Sunt convinsa ca Flash-ul va gasi o metoda de a se integra in mod nativ cu browserul , dar nu a ajuns inca acolo :P.
- JavaScript beneficiaza de suport pentru librarii "open source":Acesta reprezinta un mare ajantaj.Varietatea librariile existente pentru JavaScript continua sa fie din ce in ce mai complete.
- Vector Graphics in Browsere:Vector Grafics precum SVG (Firefox, Opera), VML (IE) si HTML Canvas (Firefox, Safari, Opera)sunt presente in browsere. Mda, este trist ca IE nu suporta SVG, dar exista solutii auxiliare pentru aceasta ''problema''. Lucru imbucurator este ca SVG si VML sunt XML si JavaScript ''friendly''.
Avantajele si dezavantajele blogurilor
In ultimul timp blogurile au inceput sa fie din ce in ce mai folosite.
Ele au numeroase avantaje:
- sunt usor de creat si de intretinut (Ex: blogger.com)
- search-engine-friendly – fiecarui post ii este atribuit un URL; Daca postul are o topica specifica iar cuvintele cheie alese descriu foarte bine articolul, acestea pot fi gasite foarte usor de motoarele de cautare
- interactiune cu alti utilizatorii – blogurile au o optiune de activare a comentariilor iar utilizatorii pot citi articolele si le pot comenta
- o sursa de informare - aici se pot scrie tot felul de articole referitoare la un anumit domeniu in functie de tematica abordata de blog
- un instrument de promovare (Ex: prin acest blog promovam site-ul : Interfete Web)
Dezavantaje:
- nu sunt structurate
- cand numarul de posturi este prea mare sunt mai greu de intretinut si necesita foarte mult timp
- este mai greu de navigat
Blogurile trebuie sa fie administrate si update continuu cu informatie pentru ca oamenii sa se intoarca
marți, 4 noiembrie 2008
Sintaxa JavaScript partea 2/2
Partea 1 a tutorialului o aveti la adresa: http://interfetze.blogspot.com/2008/11/sintaxa-javascript-partea-12.html
Nivel de dificultate: mediu
5. Operatorii:
În JavaScript, operatorii sunt în mare parte identici cu cei din C şi C++, şi anume:
a) operatori aritmetici:
operatorul de atribuire =
adunare +
scădere -
înmulţire *
împărţire /
modulo % (returnează câtul unei împărţiri întregi)
operatorul de incrementare ++ (adună 1 la valoarea operandului)
operatorul de decrementare -- (scade 1 din valoarea operandului)
Notă: operatorii de incrementare şi decrementare sunt operatori unari (necesită un singur operand), în timp ce toţi ceilalti sunt binari (lucrează cu doi operanzi). Ordinea de executare a operaţiilor este cea cunoscută din matematica clasica: operaţiile se execută de la stânga spre dreapta, cu operaţiile de înmulţire şi împărţire prioritare asupra adunării şi scăderii.
Operatorii ++ şi -- necesită puţină atenţie suplimentară, întrucât comportamentul lor diferă în funcţie de poziţia operatorului în raport cu operandul său. Astfel, considerând codul:
var a = 5;
if (a++> 5) a = 10;
La rularea acestui script, valoarea lui a la final va fi 6, nu 10. De ce? Ei bine, poziţia operatorului ++ este după operand, ceea ce înseamnă că operaţia de incrementare va fi ultima din blocul său de operaţii, care în acest caz mai conţine comparaţia variabilei cu constanta 5. Adică întâi se compară, după care a se incrementează la 6. Efectuând însă doar o modificare minoră la cod, datele problemei se schimbă:
if (++a> 5) a = 10;
Rulând acest script, a va lua valoarea 10, deoarece în acest caz incrementarea se va efectua înaintea comparaţiei, moment în care a va avea valoarea 6, condiţia fiind îndeplinită.
b) operatori de comparaţie:
mai mic strict <>
mai mare sau egal >=
egal ==
diferit !=
strict egal ===
strict diferit !==
Atenţie! Reţineţi că operatorul care verifică dacă două valori sunt egale este reprezentat de un dublu semn 'egal' (==), 'egal'-ul simplu fiind operatorul de atribuire. Evitaţi confuzia între aceşti doi operatori!
Diferenţa dintre == şi ===, respectiv dintre != şi !==, este că la cele din urmă, typecasting-ul nu mai este efectuat înainte de comparaţie.
Cu alte cuvinte, 5 == '5' va returna true, în timp ce 5 === '5' va returna false.
c) operatori logici - folosiţi în combinarea de valori logice (adevărat/fals):
şi logic &&
sau logic ||
negare (non logic) !
Aceşti operatori se folosesc cel mai des în cazul combinării mai multor condiţii, în bucle sau structuri condiţionale. Spre exemplu:
if (a>= 4 && a <= 10) b = 7; else b = 10;
În acest caz, variabila b va avea valoarea 7 doar atunci când a aparţine intervalului 4 - 10, orice altă valoare a lui a rezultând în atribuirea valorii 10 lui b.
6. Variabilele
În JS, variabilele nu trebuie declarate explicit. Declararea unei valori este echivalentă cu prima asignare de valoare identificatorului corespunzător. Până la acel moment identificatorul respectiv nu exista în structura script-ului, deci orice referire la el va genera o eroare:
var a = 0; // identificatorul 'a' devine accesibil
if (a == b) a = 1; // va genera o eroare, întrucât
// identificatorul 'b' nu exista în program
Precedarea primei declarări a unei variabile cu cuvântul-cheie var e opţională, însă e recomandată din motive de compatibilitate, motoarele de interpretare a JavaScript-ului implementate în unele browsere necesitând acest cuvânt-cheie.
După cum am mai spus, interpretorul JavaScript realizează typecasting-ul (conversia între tipuri) în mod automat, debarasând programatorul de această sarcină. Astfel, dacă rulăm următoarea secvenţă de cod, variabila v se va modifica conform comentariilor:
var v = 2; // se initializează variabila v sub forma numărului întreg 2
v += 1.4; // v devine un număr real cu valoarea 3.4
v += '5'; // v se transformă într-un string, cu valoarea '3.45'
Atenţie! Observăm aici două proprietăţi specifice JavaScript-ului:
- pentru concatenarea ('alipirea') cifrei '5' la variabila v, am folosit tot operatorul de adunare +, deoarece în JavaScript, + mai reprezintă şi operator de concatenare de şiruri de caractere. Reţineţi-l, deoarece îl veţi folosi destul de des.
- în ciuda aparenţelor, rezultatul ultimei operaţii nu este numărul real 8.4, ci un string (şir de caractere), cu valoarea '3.45'. Asta se întâmplă deoarece în JavaScript, typecasting-ul se desfăşoară prioritar în direcţia unui rezultat de tip string. Reţineţi şi această anomalie, întrucât, după cum vom vedea în tutorialele viitoare, majoritatea proprietăţilor obiectelor DOM-ului sunt reţinute în variabile de tip string.
Sursa: www.tutoriale.far-php.ro
Sintaxa JavaScript partea 1/2
Partea a 2-a tutorialului o puteti gasi la adresa: http://interfetze.blogspot.com/2008/11/sintaxa-javascript-partea-22.html
Nivel de dificultate: mediu
In continuare avem un tutorial format din doua parti care are ca scop prezentarea elementelor de sintaxa din JavaScript.
Având în vedere că JavaScript este inspirat din Java, care la rândul său e inspirat din limbajul C, cele trei au o sintaxă foarte similară în ceea ce priveşte operatorii, structurile de control şi accesarea obiectelor, chiar identică în unele cazuri. Voi recapitula totuşi structurile de control, pentru cei care nu le cunosc sau au lucrat în alte limbaje de programare, 'non-C-like':
1. instrucţiunea multiplă
La fel ca în C sau Java, fiecare linie individuală din cod este considerată ca o instrucţiune. De asemenea, structurile condiţionale sau repetitive primesc ca şi obiect de executat o singură instrucţiune. Putem însă grupa execuţia mai multor instrucţiuni ca să fie văzute ca o succesiune unitară de execuţie (practic 'păcălim' compilatorul să le interpreteze ca pe o singură instrucţiune) încadrându-le cu o pereche de acolade { }.
Acoladele sunt folosite de asemenea pentru a delimita instrucţiunile care constituie corpul unei funcţii-utilizator. Nu voi elabora pe această temă, întrucât voi discuta mai pe larg într-unul din tutorialele următoare.
2. comentariile
La fel ca în C şi Java, JavaScript suportă două tipuri de comentarii: comentarii-bloc şi comentarii-linie. Acestea nu au nici o valoare reală pentru program (conţinutul lor nu afecteaza în nici un mod execuţia scriptului), fiind folosite mai mult pentru a realiza o documentare sumară a scriptului, în ideea de a găsi mai uşor o anumită secţiune de cod sau în ideea că scriptul scris de un programator va fi mai târziu modificat sau extins de un altul, înlesnindu-i acestuia lucrul şi înţelegerea algoritmului şi a variabilelor folosite.
De asemenea, comentariile sunt utile la depanarea programului, atunci când suspectăm o instrucţiune sau un bloc de cod că ar genera o anumită eroare: cea mai buna metodă de a confirma acest lucru este să eliminăm codul respectiv din program şi să vedem dacă eroarea mai apare. Ei bine, gândiţi-vă dacă e vorba de 20 sau chiar 50 de linii de cod, câtă muncă ar presupune dacă le-am şterge din program, constatând apoi că sursa erorii e alta, şi să fim nevoiţi să le scriem din nou... (da, ştiu şi eu de comanda 'Undo', însă ea nu este una pe care trebuie să ne bazăm 100% ). Drept urmare, cea mai simplă şi mai sigură metodă de a elimina temporar codul respectiv e să il 'comentăm'.
Revenind la subiect, cele două tipuri de comentarii din JavaScript sunt:
- comentarii-bloc: orice text cuprins între perechea de simboluri /* şi */ consecutivă
- comentarii-linie: textul aflat după simbolul // şi până la sfârşitul linei respective
3. structuri conditionale (branch-uri)
Blocurile condiţionale se folosesc pentru a determina devierea execuţiei programului în direcţii diferite, sau ne-executarea unei anumite secţiuni de cod, în funcţie de valoarea uneia sau mai multor variabile verificate ca şi condiţie.
a) blocul if - else
Blocul condiţional if - else se foloseşte în cazul în care dorim execuţia uneia din două variante, sau dorim ca o secţiune de cod să se execute doar în anumite condiţii. Sintaxa instrucţiunii este următoarea:
if (condiţie)
instrucţiune
//sau
if (condiţie)
instrucţiune1;
else
instrucţiune2;
Condiţia poate fi orice expresie care poate fi evaluată logic (sub formă de 'adevărat' sau 'fals') - comparare, egalitate, inegalitate, combinaţie de operaţii logice etc. Reţineţi de asemenea că JavaScript realizează conversia între tipurile de variabile automat (automatic typecasting), drept urmare, chiar dacă expresia condiţiei nu e strict logicăa, se încearcă conversia ei la o valoare true sau false. Valorile null, 0 numeric, sau string-ul gol sunt evaluate la valoarea false, în timp ce orice altă valoare este evaluată la true.
Ramura else e opţională, ea putând lipsi, caz în care dacă nu se îndeplineşte condiţia, compilatorul continuă execuţia codului de la linia următoare blocului, practic 'sărind' peste instrucţiune. Instrucţiunea poate fi reprezentată de o singură instrucţiune efectivă sau de o instrucţiune multiplă.
var a = 3;
var b = 6;
if (a == b)
c = true;
else
c = false;
// in conditiile acestea, c va avea valoarea false
b) blocul switch
Switch se foloseşte atunci când expresia evaluată poate avea mai multe posibile valori. Practic un bloc switch e similar cu o succesiune de blocuri if - else.
switch (expresie) {
case valoare1 :
operatie1;
case valoare2 :
operatie2;
...
default :
operatie_implicita;
}
În momentul în care compilatorul constată că expresia are una din valorile enumerate, va executa codul din bloc, începând de la eticheta corespunzătoare valorii (eticheta = o declaraţie "case valoare :" ).
Atenţie, execuţia nu va ieşi din bloc la întâlnirea următoarei valori, ci va continua execuţia până la finalul buclei sau întâlnirea unei instrucţiuni break (aşa-numitul comportament 'fall-through' al instrucţiunii switch). Pentru a evita asta, fiecare cod aferent unei etichete trebuie finalizată cu o instrucţiune break.
Secţiunea default e opţională, iar când există, trebuie să fie ultima secţiune. Codul din această secţiune se execută atunci când expresia nu are nici una din valorile etichetelor din bloc, caz în care, dacă default lipseste, nu se va executa nimic.
4. structuri repetitive (bucle)
Structurile repetitive reprezintă instrucţiuni sau blocuri de instrucţiuni care sunt executate în mod repetat, atâta timp cât una sau mai multe condiţii sunt îndeplinite.
a) bucla for - repetiţie pe un număr stabilit de iteraţii
Atunci când o secţiune de cod se doreşte a fi repetată de un anumit număr de ori, cea mai convenabilă soluţie este încapsularea codului respectiv într-o buclă for. Sintaxa instrucţiunii for e următoarea:
for (iniţializare; condiţie; operaţie_la_final)
instrucţiune;
Codul se execută în cazul unei bucle for în următorul mod:
1. se execută codul declarat la iniţializare
2. se verifică condiţia. Dacă această verificare returnează false, se iese din buclă
3. se execută instrucţiunea (sau blocul de instrucţiuni, în cazul unei instrucţiuni multiple)
4. se execută codul declarat în operaţie_la_final
5. se revine la pasul 2.
a = 1;
f = 10;
for (i = 1; i <= f; i = i + 1) { a = a * i; }
Codul de mai sus ne calculează valoarea lui 10 factorial (1 * 2 * 3 * ... * 9 * 10), întrucât repetă operaţia de înmulţire a lui a cu i de 10 ori, i fiind incrementat cu 1 la fiecare ciclare.
b) buclele while şi do ... while
Aceste bucle se folosesc atunci când nu ne interesează câte iteraţii se realizează, ci doar ca acestea să se bucleze cât timp o condiţie e îndeplinită. Sintaxa lor e următoarea:
while (conditie)
instructiune;
// si
do
instructiune
while (conditie)
Cele două blocuri sunt foarte similare, ambele executând codul până când condiţie returnează false, însă între ele există o diferenţă crucială: în cazul lui while, condiţia este verificată înainte de executarea instrucţiunii (astfel se poate, în funcţie de condiţii, ca bucla să nu cicleze nici măcar o dată), în timp ce do ... while execută întâi instrucţiunea, după care verifică condiţia, astfel instrucţiunea executându-se cel puţin o dată.
În oricare din buclele enumerate mai sus, execuţia poate fi controlată cu ajutorul unor instrucţiuni specifice, şi anume:
break - întrerupe ciclarea buclei şi continuă execuţia programului cu prima instrucţiune de după buclă
continue - întrerupe execuţia iteraţiei curente şi continuă execuţia programului de la începutul buclei
Sursa: www.tutoriale.far-php.ro
JavaScript
Nivel de dificultate: incepator
Ce este JavaScript?
JavaScript este un limbaj de programare orientat obiect bazat pe conceptul prototipurilor. Este folosit mai ales pentru introducerea unor funcţionalităţi în paginile web, codul Javascript din aceste pagini fiind rulat de către browser. Limbajul este binecunoscut pentru folosirea în construirea siturilor web, dar este folosit şi pentru acesul la obiecte încastrate (embedded objects) în alte aplicaţii. La începuturi a fost dezvoltat de către Brendan Eich de la Netscape Communications Corporation sub numele de Mocha, apoi LiveScript, şi denumit în final JavaScript.
În ciuda numelui şi a unor oarecare similarităţi în sintaxă, între JavaScript şi limbajul Java nu există nicio legătură. Ca şi Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are mai multe în comun cu limbajul Self decât cu Java.
Până la începuturile lui 2005, ultima versiune existentă a fost JavaScript 1.5, care corespunde cu Ediţia a 3-a ECMA-262, ECMAScript, cu alte cuvinte, o ediţie standardizată de JavaScript. Versiunile Mozilla începănd cu 1.8 Beta 1 de asemenea au avut suport pentru E4X, care este o extensie a limbajului care are de a face cu XML, definit în standardul ECMA-357. Versiunea curentă de Mozilla, 1.8.1 (pe care sunt construite Firefox şi Thunderbird versiunile 2.0) suportă JavaScript versiunea 1.7.
Sunt debusolat: Java, JavaScript şi JScript?
Schimbarea numelui din LiveScript în JavaScript s-a făcut cam în acelaşi timp când Netscape incorpora suport pentru tehnologia Java în browserul web Netscape Navigator.
Microsoft a implementat limbajul JavaScript sub numele de JScript, cu o serie de modificări şi extensii faţă de implementarea Netscape. Pe platforma Windows, JScript este unul din limbajele executabile de către Windows Script, şi deci poate fi folosit pentru scriptarea aplicaţiilor ce suportă Windows Script, de ex. Internet Explorer, sau chiar sistemul de operare Windows.
Asociaţia ECMA a standardizat limbajul JavaScript/JScript sub numele ECMAScript (standardul ECMA-262)
Utilizare:
Cea mai des întâlnită utilizare a JavaScript este în scriptarea paginilor web. Programatorii web pot îngloba în paginile HTML "script"-uri pentru diverse activităţi cum ar fi verificarea datelor introduse de utilizatori, sau crearea de meniuri şi alte efecte animate.
Browserele reţin în memorie o reprezentare a unei pagini web sub forma unui arbore de obiecte, şi pun la dispoziţie aceste obiecte script-urilor JavaScript, care le pot citi şi manipula. Arborele de obiecte poartă numele de Document Object Model sau DOM. Există un standard W3C pentru DOM-ul pe care trebuie să îl pună la dispoziţie un browser, ceea ce oferă premiza scrierii de script-uri portabile, care să funcţioneze pe toate browserele. În practică însă, standardul W3C pentru DOM este incomplet implementat. Deşi tendinţa browserelor este de a se alinia standardului W3C, unele din acestea încă prezintă incompatibilităţi majore, cum este cazul Internet Explorer.
O tehnică de construire a paginilor web tot mai întâlnită în ultimul timp este AJAX, abreviere de la Asynchronous JavaScript and XML. Această tehnică constă în executarea de cereri HTTP în fundal, fără a reîncărca toată pagina web, şi actualizarea numai anumitor porţiuni ale paginii, prin manipularea DOM-ului paginii. Tehnica AJAX permite construirea unor interfeţe web cu timp de răspuns mic, întrucît operaţia (costisitoare ca timp) de încărcare a unei pagini HTML complete este în mare parte eliminată.
Sursa: www.wikipedia.org
luni, 3 noiembrie 2008
XHTML
Acesta este un tutorial de pe siteul nostru: Interfete Web
Nivel de dificultate: incepator
Ce este XHTML?
XHTML este acronimul de la eXtensible HyperText Markup Language, si este un limbaj de marcare ce are aceleaşi capabilităţi expresive ca şi HTML. XHTML poate fi considerat ca încrucişarea dintre HTML şi XML în multe privinţe, fiind o reformulare a HTML în XML. XHTML 1.0 a devenit o recomandare World Wide Web Consortium (W3C) pe data de 26 ianuarie 2000.
Practic XHTML este un inlocuitor modern al mai vechiului limbaj HTML, fiind aproape identic cu standardul HTML 4.01, o versiune imbunatatita, mult mai stricta si mai curata a standardului HTML 4.0. Abstractizand putin, afirmam ca XHTML reprezinta o definire de tip XML a unui document HTML, pe scurt o combinatie intre HTML si XML. Avantajele unei aplicatii XHTML sunt multiple: pot fi citite de toate dispozitivele XML, in timp ce pastreaza compatibilitatea cu toate browserele de Internet mai vechi sau mai noi fara a necesita specificatii suplimentare. XHTML + TIME este o extensie a limbajului XHTML, oferind documentelor Web suport pentru temporizare si sincronizare multimedia. Astfel, folosind cateva elemente si atribute noi, unei pagini XHTML i se poate adauga continut grafic, audio sau video, care poate fi sincronizat cu alte elemente de-a lungul unui cadru temporal precizat de autorul acelei pagini. Versiunea XHTML + TIME 1.0 a fost disponibila pentru prima data in Internet Explorer 5, iar in prezent XHTML + TIME 2.0 este recunoscut de Internet Explorer, versiunile 5.5 si 6.
Beneficii:
Pagini Web care au continut dinamic
XHTML + TIME poate fi utilizat pentru a adauga paginilor Web continut interactiv, dinamic. De exemplu, pot fi create prezentari Web sub forma de slide-show, in cadrul lor fiind sincronizate fluxuri de date textuale, audio, video sau grafice. Aceste prezentari pot fi temporizate, interactive sau combinate.
Utilizare facila
Facilitatile oferite de XHTML + TIME aduc un set de atribute si elemente noi celor deja existente in limbajul XHTML, astfel ca toate notiunile anterioare de XHTML raman utile pentru proiectarea de pagini Web in XHTML + TIME. Pentru a permite utilizarea facila a mai multor elemente XHTML, acestea pot fi grupate in relatii ierarhice. Gruparea poate fi utila si pentru a preciza daca obiectele multimedia apar si dispar in mod secvential in cadrul paginii Web, sau fiecare are o temporizare independenta de a celorlalte.
Suport pentru scripting:
Limbajele script JavaScript sau VBScript permit si mai mult extinderea flexibilitatii si interactivitatii elementelor temporale din cadrul paginilor Web. XHTML + TIME ofera un model de obiecte complet, care extinde actualul model DHTML, care consta dintr-un set de proprietati, metode si evenimente pentru adaugarea de trasaturi interactive paginilor Web.
Elemente de continut:
Toate elementele care descriu continutul ce urmeaza a fi afisat in pagina, inclusiv elementele noi introduse de XHTML + TIME, care se refera la obiecte multimedia (t:animation, t:audio, t:img, t:media si t:video). Cele mai utilizate elemente de continut din XHTML sunt p, div, span, precum si elementele pentru descrierea de tabele. Prin adaugarea de atribute XHTML + TIME unui element de continut, poate fi definita o aparitie periodica a elementului respectiv. - elemente de stil : descriu stilul de afisare pentru un element. Dintre cele mai utilizate elemente de stil amintim: b, i si em. Atributele aplicate unui element de stil determina atasarea si inlaturarea unor stiluri de afisare pe parcursul timpului.
Sursa: www.wikipedia.org