Zitat von makki
Beitrag anzeigen
Pro XML:
- Syntax und Inhalt ist sauber getrennt - d.h. als Daten-Nutzer muss ich mir keinerlei Gedanken über falsch / kaputt formatierte Config-Daten machen.
- Der (Power-)Anwender kann per XSD seine Syntax überprüfen.
- Ein guter XML-Editor (ich kenne auch keinen, da ich noch nicht gesucht habe) könnte auf Basis der XSD eine ganz komfortable Editiermöglichkeit bieten.
- Man kann ganz leicht Tools bauen, die die XML modifizieren - z.B. für einen Massenimport, da so Themen wie XPath etabliert sind.
(Mit XSLT gibt's sogar eine eigene Programmiersprache dafür - aber leider dürfte die für viele als Frakshow durchgehen, da die wirklich intelligenten Konzepte dahinter ganz anders als klassische Programmiersprachen sind. Genau so geht das geniale Paradigma der funktionalen Programmierung oft als Freakshow durch - auch ich hatte bei den Informatik-Vorlesungs-Hausaufgaben geflucht - aber das ist ein anderes Thema...
Freunde klassischer Programmierung dürfen die mächtigen XML-Erweiterungen nutzen, die jede vernünftige Programmiersprache inzwischen bietet. PERL, Python, PHP, ...) - Wir nutzen den simplen Subset von XML der genau so wie HTML aussieht - was inzwischen auch Hinz und Kunz können (so Scherze wie Namespaces sind da ja draußen, auch wenn ich bei der Status-Bar schon mal versucht war HTML als Subset einzubinden...)
Contra XML:
- XML ist nicht als von Menschen zu editierendes Format gedacht, sondern als Austauschformat für strukturierte Informationen - die von Menschen lesbar sein sollen (also eigentlich genau das, was wir hier brauchen...)
- Es gibt keinen (mir bekannten) guten, freien XML Editor
Pro JSON:
- Simpel, schnell und von JavaScript gut unterstützt
- Leicht editierbar (s.u.)
Contra JSON:
- Schwer editierbar (s.o.) - da keine starres Format existiert, an dem man sich entlang hangeln kann.
(Das ist wie mit Formularen: wenn's eins gibt, schimpft jeder, dass man da seine Infos irgendwie reinpressen muss - aber wenn's keines gibt und man als Freitext das ganze machen soll ist's noch schlimmer, da man nicht weiß, was man wie schreiben soll und Angst hat die Hälfte zu vergessen...) - Für die Anwendung ist's eine ganz gefährliche Sache - denn der Anwender kann beliebigen Müll reinschreiben das vom Format überhaupt nicht zu den erwarteten Daten passt (auch wenn's valides JSON ist).
Hier muss man dringend ein sauberes Parsen des JSON-Objektes (also der Datenstrukturen im RAM) durchführen mit entsprechenden Fehlermeldungen. (Ein ekeliger Job...)
In Summe finde ich die Entscheidung eine Config-Datei als XML zu machen immernoch richtig. Einen Flame-War würde ich diesbezüglich jedoch nicht anzetteln, mit JSON könnte ich auch leben.



20-30ms statt 500-2000 auf lausiger HW (also keine Core i5-7) finde ich schon als "bringt was" 

)
Einen Kommentar schreiben: