Forum IT Moldova

Notificări
Șterge tot

Single Page Application - o nouă logică de creare a aplicațiilor web


Veronica
Postări: 226
Admin
Topic starter
(@veronica)
Estimable Member
S-a alăturat: 2 ani în urmă

Single Page Application - o nouă logică de creare a aplicațiilor web

 

Într-o aplicație web tradițională, de fiecare dată când este apelat serverul, acesta redă o nouă pagină HTML. Acest lucru face ca browserul să reînnoiască pagina. Dacă ați scris vreodată o aplicație Web Forms sau PHP (Personal Home Page), acest ciclu de viață al paginii ar trebui să vă fie familiar.

În SPA (Single Page Application), după încărcarea primei pagini, toate comunicările cu serverul au loc prin apeluri AJAX (Asynchronous JavaScript and XML). Aceste apeluri AJAX returnează date, de obicei, în format JSON (JavaScript Object Notation). Aplicația folosește date JSON pentru a reînnoi în mod dinamic pagina fără a o reîncărca. În figura de mai jos este ilustrată diferența dintre cele două abordări.

Diferența dintre ciclul de viață a unei aplicații web tradițională și SPA

 

SPA are mai multe avantaje, unul dintre ele este evident: aplicațiile sunt mai flexibile și mai receptive, fără efectul de reîncărcare a paginii. Un alt beneficiu poate fi mai puțin evident în modul în care proiectați arhitectura aplicației dvs. web. Trimiterea datelor aplicației ca JSON oferă o separare între partea de prezentare (marcare HTML) și logica aplicației (solicitări AJAX plus răspunsuri JSON).

Această separare simplifică proiectarea și dezvoltarea fiecărui nivel. Într-o aplicație SPA bine concepută, puteți modifica marcajul HTML fără a atinge codul care implementează logica aplicației (cel puțin în mod ideal). 

Într-o SPA, toată interacțiunea UI (user interface) are loc din partea clientului prin JavaScript și CSS (Cascading Style Sheets). După încărcarea inițială a paginii, serverul acționează exclusiv ca strat de serviciu. Clientul trebuie doar să știe ce solicitări ale HTTP-ului (Hypertext Transfer Protocol) ar trebui să trimită. Nu-i pasă cum își implementează serverul partea.

Cu această arhitectură, clientul și serviciul sunt independenți. Ați putea înlocui complet back-end-ul care rulează serviciul și, atâta timp cât nu modificați API-ul (application programming interface), nu veți separa partea front-end în niciun fel. 

Nu există multe dezavantaje ale SPA. Mai precis, există un singur minus - necesitatea de a cunoaște elementele de bază ale JavaScript-ului. Acest dezavantaj este relevant în primul rând pentru cei care lucrează în C#.

Etichete subiectului
Distribuie: