sábado, 10 de agosto de 2013

XML vs JSON

XML & JSON 

XML
·         Es un lenguaje de metamarcado que ofrece un formato para la descripción de datos estructurados. Esto facilita unas declaraciones de contenido más precisas y unos resultados de búsquedas más significativos en varias plataformas. Además, XML habilitará una nueva generación de aplicaciones para ver y manipular datos basadas en el Web.
Ventajas
·         Fácilmente procesable tanto por humanos como por software.
·         Es un lenguaje muy simple(Mas que SGML)
·         Es un lenguaje de marcado muy extensible(Flexibilidad en adición de nuevos servicios, Debe soportar crecimiento en hardware y software)
·         Separa radicalmente la información o el contenido de su presentación o formato.
·         Diseñado para ser utilizado en cualquier lenguaje o alfabeto.
·         Su análisis sintáctico es fácil debido a las estrictas reglas que rigen la composición de un documento.
·         Garantizada por consorcios como W3C.
·         Tiene soporte a cualquier tipo de datos (Cualquier tipo clásico y otros(Multimedia, ejecutables))
·         Estructura Jerárquica
·         El No. De marcas es ilimitado
Desventajas
·         La posibilidad de construir sistemas acordes a nuestras necesidades para el intercambio de datos podría llevarnos a la proliferación de versiones incompatibles y si esto llegase a suceder, entonces la solución que plantea el XML ante la búsqueda de intercambio universal de información, lo llevaría a su opuesto; en vez de unificar todo un lenguaje, nos encontraríamos con lenguajes muy específicos y cada vez más alejados de la “universalidad”.
·         Complejidad de analizador(parser)
·         Es de muy baja preferencia por parte de los programadores debido a su complejidad,  a no ser que usen herramientas externas.
·        
Es una tecnología sencilla y fácil de entender, además se aplica un razonamiento lógico a su estructura.


JSON
·         JSON (JavaScript Object Notation) es un formato bastante ligero empleado para el intercambio de datos, siendo un subconjunto de la notación para objetos empleada en JavaScript. La sencillez de esta formato le ha aventajado permitiendo una gran difusión de la tecnología como alternativa a XML.

·         Una de las grandes ventajas de JSON sobre XML como formato de intercambio de datos (según los expertos) se trata de que escribir un analizador sintáctico mediante JSON es mucho más sencillo que utilizando XML, además de procesarse más rápido que  el primero en cualquier navegador.
Ventajas:
·         JSON va reemplazando a XML poco a poco como medio preferido a la hora de intercambiar datos entre aplicativos de distintas plataformas. Los motivos por los que se argumenta que JSON es mejor son casi siempre los mismos:
·         JSON es más fácil de leer que XML.
·         JSON es más ligero (bytes) en las transmisiones (desde luego que no hay etiqueta de cierre, pero sí de apertura).
·         JSON se parsea más rápido.
Desventajas:
·         No aplica una característica que posee XML, Extensibilidad.
·         No hay consorcios que la garanticen, pero  si comunidades como Linux.
·         No soporta grandes cargas, solo datos comunes.
·         Para la seguridad requiere de mecanismos externos como expresiones regulares

Ejemplo Comparativo en XML y JSON
Regiones del Perú
                    XML

<?xml version="1.0" encoding="UTF-8" ?>  
<regiones>  
  <region id="0">Costa</ region >  
  < region id="1">Sierra</ region >  
  < region id="2">Selva</ region >  
</ regiones >  

                                   JSON
{"regiones":[  
    {" region ": { "@id": "0", "#text": "Costa" }}  
,  
    {" region ": { "@id": "1", "#text": "Sierra" }}  
,  
    {"region": { "@id": "2", "#text": "Selva" }}  
]}  



·         Si bien XML tiene mucho más soporte y herramientas de desarrollo JSON tiene suficientes: al menos una para cada lenguaje. En casos como Java o PHP tenemos varias implementaciones donde escoger. Con JavaScript el análisis del documento se realiza de forma nativa con la función eval(). Ninguno de los dos ofrece un método para representar grandes objetos binarios: normalmente información multimedia. JSON representa mejor la estructura de los datos y requiere menos codificación y procesamiento.

No hay comentarios:

Publicar un comentario