2012-12-25 14 views
190

Chciałbym wiedzieć zasadność & de-zaletyprotokołu Google bufory vs json vs XML

  • Google buforów protokołów
  • JSON
  • XML

Chcę zaimplementować jedną wspólne ramy dla dwóch aplikacji, jedna w Perlu i druga w Javie. Tak więc chcielibyśmy stworzyć wspólną usługę, która może być używana przez obie technologie, tj. Perl & Java.

Obie są aplikacjami internetowymi.

Proszę, podzielcie się z nami swoimi cennymi przemyśleniami & sugestią na ten temat. Widziałem wiele linków w google, ale wszystkie mają mieszane opinie.

+9

I myślisz, że prawdopodobnie będzie tu konsensus? – Barmar

+0

JSON vs XML: http://stackoverflow.com/questions/4862310/json-and-xml-comparison –

+1

Wielkie dzięki. Ale chciałbym wiedzieć więcej buforów protokołów vs JSON. –

Odpowiedz

227

Json

  • czytelnej/edytować
  • mogą być przetwarzane bez znajomości schematu z góry
  • doskonałe wsparcie
  • mniej gadatliwe niż XML przeglądarki

XML

  • czytelnej/edytować
  • mogą być przetwarzane bez znajomości schematu z góry
  • standardem SOAP itp
  • dobre wsparcie oprzyrządowanie (XSD, XSLT, sax, Dom, etc)
  • dość rozwlekły

buforów

  • bardzo gęste danych (mała produkcja)
  • trudno solidnie rozszyfrować bez znajomości schematu (format danych jest wewnętrznie wieloznaczne i potrzebuje schemat wyjaśnienia)
  • bardzo szybkie przetwarzanie
  • nieprzeznaczonych dla ludzkich oczu (gęsty binarny)

Wszystkie mają dobre wsparcie na większości platform.

Osobiście rzadko korzystam z XML w dzisiejszych czasach. Jeśli konsument jest przeglądarką lub publicznym interfejsem API, używam json. Dla wewnętrznych API używam protobuf do wydajności. Oferowanie zarówno w publicznym interfejsie API (za pośrednictwem nagłówków lub oddzielnych punktów końcowych) działa również dobrze.

+5

XML jest więcej pracy do odkodowania, ale walidacja może być główną zaletą w stosunku do JSON. Sprawdzanie poprawności kodu XML za pomocą schematu przed przetworzeniem transakcji płatniczej zapewnia dodatkową warstwę niezawodności. –

+0

Trudno jest uzyskać porównywalnie szybką wydajność z JSON do Protobuf? –

+7

XML umożliwia również styl narracyjny, w którym tekst jest wyświetlany naprzemiennie z tagami wtrętów, takich jak " To jest styl narracyjny . Tagi mogą się pojawić w środku tekstu '. Jest to unikalna cecha XML w porównaniu z JSON i buforami protokołów. – Paul