O aplicație web este o aplicație client-server în care clientul interacționează cu un server web folosind un browser . Logica aplicației web este distribuită între server și client, datele sunt stocate în principal pe server, informațiile sunt schimbate prin rețea . Un beneficiu al acestei abordări este că clienții sunt independenți de sistemul de operare specific al utilizatorului , astfel încât aplicațiile web sunt servicii multiplatforme.
Aplicațiile web au devenit utilizate pe scară largă la sfârșitul anilor 1990 și începutul anilor 2000 .
Un avantaj semnificativ al construirii de aplicații web pentru a suporta funcționalitatea standard de browser este că funcționalitatea trebuie să ruleze independent de sistemul de operare al unui anumit client. În loc să scrieți versiuni diferite pentru Microsoft Windows , Mac OS X , GNU/Linux și alte sisteme de operare, o aplicație este creată o dată pentru o platformă arbitrară și implementată pe ea. Cu toate acestea, implementarea diferită, CSS , DOM și alte specificații în browsere pot cauza probleme în dezvoltarea aplicațiilor web și asistența ulterioară. În plus, capacitatea utilizatorului de a configura multe setări ale browserului (de exemplu, dimensiunea fontului , culorile, dezactivarea suportului pentru scripturi) poate împiedica aplicația să funcționeze corect.
O altă abordare (mai puțin versatilă) este utilizarea aplicațiilor Adobe Flash , Silverlight sau Java pentru a implementa întreaga interfață sau o parte a interfeței cu utilizatorul. Deoarece majoritatea browserelor acceptă aceste tehnologii (de obicei prin intermediul pluginurilor ), aplicațiile Flash sau Java pot rula cu ușurință. Deoarece oferă programatorului mai mult control asupra interfeței, ei sunt capabili să rezolve multe incompatibilități în configurațiile browser-ului, deși incompatibilitățile dintre implementările Java sau Flash la nivelul clientului pot duce la diverse complicații.
Pentru 2015, tehnologia Adobe Flash nu este acceptată de Chrome, Safari și alte browsere populare. [unu]
Datorită asemănării arhitecturale cu aplicațiile tradiționale client-server, într-un fel clienți „groși” , există dispute cu privire la corectitudinea clasificării unor astfel de sisteme ca aplicații web; termenul alternativ este Rich Internet Applications .
Sunt utilizate abordări ale designului arhitectural al aplicațiilor web [2] . O aplicație web constă dintr-un client și părți server, implementând astfel tehnologia „client-server” .
Partea client implementează interfața utilizator [3] , generează cereri către server și procesează răspunsurile de la acesta.
Partea de server primește o solicitare de la client, efectuează calcule, apoi generează o pagină web și o trimite clientului prin rețea folosind protocolul HTTP .
Aplicația web în sine poate acționa ca un client pentru alte servicii, cum ar fi o bază de date sau altă aplicație web găzduită pe un alt server. Un exemplu izbitor de aplicație web este sistemul de gestionare a conținutului articolelor Wikipedia : mulți dintre participanții săi pot lua parte la crearea unei enciclopedii online folosind browserele sistemelor lor de operare (fie că este Microsoft Windows , GNU/Linux sau orice alt sistem de operare). ) și fără a descărca module executabile suplimentare pentru lucrul cu baza de date de articole.
O nouă abordare a dezvoltării de aplicații web numită Ajax câștigă în prezent popularitate . Când utilizați Ajax , paginile aplicației web nu se reîncarcă în întregime, ci doar descarcă datele necesare de pe server, ceea ce le face mai interactive și mai productive.
De asemenea, recent, tehnologia WebSocket câștigă o mare popularitate , care nu necesită solicitări constante de la client către server, ci creează o conexiune bidirecțională, în care serverul poate trimite date către client fără o solicitare din partea acestuia din urmă. Astfel, devine posibilă gestionarea dinamică a conținutului în timp real.
Pentru a crea aplicații web pe partea de server, sunt utilizate o varietate de tehnologii și orice limbaj de programare :
Nume | Licență | server web |
---|---|---|
A.S.P. | proprietate | de specialitate |
ASP.NET | proprietate | de specialitate |
C / C++ | gratuit | aproape orice |
Java [4] | gratuit | multe, inclusiv gratuite |
Perl | gratuit | aproape orice |
PHP | gratuit | aproape orice |
Piton | gratuit | aproape orice |
rubin | gratuit | aproape orice |
Nodejs | Licență MIT | proprii |
ASP.NET vNext | Apache 2 | aproape orice [Ed. unu] |
Pe partea clientului se utilizează: