Ho parlato con un collega che viene da AS3
al mondo HTML
. Ha creato un piccolo sito web (non ci sono apparentemente contenuti dinamici) seguendo le regole no-flash per la sua prima volta, e come se possedessi un martello tendi a martellare tutto, ha deciso di creare un framework in JavaScript
, in modo che potesse fare tutto "il AS3
modo", con cornici, animazioni di coordinate XY pure e così, per animare i contenuti. Inizialmente la pagina verrebbe caricata completamente, caricando prima la grande quantità di JS e poi la pagina sarebbe accessibile senza modificare l'URL.
Le viste si trasformerebbero in metodi di classe (dove la classe rappresenta una sezione e il metodo rappresenta una vista) che aggiunge testo a una variabile che viene quindi aggiunta a un div. Difende questa situazione con molte ragioni:
- I siti Web con una grande quantità di utenti lo fanno per prevenire il sovraccarico del server.
- È più facile creare nuove sezioni.
- È più facile tradurre, come traduzioni, testi e quasi tutto viene caricato da
JSON
. - Puoi espandere più sezioni direttamente da un file
JSON
. - Tutto è scorrevole, poiché non ti sposti su un'altra pagina.
Ora, ecco lo sviluppatore fedele di PHP, che difende il lato opposto. Dico che le viste dovrebbero essere divise in file più piccoli ma contenuti in .php
o anche .html
file, con la logica di business in un controller e la logica di visualizzazione in questi file. Questo rilascia il client, in quanto può disabilitare JavaScript
e mostrare ancora il contenuto senza una questione. Naturalmente il tuo server ha bisogno di fare calcoli, ma è solo il rendering dei file. Alcuni vantaggi potrebbero essere:
- Non è necessario caricare l'intero sito Web all'inizio. Pagine web caricate più velocemente.
- I tuoi url sono sempre puliti e (nel caso tu lo abbia fatto) amichevoli, senza plugin e lavorando senza problemi nei vecchi browser, mentre ti sposti su un'altra pagina.
- Le viste sono conservate in file indipendenti, quindi è più facile lavorare con loro in un team.
- Le viste sono normali file
html
, invece delle chiamate ai metodi che aggiungono le stringhe, quindi modificarle è naturale. - Hai ancora bisogno di
PHP
(o qualsiasi altra lingua) per caricare i dati da un server (NodeJS non è considerato qui)
E, naturalmente, ecco la vera domanda. Le visualizzazioni dovrebbero essere visualizzate sul lato client o server?