JSON? Reinventando a roda?  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
agodinhost
Virtual Machine Man
[Avatar]

Membro desde: 28/03/2006 21:19:16
Mensagens: 590
Localização: RJ, Tijuca
Offline

Dentro da nossa liberdade de expressão fica claro que podemos reinventar a roda e racionalizar qq necessidade para tal. Mas o quê vcs acham desse "framework"?

Artigo em pró do framework:
http://www.bergbrandt.com.br/v1/asp/mostra_artigo.asp?artigo_id=14

Artigo "justificando" a necessidade:
http://xmlsucks.org/but_you_have_to_use_it_anyway/does-xml-suck.pdf

Meu primeiro contato com esse framework foi a duas semanas e confesso que, ainda pelo pouco que vi, fiquei muito intrigado qto a "real" necessidade disso. E fora do mundo AJAX?

"The difference between theory and practice is that, in theory, there is no difference between theory and practice".
[WWW] [MSN]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

O JSON não é um framework...
É uma forma de codificar objetos JavaScript (JavaScript Object Notation).
Só de você não ficar dependente de parsers XML (que funcionam diferente em diferentes navegadores) eu já acho que compensa...
Ah, e eu não acho que seja uma reinvenção da roda.

This message was edited 1 time. Last update was at 20/05/2008 08:29:49


Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Eu fico intrigado mesmo é com a "necessidade" de usar XML.

Arquivos .ini são bem mais concisos na hora de fazer configurações. Já eram muito bem utilizados antes do XML, thankyouverymuch.

XML já é um dos formatos menos proprícios para representar dados, overhead dele é gigante. Preciso usar uma tag para falar <numerodoarquivodeprocessamento>1</numerodoarquivodeprocessamento>?

O problema de ter uma linguagem universal dessas, é que ela acava sendo uma das piores opções para muitos casos, até um ponto onde "XML é como a violência, se ela não resolver, use mais dela."


A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
nbluis
GUJ Master
[Avatar]

Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline

A grande sacada é que XML fica muito próximo de um modelo de objetos por sí só, e isso facilita o entendimento em todos os sentidos.

Tipo, como você representaria uma lista em um arquivo .ini ?

Luis Eduardo Bohrer

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
[WWW]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Bruno Laturner wrote:Eu fico intrigado mesmo é com a "necessidade" de usar XML.

Arquivos .ini são bem mais concisos na hora de fazer configurações. Já eram muito bem utilizados antes do XML, thankyouverymuch.

XML já é um dos formatos menos proprícios para representar dados, overhead dele é gigante. Preciso usar uma tag para falar <numerodoarquivodeprocessamento>1</numerodoarquivodeprocessamento>?

O problema de ter uma linguagem universal dessas, é que ela acava sendo uma das piores opções para muitos casos, até um ponto onde "XML é como a violência, se ela não resolver, use mais dela."



Bem, alguns detalhes que talvez você não saiba.
O XML não foi inventando com o intúito de servir como arquivo de configuração. Já lí um artigo uma vez de uma pessoa fazendo uma enorme crítica a isso, e eu concordo até certo ponto. Arquivos .ini são do Windows certo? Então isso está fora de questão, pois aplicações Web não vão usar .ini ou um padrão fechado da Microsoft. Pode-se usar um arquivo properties, que tal? Igual o hibernate já usa. O problema é que você não consegue tanta representatividade em um arquivo properties (somente um par chave-valor).

Quanto a representação de dados (o que o XML deve fazer) eu não concordo com o que você disse. Mesmo essa overhead compensa a integração entre diversos sistemas.

Ai podem falar "mas o usado para armazenar configurações tbm representa uma certa classe de dados". Eu concordo, mas mesmo assim foge do propósito de estruturar dados que podem ser intercambiados.

Esse preconceito com XML, eu acho, que é grande devido ao fato de quase todos os frameworks em Java utilizarem XML para serem configurados e isso realmente é um saco. Eu não creio que esse padrão seja abolido...

O JSON é utilizado dentro do contexto do Javascript como uma notação para representar objetos e que fique livre dos parsers XML.

This message was edited 1 time. Last update was at 20/05/2008 09:05:10


Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

davidbuzatto wrote:
Bem, alguns detalhes que talvez você não saiba.
O XML não foi inventando com o intúito de servir como arquivo de configuração. Já lí um artigo uma vez de uma pessoa fazendo uma enorme crítica a isso, e eu concordo até certo ponto. Arquivos .ini são do Windows certo? Então isso está fora de questão, pois aplicações Web não vão usar .ini ou um padrão fechado da Microsoft. Pode-se usar um arquivo properties, que tal? Igual o hibernate já usa.


Exatamente, não foi inventado para tal uso, mas é usado. Esse é o problema que estou falando. E sobre .ini, proprietário? Eles são um arquivo texto de propriedades. Estava me referindo ao esquema de organização interna, o mesmo de um arquivo de properties.

ASN.1 já era um formato padronizado usado para serialização de dados uma década antes do XML, agora tem também esse JSON, YAML.

Se XML fosse usado somente como descritor de documentos, ótimo, esse é o trabalho dele, agora para também fazer integração entre deus e o mundo, basta que dois ou mais sistemas sigam o mesmo esquema de validação e interpretação. Se é XML ou não, não é o ponto, dá pra fazer com qqr coisa.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
cgasparetto
What is classpath?

Membro desde: 19/03/2008 16:49:54
Mensagens: 9
Offline

Esse preconceito com XML, eu acho, que é grande devido ao fato de quase todos os frameworks em Java utilizarem XML para serem configurados e isso realmente é um saco. Eu não creio que esse padrão seja abolido...


Discordo apenas do final... o padrão XML está sendo minimizado com o uso de annotations. Numa rápida comparação, acho o Hibernate 3, bem melhor de usar que o 2, justamente pela substituição do XML por anotações. Acho que esse uso em larga escala de xml deve entrar em desuso, mas concordo que o padrão não será 100% abandonado, afinal ele se encaixa perfeitamente no uso de WebServices e também como arquivos de configuração mais genéricos (como web.xml, hibernate.cfg.xml, etc...).

This message was edited 1 time. Last update was at 20/05/2008 10:02:46

Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

nbluis wrote:Tipo, como você representaria uma lista em um arquivo .ini ?


Eu não representaria. Para isso existem tipos de dados mais adequados, alguns melhores que o XML, JSON é um.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
Emerson Macedo
Virtual Machine Man
[Avatar]

Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline

JSON é apenas um formato de mensagem, assim como XML, binário, Plain Text, ou qualquer outra coisa que você quiser.

Pelo fato do JSON ser o formato dos objetos JavaScript, é uma grande vantagem utiliza-lo quando você precisa fazer uma comunicação Browser <-> Servidor, pois com um simples eval você transforma a mensagem JSON recebida do servidor num objeto para trabalhar.

Outro detalhe importante é o tráfego de rede. As mensagens JSON são bem menores que as mensagens XML e você pode tirar proveito disso de acordo com sua necessidade.

This message was edited 1 time. Last update was at 20/05/2008 10:34:51


Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com

"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Pedrosa
JWizard
[Avatar]

Membro desde: 13/07/2005 13:08:08
Mensagens: 2505
Localização: São Paulo - Brasil
Offline

Com JSON você ganha integração mais facil nativamente com Javascript, além de tornar sua aplicação mais rápida pelo formato trazer um resultado menor do que xml, e usado com frameworks adequados como o prototype e o jquery sua produtividade vai lá em cima, não é toa que alguns players como o google adotam essa tecnologia.


Prototype
http://www.prototypejs.org/learn/json

jQuery
http://jquery.com/


This message was edited 1 time. Last update was at 20/05/2008 10:59:25

Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Não estão reinventando a roda, só estão trocando a roda de Big Foot que colocaram no fusquinha por uma roda normal.

This message was edited 1 time. Last update was at 20/05/2008 11:05:14


A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

Concordo com o David e com o Emerson.

O XML foi inventado a partir do complicadíssimo SGML com o intuito de estruturar os dados de forma mais simples. A especificação 1.0 saiu em fevereiro de 1998. De lá até hoje centenas de livros foram escritos, milhares de aplicações usam XML de diversas modos diferentes e este tópico me impressiona como ainda se pode discutir para que serve XML.

As tecnologias evoluem. Hoje há modos mais simples de fazer algumas coisas que se faziam com XML e o JSON é uma destas tentativas. Mas é preciso ter em mente que antes de existir XML, o que se usava era muito pior do que XML. As sigla CSV e INI são bons exemplos do que havia antes.

Em todas as linguagens que conheço há meios fáceis de tratar XML mas em quase nenhuma há meios padronizados de tratar arquivos .INI ou mesmo CSV de forma simples.

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
pedro.cavalero
Entusiasta Java

Membro desde: 10/04/2007 11:30:37
Mensagens: 20
Localização: São José dos Campos
Offline

Eu só fico preocupado com o fato de: se uma coisa é padrão, deve ser usado indiscriminadamente. Se é padrão, utilize onde for interessante. Web Services? Interessante. Comunicação servidor - browser? JSON é melhor, mais fácil, mais rápido. Tem muitos padrões que já mudaram e viraram anti-patterns q há poucos anos eram indicados indiscriminadamente (Entity Beans?).
A propósito, de vez em quando é bom reinventar a roda. Faz a gente abrir a mente pra coisas novas...
Abraços!

==========================
José Pedro Bastos Cavaléro Filho
Blog: http://pedrocavalero.com
Twitter: http://twitter.pedrocavalero.com
==========================
[WWW]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team