JSON o XML?
Giovedì 29 Aprile 2010 - 08:10
di Marco Lecce


JSON (Javascript Object Notation) è un formato relativamente recente per lo scambio di dati in applicazioni web client-server: è stato progettato per essere minimale, testuale e integrato in JavaScript.
L’immediatezza e la semplicità di JSON ne hanno decretato il rapido successo e la grande diffusione in svariate web application, soprattutto come valida alternativa a XML per applicazioni AJAX.
Le attuali interfacce utente per web application devono gestire un altissimo livello di interattività, multimedialità e velocità d’esecuzione: per rispondere a queste necessità sono nate le Rich Internet Application (RIA), che portano nelle applicazioni web diversi paradigmi molto utilizzati e conosciuti nelle interfacce desktop.
Il flusso di dati tra client e server è diventato chiaramente un po’ più complesso da gestire, ed è qui che JSON e XML ci vengono in aiuto. Quale formato scegliere però non è sempre una decisione semplice, perchè entrambi rappresentano ottime soluzioni e svolgono il loro compito egregiamente.
In molti ritengono che con gli strumenti forniti dagli attuali framework Javascript come Dojo, JQuery, ExtJs, ecc. JSON e XML siano praticamente interscambiabili. Ma è davvero così?
Nel web hanno preso piede almeno due grandi e distinte scuole di pensiero: quella che punta su JSON come il formato del futuro, per la sua semplicità e per la sua leggerezza rispetto all’XML, che rappresenta invece una soluzione troppo complessa e pesante per il ruolo di formato per lo scambio dati in applicazioni AJAX. Chiaramente la seconda scuola di pensiero è a favore di XML, elogiandone la flessibilità e la maggiore potenza espressiva.
La strada più battuta attualmente sembra essere, guarda caso, quella di mezzo: per applicazioni web il cui flusso di dati può essere coperto da JSON, questo viene favorito per la sua semplicità e immediatezza: nel momento in cui il flusso di dati diventa difficile da gestire, passare a XML sembra che risolva la maggior parte dei problemi, grazie al suo maggior potere espressivo. È dunque questa la strada da seguire?
Categoria: Web Standards, XML/RSS | Permalink
Commenti
1
io scelgo sempre json, il fatto che in php esista la funzione json_encode per trasformare oggetti e array in una stringa json, e che in jquery una stringa json restituita dal server sia automaticamente trasformata in un oggetto rende il tutto troppo semplice per cercarne un alternativa :-)
2
XML è potentissimo ma troppo prolisso e spesso, molto spesso, utilizzato male (basta guardare un po’ le domande del forum).
Per usarlo così meglio json, come è meglio json quando c’è uno scambio dati client / server, json è decisamente + leggero!
3
> per applicazioni web il cui flusso di dati può essere coperto da JSON, […] nel momento in cui il flusso di dati diventa difficile da gestire […]
Ma, limitatamente allo scambio dati ajax-style, cos’avrebbe in più XML rispetto a JSON?
Forse nell’articolo si intendeva la possibilità di costruire applicazioni web2 da una parte, e la possibilità di costruire “canali di comunicazione” tra SoA dall’altra?Se è così, beh, la risposta del MKT è quella detta: entrambi, dipende.
# - postato da emmebì - 29 Aprile 2010 - 09:42
4
sono d’accordo con entrambi i primi due commenti, la mia tendenza è quella di utilizzare il più possibile json al posto di xml :)
5
Per quanto riguarda AJAX ho sempre usato JSON (quasi sempre tramite PHP e MooTools) e non ho mai avuto problemi.
6
da quando i frameweork js di cui sopra sono diventati piu utilizzati della carta igienica, non ho più visto un file in xml..
anche quelli di configurazione di applicazioni lato server sono stati trasformati da xml a json (anche se io preferisco i file yaml x queste cose)# - postato da fubry - 29 Aprile 2010 - 10:00
7
Sono d’accordo con voi: usando php e jquery, JSON è praticamente ‘pappa pronta’. Poi con l’ultima versione di firebug, debuggare JSON è semplice.
Il problema è quando i web service - tipo geonames - restituiscono XML e sono costretto a tradurmelo in un array PHP…# - postato da Luca - 29 Aprile 2010 - 10:05
8
dipende dal tipo di applicazione. actionscript e flash masticano più facilmente gli xml che i json. e col fatto che actionscript3 non supporta più l’eval parserizzarlo è diventato ancora più difficile.
Non so se nell’ultima versione di flash ci sia un supporto nativo a json.
D’altro canto xml può essere trasformato facilmente da oramai ogni browser con i fogli di trasformazione xsl senza dover neanche scomodare xsl.
9
A parte che passare da l’uno all’altro (nel senso di conversione al volo) a volte non e’ difficile ne’ complicato, direi che la risposta e’ ovviamente “entrambi”!
JSON e’ molto piu’ popolare di alcuni anni fa, e ci si lavora bene per quello che promette. E’ anche piu’ leggero, quindi perche’ no?
XML invece trovo che ha deluso molto, e’ ormai uno standard affermato, ma a malincuore mi viene da dire “immeritatamente”.
I tool che promettono “interoperabilita’ con XML” (ormai tutti) spesso supportano la meta’ di quello che ti serve… passano gli anni e si spera sempre nella “prossima versione”….. du’ pall… provate a manipolare file XML con DomDocument in PHP… un incubo. Alla fine il modo migliore di lavorare in XML per me ‘ jQuery, guarda un po’!# - postato da pbattino - 30 Aprile 2010 - 01:03
10
Va bene la pubblicità sulla pagina … ma almeno metteteci il bottone per chiuderla e per leggere l’articolo … non ho parole!!!!
# - postato da Albert - 06 Maggio 2010 - 11:14







